Re: [HACKERS] How to implement an auto-increment column for a system catalog table?

2009-03-16 Thread Simon Riggs

On Mon, 2009-03-16 at 10:18 +0800, Xin Wang wrote:

 I am using Postgres to build the prototype in a research project. I need
 to create a new system catalog table with an auto-increment column. For
 a ordinary table, CREATE SEQUENCE or a serial type can be used to
 implement the auto-increment column, but it seems Postgres do not
 support creating a sequence or serial types in system catalogs. How to
 implement an auto-increment column for a catalog table?

Other catalog tables use a new oid for each new row/entry. Just do it in
the code for adding each new entry. Look at backend/catalog/heap.c
heap_create_with_catalog(), or something simpler like
backend/commands/dbcommands.c createdb().

-- 
 Simon Riggs   www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] How to implement an auto-increment column for a system catalog table?

2009-03-16 Thread Tom Lane
Simon Riggs si...@2ndquadrant.com writes:
 On Mon, 2009-03-16 at 10:18 +0800, Xin Wang wrote:
 I am using Postgres to build the prototype in a research project. I need
 to create a new system catalog table with an auto-increment column.

 Other catalog tables use a new oid for each new row/entry. Just do it in
 the code for adding each new entry. Look at backend/catalog/heap.c
 heap_create_with_catalog(), or something simpler like
 backend/commands/dbcommands.c createdb().

Note that in fact the bottom level heap_insert code will handle
assigning a new OID for you.  The only cases where calling code needs to
do that explicitly are when the OID has to be known before creation of
the new row for some reason (usually, circular OID references).

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] How to implement an auto-increment column for a system catalog table?

2009-03-15 Thread Xin Wang
Hi all,
I am using Postgres to build the prototype in a research project. I need
to create a new system catalog table with an auto-increment column. For
a ordinary table, CREATE SEQUENCE or a serial type can be used to
implement the auto-increment column, but it seems Postgres do not
support creating a sequence or serial types in system catalogs. How to
implement an auto-increment column for a catalog table?

Thanks in advance.

Wang

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers