41.4. Système de règles de PostgreSQL
PostgreSQL™ supporte un
puissant système de règles pour la
spécification des vues et des
mises à jour de vues ambiguës. À
l'origine, le système de règles de PostgreSQL™ consistait en deux
implémentations :
-
Le premier a fonctionné en utilisant le niveau des lignes et était implémenté
profondément dans l'exécuteur.
Le système de règles était appelé à chaque fois qu'il
fallait accéder à une ligne individuelle. Cette
implémentation a été supprimée en 1995 quand la dernière
version officielle du projet Berkeley Postgres™ a été transformé
en Postgres95™.
-
La deuxième implémentation du système de règles est une
technique appelée la réécriture de
requêtes. Le système de
réécriture est un module qui existe entre
l'étape d'analyse et le
planificateur/optimiseur.
Cette technique est toujours implémentée.
Le système de réécriture de requêtes est vu plus en détails
dans le Chapitre 34,
Système de règles, donc il n'est pas nécessaire d'en parler
ici. Nous indiquerons seulement qu'à la fois l'entrée et la
sortie du système sont des arbres de requêtes, c'est-à-dire
qu'il n'y a pas de changement dans la représentation ou le
niveau du détail sémantique des arbres. La réécriture peut être
imaginée comme une forme d'expansion de macro.