git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 2b7334d) | patch
Refactor planner's pathkeys data structure to create a separate, explicit
2007年1月20日 20:45:41 +0000 (20:45 +0000)
2007年1月20日 20:45:41 +0000 (20:45 +0000)
commit f41803bb39bc2949db200116a609fd242d0ec221
Refactor planner's pathkeys data structure to create a separate, explicit
representation of equivalence classes of variables. This is an extensive
rewrite, but it brings a number of benefits:
* planner no longer fails in the presence of "incomplete" operator families
that don't offer operators for every possible combination of datatypes.
* avoid generating and then discarding redundant equality clauses.
* remove bogus assumption that derived equalities always use operators
named "=".
* mergejoins can work with a variety of sort orders (e.g., descending) now,
instead of tying each mergejoinable operator to exactly one sort order.
* better recognition of redundant sort columns.
* can make use of equalities appearing underneath an outer join.
35 files changed:
doc/src/sgml/xoper.sgml diff | blob | blame | history
src/backend/nodes/copyfuncs.c diff | blob | blame | history
src/backend/nodes/equalfuncs.c diff | blob | blame | history
src/backend/nodes/outfuncs.c diff | blob | blame | history
src/backend/nodes/print.c diff | blob | blame | history
src/backend/optimizer/README diff | blob | blame | history
src/backend/optimizer/path/Makefile diff | blob | blame | history
src/backend/optimizer/path/allpaths.c diff | blob | blame | history
src/backend/optimizer/path/costsize.c diff | blob | blame | history
src/backend/optimizer/path/equivclass.c [new file with mode: 0644] blob
src/backend/optimizer/path/indxpath.c diff | blob | blame | history
src/backend/optimizer/path/joinpath.c diff | blob | blame | history
src/backend/optimizer/path/joinrels.c diff | blob | blame | history
src/backend/optimizer/path/pathkeys.c diff | blob | blame | history
src/backend/optimizer/plan/createplan.c diff | blob | blame | history
src/backend/optimizer/plan/initsplan.c diff | blob | blame | history
src/backend/optimizer/plan/planmain.c diff | blob | blame | history
src/backend/optimizer/plan/planner.c diff | blob | blame | history
src/backend/optimizer/prep/prepjointree.c diff | blob | blame | history
src/backend/optimizer/prep/prepunion.c diff | blob | blame | history
src/backend/optimizer/util/joininfo.c diff | blob | blame | history
src/backend/optimizer/util/pathnode.c diff | blob | blame | history
src/backend/optimizer/util/relnode.c diff | blob | blame | history
src/backend/optimizer/util/restrictinfo.c diff | blob | blame | history
src/backend/parser/parse_agg.c diff | blob | blame | history
src/backend/utils/adt/selfuncs.c diff | blob | blame | history
src/backend/utils/cache/lsyscache.c diff | blob | blame | history
src/include/nodes/nodes.h diff | blob | blame | history
src/include/nodes/relation.h diff | blob | blame | history
src/include/optimizer/joininfo.h diff | blob | blame | history
src/include/optimizer/pathnode.h diff | blob | blame | history
src/include/optimizer/paths.h diff | blob | blame | history
src/include/optimizer/planmain.h diff | blob | blame | history
src/include/optimizer/restrictinfo.h diff | blob | blame | history
src/include/utils/lsyscache.h diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /