Documentação do PostgreSQL 8.0.0 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 41. Visão geral da estrutura interna do PostgreSQL | Fim | Próxima |
O PostgreSQL dá suporte a um poderoso sistema de regras para a especificação de visões e atualizações de visões ambíguas. Originalmente o sistema de regras do PostgreSQL consistia de duas implementações:
A primeira implementação trabalhava utilizando o processamento no nível de linha, e era implementada no executor. O sistema de regras era chamado sempre que uma linha era acessada. Esta implementação foi removida em 1995 quando a última versão oficial do projeto de Berkeley Postgres foi transformada no Postgres95.
A segunda implementação do sistema de regras era uma técnica chamada de reescrita de comando. O sistema de reescrita é um módulo que fica entre o estágio de análise e o planejador/otimizador. Esta técnica ainda é implementada.
O reescritor de regras está discutido em algum detalhe no Capítulo 33, portanto não é necessário discuti-lo novamente neste capítulo. Somente será destacado que tanto a entrada quanto a saída do reescritor são árvores de comando, ou seja, não existe alteração na representação ou no nível de detalhamento semântico nas árvores. A reescrita pode ser vista como uma expansão de macro.