42.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™ était constitué de deux
implantations :
-
La première, qui fonctionnait au niveau
des lignes, était implantée 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
implantation a été supprimée en 1995 quand la dernière version
officielle du projet Berkeley
Postgres™ a été transformée en Postgres95™.
-
La deuxième implantation 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 implantée.
Le système de réécriture de requêtes est vu plus en détails dans le
Chapitre 35, Système
de règles. Il n'est donc pas nécessaire d'en parler ici. Il
convient simplement d'indiquer 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 de détail sémantique
des arbres. La réécriture peut être imaginée comme une forme
d'expansion de macro.