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  (Thom Brown <thom@linux.com>)
Re: creating CHECK constraints as NOT VALID  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: panam
Дата:
Сообщение: Re: [PERFORM] Hash Anti Join performance degradation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgpool versus sequences