From 05a275926b95cef0c8844b45929940e11b24ea3b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 14 Sep 1999 20:26:02 +0000 Subject: Last-minute fix for 6.5.2: repair optimizer coredump on CASE clauses in WHERE. Surprised no one noticed this before. --- src/backend/optimizer/path/indxpath.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/backend') diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index e1870912bff..2b830f91c6c 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.57 1999/06/19 04:54:14 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.57.2.1 1999/09/14 20:26:02 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -585,12 +585,13 @@ match_clause_to_indexkey(RelOptInfo *rel, Oid restrict_op = InvalidOid; bool isIndexable = false; - if (or_clause((Node *) clause) || - not_clause((Node *) clause) || single_node((Node *) clause)) - return (RestrictInfo *) NULL; - + /* Clause must be a binary opclause. */ + if (! is_opclause((Node *) clause)) + return NULL; leftop = get_leftop(clause); rightop = get_rightop(clause); + if (! leftop || ! rightop) + return NULL; /* * If this is not a join clause, check for clauses of the form: -- cgit v1.2.3