Here's an updated version of the patch.  There's now just one nextval()
function, taking regclass, and backwards compatibility is handled
through an implicit text-to-regclass cast.  Existing dumps will not see
any behavioral changes because nextval('foo') will be dumped as
nextval('foo'::text), but new entries of "nextval('foo')" will be
captured as regclass constants instead.

I noted that this version caused a couple more regression tests to fail;
for instance, the constraints test was expecting that it could drop and
recreate a sequence that was referenced by a default expression spelled
as "nextval('foo')".  So we are paying for improved ease of use by
taking a larger backwards-compatibility risk than the original patch
did.

Last call for objections ...

                        regards, tom lane

Attachment: binTLINvTHZEG.bin
Description: seq-regclass-2.patch.gz

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to