From 63840526b05c5c12c92cb16be8748e4d20e6eab6 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 15 Sep 2022 09:40:34 +1200 Subject: [PATCH] Fix outdated convert_saop_to_hashed_saop comment In 29f45e299, we added support for optimizing the execution of NOT IN(values) by using a hash table instead of a linear search over the array. That commit neglected to update the header comment for convert_saop_to_hashed_saop() to mention this fact. Here we fix that. Author: James Coleman Discussion: https://postgr.es/m/CAAaqYe99NUpAPcxgchGstgM23fmiGjqQPot8627YgkBgNt=BfA@mail.gmail.com Backpatch-through: 15, where 29f45e299 was added. --- src/backend/optimizer/util/clauses.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index 5c54171fee0..bf3a7cae60a 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -2117,7 +2117,8 @@ eval_const_expressions(PlannerInfo *root, Node *node) * * We'll use a hash table if all of the following conditions are met: * 1. The 2nd argument of the array contain only Consts. - * 2. useOr is true. + * 2. useOr is true or there is a valid negator operator for the + * ScalarArrayOpExpr's opno. * 3. There's valid hash function for both left and righthand operands and * these hash functions are the same. * 4. If the array contains enough elements for us to consider it to be