Extend CTE patch to support recursive UNION (ie, without ALL). The
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Oct 2008 19:27:04 +0000 (19:27 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Oct 2008 19:27:04 +0000 (19:27 +0000)
commit773c1a6f64e4b6bf808f8442ad7ae6109c557170
tree13d394d892a5bb77ee7781d6a29356215277ecfc
parent2cc5fd481c8a4993f86ec29f4ef4ce52dc07f8be
Extend CTE patch to support recursive UNION (ie, without ALL).  The
implementation uses an in-memory hash table, so it will poop out for very
large recursive results ... but the performance characteristics of a
sort-based implementation would be pretty unpleasant too.
13 files changed:
doc/src/sgml/queries.sgml
doc/src/sgml/ref/select.sgml
src/backend/executor/nodeRecursiveunion.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/prep/prepunion.c
src/backend/parser/parse_cte.c
src/include/nodes/execnodes.h
src/include/nodes/plannodes.h
src/include/optimizer/planmain.h
src/test/regress/expected/with.out
src/test/regress/sql/with.sql