summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/optimizer/path/costsize.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index fcb18732d85..4c9d8d9cbd5 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -3944,13 +3944,13 @@ quals_match_foreign_key(PlannerInfo *root, ForeignKeyOptInfo *fkinfo,
if (i > 0 && bms_is_member(quallstidx, qualmatches))
continue;
- /*
- * Here since 'usefulquals' only contains bitmap indexes for quals
- * of type "var op var" we can safely skip checking this.
- */
rinfo = (RestrictInfo *) lfirst(lc);
clause = (OpExpr *) rinfo->clause;
+ /* only OpExprs are useful for consideration */
+ if (!IsA(clause, OpExpr))
+ continue;
+
/*
* If the operator does not match then there's little point in
* checking the operands.