Fix outdated convert_saop_to_hashed_saop comment
authorDavid Rowley <drowley@postgresql.org>
Wed, 14 Sep 2022 21:40:34 +0000 (09:40 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 14 Sep 2022 21:40:34 +0000 (09:40 +1200)
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

index 5c54171fee01b7141680c81b4b0020b58ad0a221..bf3a7cae60a0ff521e4ef4d2f433983aa5035bee 100644 (file)
@@ -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