Re: creating CHECK constraints as NOT VALID
От | Alvaro Herrera |
---|---|
Тема | Re: creating CHECK constraints as NOT VALID |
Дата | |
Msg-id | 1306968328-sup-6164@alvh.no-ip.org обсуждение исходный текст |
Ответ на | Re: creating CHECK constraints as NOT VALID (Alvaro Herrera <alvherre@commandprompt.com>) |
Ответы |
Re: creating CHECK constraints as NOT VALID
Re: creating CHECK constraints as NOT VALID |
Список | pgsql-hackers |
Here's a complete patch with all this stuff, plus doc additions and simple regression tests for the new ALTER DOMAIN commands. Enable CHECK constraints to be declared NOT VALID This means that they can initially be added to a large existing table without checking its initial contents, but new tuples must comply to them; a separate pass invoked by ALTER TABLE / VALIDATE can verify existing data and ensure it complies with the constraint, at which point it is marked validated and becomes a normal part of the table ecosystem. This patch also enables domains to have unvalidated CHECK constraints attached to them as well by way of ALTER DOMAIN / ADD CONSTRAINT / NOT VALID, which can later be validated with ALTER DOMAIN / VALIDATE CONSTRAINT. This patch was sponsored by Enova Financial. doc/src/sgml/catalogs.sgml | 2 +- doc/src/sgml/ref/alter_domain.sgml | 39 +++++- doc/src/sgml/ref/alter_table.sgml | 4 +- src/backend/catalog/heap.c | 13 +- src/backend/commands/tablecmds.c | 227 ++++++++++++++++++++++++----- src/backend/commands/typecmds.c | 140 ++++++++++++++++-- src/backend/parser/gram.y | 22 +++ src/backend/tcop/utility.c | 4 + src/include/catalog/heap.h | 1 + src/include/commands/typecmds.h | 1 + src/include/nodes/parsenodes.h | 3 + src/test/regress/expected/alter_table.out | 36 +++++ src/test/regress/expected/domain.out | 11 ++ src/test/regress/sql/alter_table.sql | 29 ++++ src/test/regress/sql/domain.sql | 10 ++ 15 files changed, 480 insertions(+), 62 deletions(-) -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Вложения
В списке pgsql-hackers по дате отправления: