mirror of
https://github.com/postgres/postgres.git
synced 2025-11-28 11:44:57 +03:00
Tweak selectivity and related routines to cope with domains. Per report
from Andreas Pflug.
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.124 2002/11/01 19:33:09 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.124.2.1 2003/03/23 01:49:13 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1848,7 +1848,7 @@ expand_indexqual_conditions(List *indexquals)
|
||||
* Given a fixed prefix that all the "leftop" values must have,
|
||||
* generate suitable indexqual condition(s). expr_op is the original
|
||||
* LIKE or regex operator; we use it to deduce the appropriate comparison
|
||||
* operators.
|
||||
* operators and operand datatypes.
|
||||
*/
|
||||
static List *
|
||||
prefix_quals(Var *leftop, Oid expr_op,
|
||||
@@ -1904,10 +1904,13 @@ prefix_quals(Var *leftop, Oid expr_op,
|
||||
return NIL;
|
||||
}
|
||||
|
||||
if (prefix_const->consttype != BYTEAOID)
|
||||
prefix = DatumGetCString(DirectFunctionCall1(textout, prefix_const->constvalue));
|
||||
/* Prefix constant is text for all except BYTEA_LIKE */
|
||||
if (datatype != BYTEAOID)
|
||||
prefix = DatumGetCString(DirectFunctionCall1(textout,
|
||||
prefix_const->constvalue));
|
||||
else
|
||||
prefix = DatumGetCString(DirectFunctionCall1(byteaout, prefix_const->constvalue));
|
||||
prefix = DatumGetCString(DirectFunctionCall1(byteaout,
|
||||
prefix_const->constvalue));
|
||||
|
||||
/*
|
||||
* If we found an exact-match pattern, generate an "=" indexqual.
|
||||
|
||||
Reference in New Issue
Block a user