diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/optimizer/path/costsize.c | 8 |
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. |