mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-08 20:59:23 +02:00
Instead of playing cute games with pathkeys, just build a direct representation of the intended sub-select, and feed it through query_planner to get a Path for the index access. This is a bit slower than 9.1's previous method, since we'll duplicate most of the overhead of query_planner; but since the whole optimization only applies to rather simple single-table queries, that probably won't be much of a problem in practice. The advantage is that we get to do the right thing when there's a partial index that needs the implicit IS NOT NULL clause to be usable. Also, although this makes planagg.c be a bit more closely tied to the ordering of operations in grouping_planner, we can get rid of some coupling to lower-level parts of the planner. Per complaint from Marti Raudsepp. |
||
---|---|---|
.. | ||
bitmapset.h | ||
execnodes.h | ||
makefuncs.h | ||
memnodes.h | ||
nodeFuncs.h | ||
nodes.h | ||
params.h | ||
parsenodes.h | ||
pg_list.h | ||
plannodes.h | ||
primnodes.h | ||
print.h | ||
readfuncs.h | ||
relation.h | ||
tidbitmap.h | ||
value.h |