postgresql/src/backend/optimizer/path
Tom Lane bf0b6ac43c Skip opfamily check in eclass_matches_any_index() when the index isn't a
btree.  We can't easily tell whether clauses generated from the equivalence
class could be used with such an index, so just assume that they might be.
This bit of over-optimization prevented use of non-btree indexes for nestloop
inner indexscans, in any case where the join uses an equality operator that
is also a btree operator --- which in particular is typically true for hash
indexes.  Noted while trying to test the current hash index patch.
2008-09-12 14:56:13 +00:00
..
allpaths.c Move exprType(), exprTypmod(), expression_tree_walker(), and related routines 2008-08-25 22:42:34 +00:00
clausesel.c Arrange to convert EXISTS subqueries that are equivalent to hashable IN 2008-08-22 00:16:04 +00:00
costsize.c Fix an oversight in the 8.2 patch that improved mergejoin performance by 2008-09-05 21:07:29 +00:00
equivclass.c Move exprType(), exprTypmod(), expression_tree_walker(), and related routines 2008-08-25 22:42:34 +00:00
indxpath.c Skip opfamily check in eclass_matches_any_index() when the index isn't a 2008-09-12 14:56:13 +00:00
joinpath.c Implement SEMI and ANTI joins in the planner and executor. (Semijoins replace 2008-08-14 18:48:00 +00:00
joinrels.c Add some defenses against constant-FALSE outer join conditions. Since 2008-08-17 19:40:11 +00:00
Makefile Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
orindxpath.c Implement SEMI and ANTI joins in the planner and executor. (Semijoins replace 2008-08-14 18:48:00 +00:00
pathkeys.c Move exprType(), exprTypmod(), expression_tree_walker(), and related routines 2008-08-25 22:42:34 +00:00
tidpath.c Move exprType(), exprTypmod(), expression_tree_walker(), and related routines 2008-08-25 22:42:34 +00:00