pgsql: Add support for multi-row VALUES clauses as part of INSERT

From: joe(at)postgresql(dot)org (Joe Conway)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add support for multi-row VALUES clauses as part of INSERT
Date: 2006-08-02 01:59:48
Message-ID: 20060802015948.55E539FB208@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Add support for multi-row VALUES clauses as part of INSERT statements
(e.g. "INSERT ... VALUES (...), (...), ...") and elsewhere as allowed
by the spec. (e.g. similar to a FROM clause subselect). initdb required.
Joe Conway and Tom Lane.

Modified Files:
--------------
pgsql/src/backend/catalog:
heap.c (r1.311 -> r1.312)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.311&r2=1.312)
pgsql/src/backend/commands:
explain.c (r1.149 -> r1.150)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.149&r2=1.150)
pgsql/src/backend/executor:
Makefile (r1.23 -> r1.24)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/Makefile.diff?r1=1.23&r2=1.24)
execAmi.c (r1.88 -> r1.89)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execAmi.c.diff?r1=1.88&r2=1.89)
execProcnode.c (r1.57 -> r1.58)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execProcnode.c.diff?r1=1.57&r2=1.58)
pgsql/src/backend/nodes:
copyfuncs.c (r1.344 -> r1.345)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.344&r2=1.345)
equalfuncs.c (r1.278 -> r1.279)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.278&r2=1.279)
outfuncs.c (r1.279 -> r1.280)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.279&r2=1.280)
print.c (r1.80 -> r1.81)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/print.c.diff?r1=1.80&r2=1.81)
readfuncs.c (r1.192 -> r1.193)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c.diff?r1=1.192&r2=1.193)
pgsql/src/backend/optimizer/path:
allpaths.c (r1.149 -> r1.150)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.149&r2=1.150)
costsize.c (r1.164 -> r1.165)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.164&r2=1.165)
pgsql/src/backend/optimizer/plan:
createplan.c (r1.215 -> r1.216)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.215&r2=1.216)
planner.c (r1.205 -> r1.206)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c.diff?r1=1.205&r2=1.206)
setrefs.c (r1.122 -> r1.123)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.122&r2=1.123)
subselect.c (r1.110 -> r1.111)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c.diff?r1=1.110&r2=1.111)
pgsql/src/backend/optimizer/util:
clauses.c (r1.215 -> r1.216)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.215&r2=1.216)
pathnode.c (r1.131 -> r1.132)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c.diff?r1=1.131&r2=1.132)
plancat.c (r1.122 -> r1.123)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.122&r2=1.123)
relnode.c (r1.80 -> r1.81)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.80&r2=1.81)
pgsql/src/backend/parser:
analyze.c (r1.340 -> r1.341)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c.diff?r1=1.340&r2=1.341)
gram.y (r2.553 -> r2.554)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.553&r2=2.554)
parse_expr.c (r1.195 -> r1.196)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.195&r2=1.196)
parse_node.c (r1.93 -> r1.94)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_node.c.diff?r1=1.93&r2=1.94)
parse_relation.c (r1.123 -> r1.124)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_relation.c.diff?r1=1.123&r2=1.124)
parse_target.c (r1.146 -> r1.147)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_target.c.diff?r1=1.146&r2=1.147)
parse_type.c (r1.82 -> r1.83)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_type.c.diff?r1=1.82&r2=1.83)
pgsql/src/backend/rewrite:
rewriteHandler.c (r1.164 -> r1.165)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteHandler.c.diff?r1=1.164&r2=1.165)
pgsql/src/backend/utils/adt:
ruleutils.c (r1.229 -> r1.230)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.229&r2=1.230)
pgsql/src/include/catalog:
catversion.h (r1.345 -> r1.346)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.345&r2=1.346)
pgsql/src/include/nodes:
execnodes.h (r1.155 -> r1.156)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.155&r2=1.156)
nodes.h (r1.186 -> r1.187)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h.diff?r1=1.186&r2=1.187)
parsenodes.h (r1.319 -> r1.320)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h.diff?r1=1.319&r2=1.320)
plannodes.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h.diff?r1=1.84&r2=1.85)
pgsql/src/include/optimizer:
cost.h (r1.78 -> r1.79)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/cost.h.diff?r1=1.78&r2=1.79)
pathnode.h (r1.70 -> r1.71)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h.diff?r1=1.70&r2=1.71)
pgsql/src/include/parser:
parse_relation.h (r1.53 -> r1.54)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_relation.h.diff?r1=1.53&r2=1.54)
parse_target.h (r1.40 -> r1.41)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_target.h.diff?r1=1.40&r2=1.41)

Added Files:
-----------
pgsql/src/backend/executor:
nodeValuesscan.c (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeValuesscan.c?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/include/executor:
nodeValuesscan.h (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeValuesscan.h?rev=1.1&content-type=text/x-cvsweb-markup)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2006-08-02 03:11:55 pgsql: Done: o -Allow INSERT INTO tab (col1, ..) VALUES (val1,
Previous Message Bruce Momjian 2006-08-01 21:05:00 pgsql: Fix bug I introduced while cleaning up pg_dump -t/-n patch.