From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | Luc Vlaming <luc(at)swarm64(dot)com> |
Cc: | Simon Riggs <simon(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Subject: | Re: should INSERT SELECT use a BulkInsertState? |
Date: | 2020-12-02 16:53:51 |
Message-ID: | 20201202165351.GG24052@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
One loose end in this patch is how to check for volatile default expressions.
copyfrom.c is a utility statement, so it can look at the parser's column list:
COPY table(c1,c2)...
However, for INSERT, in nodeModifyTable.c, it looks like parsing, rewriting,
and planning are done, at which point I don't know if there's a good way to
find that. The default expressions will have been rewritten into the planned
statement.
We need the list of columns whose default is volatile, excluding columns for
which a non-default value is specified.
INSERT INTO table (c1,c2) VALUES (1,default);
We'd want the list of any column in the table with a volatile default,
excluding columns c1, but not-excluding explicit default columns c2 or any
implicit default columns (c3, etc).
Any idea ?
--
Justin
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2020-12-02 17:58:36 | Re: SELECT INTO deprecation |
Previous Message | Tom Lane | 2020-12-02 16:52:54 | Re: [HACKERS] [PATCH] Generic type subscripting |