Revert thinko introduced into prefix_selectivity() by my recent patch:
authorTom Lane
Mon, 17 Mar 2008 17:13:54 +0000 (17:13 +0000)
committerTom Lane
Mon, 17 Mar 2008 17:13:54 +0000 (17:13 +0000)
make_greater_string needs the < procedure not the >= one.  Spotted by
Peter.

src/backend/utils/adt/selfuncs.c

index d3ea3c1054ed4f1e10596221fcb874e3c1cd091e..b6f1026375f884f1d21e6ce1e04b746080342054 100644 (file)
@@ -15,7 +15,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/selfuncs.c,v 1.245 2008/03/09 00:32:09 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/selfuncs.c,v 1.246 2008/03/17 17:13:54 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -4531,17 +4531,17 @@ prefix_selectivity(VariableStatData *vardata,
     *  "x < greaterstr".
     *-------
     */
+   cmpopr = get_opfamily_member(opfamily, vartype, vartype,
+                                BTLessStrategyNumber);
+   if (cmpopr == InvalidOid)
+       elog(ERROR, "no < operator for opfamily %u", opfamily);
+   fmgr_info(get_opcode(cmpopr), &opproc);
+
    greaterstrcon = make_greater_string(prefixcon, &opproc);
    if (greaterstrcon)
    {
        Selectivity topsel;
 
-       cmpopr = get_opfamily_member(opfamily, vartype, vartype,
-                                    BTLessStrategyNumber);
-       if (cmpopr == InvalidOid)
-           elog(ERROR, "no < operator for opfamily %u", opfamily);
-       fmgr_info(get_opcode(cmpopr), &opproc);
-
        topsel = ineq_histogram_selectivity(vardata, &opproc, false,
                                            greaterstrcon->constvalue,
                                            greaterstrcon->consttype);