Re: Table constraint ordering disrupted by pg_dump

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Table constraint ordering disrupted by pg_dump
Дата
Msg-id 3278.986312739@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Table constraint ordering disrupted by pg_dump  (pgsql-bugs@postgresql.org)
Список pgsql-bugs
Patricia Holben <pholben@greatbridge.com> writes:
> I have loaded this new version and re-tested but don't see it fixed.

It looks fixed to me.  Original SQL in constraints.sql:

CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
    y TEXT DEFAULT '-NULL-',
    z INT DEFAULT -1 * currval('insert_seq'),
    CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
    CHECK (x + z = 0));

As dumped by current-CVS pg_dump:

CREATE TABLE "insert_tbl" (
    "x" integer DEFAULT nextval('insert_seq'::text),
    "y" text DEFAULT '-NULL-',
    "z" integer DEFAULT (-1 * currval('insert_seq'::text)),
    CONSTRAINT "insert_con" CHECK ((((x >= 3) AND (y <> 'check failed'::text)) AND (x < 8))),
    CHECK (((x + z) = 0))
);

> I do have a separate routine which I am running - it isn't complete which
> is why I haven't shared it yet - which proves that when the dump is
> reloaded the constraints are not applied in the original order.

I notice that the backend tends to apply the constraints in the reverse
order of declaration, but this should be consistent between the original
database and the dumped/reloaded one.

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Darcy Buskermolen
Дата:
Сообщение: Re: PostgreSQL 7.0.2 Date Miscalculation
Следующее
От: Thomas Lockhart
Дата:
Сообщение: Re: PostgreSQL 7.0.2 Date Miscalculation