Added Copy and Equal nodes -- although InsertDefault doesn't actually
have any contents.
Opted for method b as transformTargetList is used in a number of other
places which are unaffected. Making them work around the calling
conventions for a single place seemed silly.
Previously attached insert.out and insert.sql are the same.
--
Rod Taylor
Your eyes are weary from staring at the CRT. You feel sleepy. Notice
how restful it is to watch the cursor blink. Close your eyes. The
opinions stated above are yours. You cannot imagine why you ever felt
otherwise.
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Rod Taylor" <rbt@zort.ca>
Cc: <pgsql-patches@postgresql.org>
Sent: Saturday, March 30, 2002 2:06 PM
Subject: Re: [PATCHES] Insert ... (a, b, DEFAULT, c, d);
> 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
>
> ---------------------------(end of
broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>