]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Check for null pointer returned from get_opname().
authorThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 16 Aug 1998 05:37:04 +0000 (05:37 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 16 Aug 1998 05:37:04 +0000 (05:37 +0000)
Don't bother checking for alternate strategies if so
 since it was more likely a function or some other non-operator anyway.

src/backend/optimizer/path/indxpath.c

index 41583a1c1c6b54a8c017770f30e33c6697554612..f8fe91ed875abff1f3e7e1add009373385fb1253 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.29 1998/08/14 16:13:07 thomas Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.30 1998/08/16 05:37:04 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -642,7 +642,10 @@ match_clause_to_indexkey(RelOptInfo *rel,
                                        Operator  newop;
 
                                        opname = get_opname(restrict_op);
-                                       newop = oper(opname, ltype, ltype, TRUE);
+                                       if (opname != NULL)
+                                               newop = oper(opname, ltype, ltype, TRUE);
+                                       else
+                                               newop = NULL;
 
                                        /* actually have a different operator to try? */
                                        if (HeapTupleIsValid(newop) && (oprid(newop) != restrict_op))
@@ -698,7 +701,10 @@ match_clause_to_indexkey(RelOptInfo *rel,
                                        restrict_op = ((Oper *) ((Expr *) clause)->oper)->opno;
 
                                        opname = get_opname(restrict_op);
-                                       newop = oper(opname, rtype, rtype, TRUE);
+                                       if (opname != NULL)
+                                               newop = oper(opname, rtype, rtype, TRUE);
+                                       else
+                                               newop = NULL;
 
                                        if (HeapTupleIsValid(newop) && (oprid(newop) != restrict_op))
                                        {