On Fri, Nov 4, 2011 at 15:29, Stephen Frost <sfrost@snowman.net> wrote:
> * Magnus Hagander (magnus@hagander.net) wrote:
>> If there is noone owning it at all, it just falls through the if/else
>> block and ignores it if that happens (PQntuples() returns 0).
>
> Ah, right, but 'result' is still non-zero, ok.
Yes, that's a regular libpq result set...
>> Is there really a case for multiple sequences to own it? How would you
>> go about making that happen? ALTER SEQUENCE.. OWNED BY.. only takes
>> one table, afaics?
>
> I just noticed it was pulling from pg_depend and we could be creating
> multiple dependencies on a single sequence by having two tables use it
> as a default value. If that situation doesn't cause a problem for this,
> then that's fine. :) Couldn't remember if we distinguished 'owned by'
> from 'dependend upon' for seqeunces.
I tried that now to be sure, and to confirm, this is the scenario:
CREATE TABLE seqtest (a SERIAL PRIMARY KEY);
CREATE TABLE seqtest2 (a int NOT NULL DEFAULT
nextval('seqtest_a_seq'::regclass);
In this case, we end up with just one entry in pg_depend, which refers
to seqtest.a.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/