datatype.sgml misleading regclass example
PostgreSQL 7.4.5, 8.0.0beta3
The Object Identifier Types section of the PostgreSQL documentation
contains the following:
for example, one may write 'mytable'::regclass to get the OID
of table mytable, rather than SELECT oid FROM pg_class WHERE
relname = 'mytable'.
To get the OID, don't we then need to cast to the oid type?
test=> SELECT 'mytable'::regclass;
regclass
----------
mytable
(1 row)
test=> SELECT 'mytable'::regclass::oid;
oid
-------
26664
(1 row)
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
Michael Fuhr <mike@fuhr.org> writes:
for example, one may write 'mytable'::regclass to get the OID
of table mytable, rather than SELECT oid FROM pg_class WHERE
relname = 'mytable'.
To get the OID, don't we then need to cast to the oid type?
If you want to see it as a numeric value, yeah, but you can for example
compare it to an OID column without doing that.
SELECT attname FROM pg_attribute WHERE attrelid = 'mytable'::regclass;
Most of the time when I'm using a regxxx cast, it's because I *don't*
want to be bothered with the numeric value.
regards, tom lane