postgresql/src/include/optimizer
Tom Lane 29c4ad9829 Support "x IS NOT NULL" clauses as indexscan conditions. This turns out
to be just a minor extension of the previous patch that made "x IS NULL"
indexable, because we can treat the IS NOT NULL condition as if it were
"x < NULL" or "x > NULL" (depending on the index's NULLS FIRST/LAST option),
just like IS NULL is treated like "x = NULL".  Aside from any possible
usefulness in its own right, this is an important improvement for
index-optimized MAX/MIN aggregates: it is now reliably possible to get
a column's min or max value cheaply, even when there are a lot of nulls
cluttering the interesting end of the index.
2010-01-01 21:53:49 +00:00
..
clauses.h Support ORDER BY within aggregate function calls, at long last providing a 2009-12-15 17:57:48 +00:00
cost.h Improve planning of Materialize nodes inserted atop the inner input of a 2009-11-15 02:45:35 +00:00
geqo.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_copy.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_gene.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
geqo_misc.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
geqo_mutation.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_pool.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_random.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_recombination.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
geqo_selection.h Make GEQO's planning deterministic by having it start from a predictable 2009-07-16 20:55:44 +00:00
joininfo.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
pathnode.h Implement "join removal" for cases where the inner side of a left join 2009-09-17 20:49:29 +00:00
paths.h Eliminate a lot of list-management overhead within join_search_one_level 2009-11-28 00:46:19 +00:00
placeholder.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
plancat.h Make backend header files C++ safe 2009-07-16 06:33:46 +00:00
planmain.h Support "x IS NOT NULL" clauses as indexscan conditions. This turns out 2010-01-01 21:53:49 +00:00
planner.h Arrange for function default arguments to be processed properly in expressions 2009-01-09 15:46:11 +00:00
predtest.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
prep.h Re-implement EvalPlanQual processing to improve its performance and eliminate 2009-10-26 02:26:45 +00:00
restrictinfo.h Fix set_append_rel_pathlist() to deal intelligently with cases where 2009-07-06 18:26:30 +00:00
subselect.h Re-implement EvalPlanQual processing to improve its performance and eliminate 2009-10-26 02:26:45 +00:00
tlist.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
var.h Fix estimate_num_groups() to not fail on PlaceHolderVars, per report from 2009-04-19 19:46:33 +00:00