On June 11, 2004 05:51 am, Christopher Kings-Lynne wrote: > >>> 3. Or even create a pg_get_sequence() function: > >>> SELECT SETVAL(pg_get_sequence(schema.table, col), 17); > >> > >> Actually, this is the best solution :) > > OK, attached is a pg_get_serial_sequence(schema, table, column) function > . I have tested it with crazy names and it seems to be good. It works > like this: > > SELECT setval(pg_get_serial_sequence('public', 'mytable', 'mycol'), 1, > false);
I'd be inclined to make it only take 2 args, table, col where table can be namespace qualified. This allows people who arn't namespace aware to just do SELECT pg_get_serial_sequence('mytable','mycol') and have it return the correct item following searchpath.. I would think this would then become consistant with the standard behavior. Not to mention it would also allow for easier moving schema form one namespace to another.. > > If someone approves it, i'll work on making it a built-in backend > function, and make pg_dump use it. > > This will also be great for our app, since we would no longer have to > have hard-coded sequence names in our code. (For getting last sequence > val on oid-less tables) > > Chris -- Darcy Buskermolen Wavefire Technologies Corp. ph: 250.717.0200 fx: 250.763.1759 http://www.wavefire.com ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings