On Tue, Oct 25, 2022 at 7:54 AM jack...@gmail.com <jack...@gmail.com> wrote:

> /*
>  * In a "leaf" node representing a VALUES list, the above fields are all
>  * null, and instead this field is set.  Note that the elements of the
>  * sublists are just expressions, without ResTarget decoration. Also note
>  * that a list element can be DEFAULT (represented as a SetToDefault
>  * node), regardless of the context of the VALUES list. It's up to parse
>  * analysis to reject that where not valid.
>  */
> List    *valuesLists; /* untransformed list of expression lists */
>
> I need to understand what this is used for?
>

That's a fairly broad question...does this help?

In the SQL command:

VALUES ('one', 'two', 1+2, DEFAULT)

The valuesLists List will effectively contain three elements, {'one'},
{'two'}, {1+2}, and {DEFAULT}.

Though if it contains DEFAULT and the VALUES is not part of an INSERT an
error should eventually occur during parse analysis since a plain VALUES
command has no context from which to retrieve a default.

David J.

Reply via email to