pg_get_serial_sequence is inconsistent - Mailing list pgsql-hackers

From Tom Lane
Subject pg_get_serial_sequence is inconsistent
Date
Msg-id 28121.1098940366@sss.pgh.pa.us
Whole thread Raw
Responses Re: pg_get_serial_sequence is inconsistent
List pgsql-hackers
pg_get_serial_sequence() does dequoting/downcasing on its relation-name
argument, but not on its column-name argument.

regression=# create table "FOO" ("Ff1" serial);
NOTICE:  CREATE TABLE will create implicit sequence "FOO_Ff1_seq" for serial column "FOO.Ff1"
CREATE TABLE
regression=# select pg_get_serial_sequence('FOO','Ff1');
ERROR:  column "Ff1" of relation "foo" does not exist
regression=# select pg_get_serial_sequence('"FOO"','Ff1');pg_get_serial_sequence 
------------------------public."FOO_Ff1_seq"
(1 row)

regression=# select pg_get_serial_sequence('"FOO"','"Ff1"');
ERROR:  column ""Ff1"" of relation "FOO" does not exist
regression=# 

This seems pretty inconsistent.  I was expecting to find that it broke
pg_dump, as well, but it looks like pg_dump is expecting exactly
this behavior.

Should we change it?  We need the quote-aware behavior for the relation
name (because that could be schema-qualified) so the choices seem to be
status quo or add dequoting/downcasing to the column name argument.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Shared dependencies
Next
From: Christopher Kings-Lynne
Date:
Subject: Re: pg_get_serial_sequence is inconsistent