Commit a3f1c367 authored by Vadim B. Mikheev's avatar Vadim B. Mikheev

Quite limited support for subselects in clausesel.c.

Get rid of #ifdef INDEXSCAN_PATCH in indxpath.c.
parent dc892fd3
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.4 1997/09/08 21:44:47 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.5 1998/02/13 03:29:36 vadim Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -273,12 +273,19 @@ compute_selec(Query *root, List *clauses, List *or_selectivities) ...@@ -273,12 +273,19 @@ compute_selec(Query *root, List *clauses, List *or_selectivities)
/* this isn't an Oper, it's a Func!! */ /* this isn't an Oper, it's a Func!! */
/* /*
* * This is not an operator, so we guess at the selectivity. * * This is not an operator, so we guess at the selectivity.
* THIS IS A HACK TO GET V4 OUT THE DOOR. FUNCS SHOULD BE * ABLE * THIS IS A HACK TO GET V4 OUT THE DOOR. FUNCS SHOULD BE ABLE
* TO HAVE SELECTIVITIES THEMSELVES. * -- JMH 7/9/92 * TO HAVE SELECTIVITIES THEMSELVES. -- JMH 7/9/92
*/ */
s1 = 0.1; s1 = 0.1;
} }
else if (is_subplan ((Node *) clause))
{
/*
* Just for the moment! FIX ME! - vadim 02/04/98
*/
s1 = 1.0;
}
else if (NumRelids((Node *) clause) == 1) else if (NumRelids((Node *) clause) == 1)
{ {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.12 1997/11/20 23:21:47 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.13 1998/02/13 03:29:39 vadim Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -614,13 +614,8 @@ match_clause_to_indexkey(Rel *rel, ...@@ -614,13 +614,8 @@ match_clause_to_indexkey(Rel *rel,
/* /*
* Check for standard s-argable clause * Check for standard s-argable clause
*/ */
#ifdef INDEXSCAN_PATCH
/* Handle also function parameters. DZ - 27-8-1996 */
if ((rightop && IsA(rightop, Const)) || if ((rightop && IsA(rightop, Const)) ||
(rightop && IsA(rightop, Param))) (rightop && IsA(rightop, Param)))
#else
if (rightop && IsA(rightop, Const))
#endif
{ {
restrict_op = ((Oper *) ((Expr *) clause)->oper)->opno; restrict_op = ((Oper *) ((Expr *) clause)->oper)->opno;
isIndexable = isIndexable =
...@@ -634,13 +629,8 @@ match_clause_to_indexkey(Rel *rel, ...@@ -634,13 +629,8 @@ match_clause_to_indexkey(Rel *rel,
/* /*
* Must try to commute the clause to standard s-arg format. * Must try to commute the clause to standard s-arg format.
*/ */
#ifdef INDEXSCAN_PATCH
/* ...And here... - vadim 01/22/97 */
else if ((leftop && IsA(leftop, Const)) || else if ((leftop && IsA(leftop, Const)) ||
(leftop && IsA(leftop, Param))) (leftop && IsA(leftop, Param)))
#else
else if (leftop && IsA(leftop, Const))
#endif
{ {
restrict_op = restrict_op =
get_commutator(((Oper *) ((Expr *) clause)->oper)->opno); get_commutator(((Oper *) ((Expr *) clause)->oper)->opno);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment