pgsql: Fix all known problems with pg_dump's handling of serial

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Fix all known problems with pg_dump's handling of serial
Дата
Msg-id 20060821005726.B09F49FB1F1@postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Fix all known problems with pg_dump's handling of serial sequences
by abandoning the idea that it should say SERIAL in the dump.  Instead,
dump serial sequences and column defaults just like regular ones.
Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate
the sequence-to-column dependency that was formerly created "behind the
scenes" by SERIAL.  This restores SERIAL to being truly "just a macro"
consisting of component operations that can be stated explicitly in SQL.
Furthermore, the new command allows sequence ownership to be reassigned,
so that old mistakes can be cleaned up.

Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there
is no longer any very compelling argument why the sequence couldn't be
dropped while keeping the column.  (This forces initdb, to be sure the
right kinds of dependencies are in there.)

Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an
owned sequence; you can now only do this indirectly by changing the
owning table's owner or schema.  This is an oversight in previous
releases, but probably not worth back-patching.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        datatype.sgml (r1.169 -> r1.170)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/datatype.sgml.diff?r1=1.169&r2=1.170)
        func.sgml (r1.330 -> r1.331)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml.diff?r1=1.330&r2=1.331)
    pgsql/doc/src/sgml/ref:
        alter_sequence.sgml (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/alter_sequence.sgml.diff?r1=1.13&r2=1.14)
        alter_table.sgml (r1.88 -> r1.89)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/alter_table.sgml.diff?r1=1.88&r2=1.89)
        create_sequence.sgml (r1.43 -> r1.44)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/create_sequence.sgml.diff?r1=1.43&r2=1.44)
        drop_sequence.sgml (r1.24 -> r1.25)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/drop_sequence.sgml.diff?r1=1.24&r2=1.25)
    pgsql/src/backend/catalog:
        pg_depend.c (r1.21 -> r1.22)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_depend.c.diff?r1=1.21&r2=1.22)
        pg_shdepend.c (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_shdepend.c.diff?r1=1.13&r2=1.14)
    pgsql/src/backend/commands:
        sequence.c (r1.138 -> r1.139)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/sequence.c.diff?r1=1.138&r2=1.139)
        tablecmds.c (r1.199 -> r1.200)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.199&r2=1.200)
        view.c (r1.96 -> r1.97)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/view.c.diff?r1=1.96&r2=1.97)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.347 -> r1.348)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.347&r2=1.348)
        equalfuncs.c (r1.281 -> r1.282)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.281&r2=1.282)
        makefuncs.c (r1.50 -> r1.51)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/makefuncs.c.diff?r1=1.50&r2=1.51)
        outfuncs.c (r1.282 -> r1.283)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.282&r2=1.283)
    pgsql/src/backend/parser:
        analyze.c (r1.346 -> r1.347)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c.diff?r1=1.346&r2=1.347)
        gram.y (r2.556 -> r2.557)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.556&r2=2.557)
    pgsql/src/backend/utils/adt:
        ruleutils.c (r1.231 -> r1.232)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.231&r2=1.232)
    pgsql/src/bin/pg_dump:
        pg_dump.c (r1.446 -> r1.447)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c.diff?r1=1.446&r2=1.447)
        pg_dump.h (r1.128 -> r1.129)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.h.diff?r1=1.128&r2=1.129)
    pgsql/src/include/catalog:
        catversion.h (r1.351 -> r1.352)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.351&r2=1.352)
        dependency.h (r1.26 -> r1.27)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/dependency.h.diff?r1=1.26&r2=1.27)
    pgsql/src/include/nodes:
        makefuncs.h (r1.55 -> r1.56)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/makefuncs.h.diff?r1=1.55&r2=1.56)
        parsenodes.h (r1.323 -> r1.324)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h.diff?r1=1.323&r2=1.324)
    pgsql/src/test/regress/expected:
        alter_table.out (r1.96 -> r1.97)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/alter_table.out.diff?r1=1.96&r2=1.97)
        dependency.out (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/dependency.out.diff?r1=1.3&r2=1.4)
        namespace.out (r1.2 -> r1.3)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/namespace.out.diff?r1=1.2&r2=1.3)
        sequence.out (r1.8 -> r1.9)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/sequence.out.diff?r1=1.8&r2=1.9)
    pgsql/src/test/regress/sql:
        dependency.sql (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/dependency.sql.diff?r1=1.3&r2=1.4)

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

Предыдущее
От: alvherre@postgresql.org (Alvaro Herrera)
Дата:
Сообщение: pgsql: Fix DROP OWNED BY to correctly consider the implicitly-deleted
Следующее
От: markir@pgfoundry.org (User Markir)
Дата:
Сообщение: bizgres - bizgres: Adopt a more coherent layout for this file.