49.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 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 39,
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.