postgresql/src/backend/optimizer/path
Tom Lane 10f719af33 Change build_index_pathkeys() so that the expressions it builds to represent
index key columns always have the type expected by the index's associated
operators, ie, we add RelabelType nodes when dealing with binary-compatible
index opclasses.  This is needed to get varchar indexes to play nicely with
the new EquivalenceClass machinery, as per recent gripe from Josh Berkus that
CVS HEAD was failing to match a varchar index column to a constant restriction
in the query.

It seems likely that this change will allow removal of a lot of ugly ad-hoc
RelabelType-stripping that the planner has traditionally done while matching
expressions to other expressions, but I'll worry about that some other day.
2007-05-31 16:57:34 +00:00
..
Makefile Refactor planner's pathkeys data structure to create a separate, explicit 2007-01-20 20:45:41 +00:00
allpaths.c Repair two constraint-exclusion corner cases triggered by proving that an 2007-05-26 18:23:02 +00:00
clausesel.c Some further performance tweaks for planning large inheritance trees that 2007-04-21 21:01:45 +00:00
costsize.c Teach tuplestore.c to throw away data before the "mark" point when the caller 2007-05-21 17:57:35 +00:00
equivclass.c Put back planner's ability to cache the results of mergejoinscansel(), 2007-01-22 20:00:40 +00:00
indxpath.c Fix best_inner_indexscan to return both the cheapest-total-cost and 2007-05-22 01:40:33 +00:00
joinpath.c Fix best_inner_indexscan to return both the cheapest-total-cost and 2007-05-22 01:40:33 +00:00
joinrels.c Restructure code that is responsible for ensuring that clauseless joins are 2007-02-16 00:14:01 +00:00
orindxpath.c Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pathkeys.c Change build_index_pathkeys() so that the expressions it builds to represent 2007-05-31 16:57:34 +00:00
tidpath.c Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00