Re: Insert ... (a, b, DEFAULT, c, d); - Mailing list pgsql-patches

From Tom Lane
Subject Re: Insert ... (a, b, DEFAULT, c, d);
Date
Msg-id 2588.1017515184@sss.pgh.pa.us
Whole thread Raw
In response to Insert ... (a, b, DEFAULT, c, d);  (Rod Taylor <rbt@zort.ca>)
List pgsql-patches
Rod Taylor <rbt@zort.ca> writes:
> Adds inserts with defaults.

A few gripes about this ---

* You can't simply invent a node type without creating any support code
for it.  See backend/nodes/.  copyfuncs and equalfuncs are *required*
functionality; infuncs/outfuncs are somewhat more negotiable.  For a
node type that never gets past parse analysis it's okay to omit infuncs,
and you can get away with omitting outfuncs too.

* I find it really ugly (not to say fragile) to overload resjunk with
this meaning.  The best solution would be to restructure the calling
conventions for transformTargetList to fix the problem of not being able
to access all the lists that need to be updated.  Failing that, my
inclination would be to pass back the unaltered InsertDefault node
(instead of a Resdom) as part of transformTargetList's result list; then
an IsA test in transformInsertStmt would work to detect which entries
are real.

            regards, tom lane

pgsql-patches by date:

Previous
From: Rod Taylor
Date:
Subject: Insert ... (a, b, DEFAULT, c, d);
Next
From: Tom Lane
Date:
Subject: Re: ALT*R T*BL* S*T / DR*P N*T N*LL patch - 4th try