Major planner/optimizer revision: get rid of PathOrder node type,

Tom Lane <tgl@sss.pgh.pa.us>

Commit: e6381966c1886badbc19c94ac1f1ffbc104125ab
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 1999-08-16T02:17:58Z
Releases: 7.1.1
Major planner/optimizer revision: get rid of PathOrder node type,
store all ordering information in pathkeys lists (which are now lists of
lists of PathKeyItem nodes, not just lists of lists of vars).  This was
a big win --- the code is smaller and IMHO more understandable than it
was, even though it handles more cases.  I believe the node changes will
not force an initdb for anyone; planner nodes don't show up in stored
rules.

Files

PathChange+/−
src/backend/nodes/copyfuncs.c modified +26 −192
src/backend/nodes/equalfuncs.c modified +35 −108
src/backend/nodes/freefuncs.c modified +23 −133
src/backend/nodes/list.c modified +26 −1
src/backend/nodes/nodes.c modified +2 −2
src/backend/nodes/outfuncs.c modified +22 −154
src/backend/nodes/print.c modified +4 −4
src/backend/nodes/readfuncs.c modified +29 −259
src/backend/optimizer/geqo/geqo_eval.c modified +1 −4
src/backend/optimizer/geqo/geqo_misc.c modified +8 −23
src/backend/optimizer/path/allpaths.c modified +5 −23
src/backend/optimizer/path/hashutils.c deleted +0 −118
src/backend/optimizer/path/indxpath.c modified +75 −54
src/backend/optimizer/path/joinpath.c modified +314 −278
src/backend/optimizer/path/joinrels.c modified +179 −160
src/backend/optimizer/path/Makefile modified +3 −3
src/backend/optimizer/path/mergeutils.c deleted +0 −131
src/backend/optimizer/path/orindxpath.c modified +6 −9
src/backend/optimizer/path/pathkeys.c modified +474 −264
src/backend/optimizer/path/prune.c modified +31 −27
src/backend/optimizer/plan/createplan.c modified +66 −139
src/backend/optimizer/plan/initsplan.c modified +82 −93
src/backend/optimizer/prep/prepunion.c modified +10 −15
src/backend/optimizer/README modified +96 −37
src/backend/optimizer/util/clauses.c modified +2 −39
src/backend/optimizer/util/indexnode.c modified +6 −7
src/backend/optimizer/util/joininfo.c modified +3 −37
src/backend/optimizer/util/keys.c deleted +0 −237
src/backend/optimizer/util/Makefile modified +2 −2
src/backend/optimizer/util/ordering.c deleted +0 −169
src/backend/optimizer/util/pathnode.c modified +98 −238
src/backend/optimizer/util/relnode.c modified +15 −24
src/include/nodes/nodes.h modified +18 −22
src/include/nodes/pg_list.h modified +20 −20
src/include/nodes/primnodes.h modified +15 −1
src/include/nodes/relation.h modified +177 −129
src/include/optimizer/clauses.h modified +1 −2
src/include/optimizer/joininfo.h modified +1 −2
src/include/optimizer/keys.h deleted +0 −23
src/include/optimizer/ordering.h deleted +0 −25
src/include/optimizer/pathnode.h modified +16 −12
src/include/optimizer/paths.h modified +21 −28
src/include/optimizer/tlist.h modified +4 −1