question regarding pg_database.h and DatabaseRelationId

Started by Gevik Babakhaniover 19 years ago3 messages
#1Gevik Babakhani
pgdev@xs4all.nl

Hello all,

Could someone explain the numbering logic in naming the relations? Why
#define DatabaseRelationId 1262.

I guess not being involved from the beginning has its disadvantages. but
it is very exiting and fun trying to learn the internals by gdb and
asking lots of questions :)

Regards,
Gevik.

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Gevik Babakhani (#1)
Re: question regarding pg_database.h and DatabaseRelationId

Gevik Babakhani wrote:

Could someone explain the numbering logic in naming the relations?

There is none. The numbers are presumably assigned in some
lowest-available manner, but over the years it has become pretty
random.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#3Martijn van Oosterhout
kleptog@svana.org
In reply to: Peter Eisentraut (#2)
Re: question regarding pg_database.h and DatabaseRelationId

On Tue, Apr 18, 2006 at 12:45:27AM +0200, Peter Eisentraut wrote:

Gevik Babakhani wrote:

Could someone explain the numbering logic in naming the relations?

There is none. The numbers are presumably assigned in some
lowest-available manner, but over the years it has become pretty
random.

In the src/include/catalog directory there are two scripts, unused_oids
and duplicate_oids. When you need a new oid you run the unused_oids and
pick one somewhere near the rows with similar meaning. The numbers are
so all over the place that you may as well consider them random...

--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/

Show quoted text

Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
tool for doing 5% of the work and then sitting around waiting for someone
else to do the other 95% so you can sue them.