Initially patch was developed by Martijn van Oosterhout. But it's reworked and support of searching NULLS to GiST too. Patch adds new column named amsearchnull to pg_am. To recognize IS NULL clause ScanKey->sk_flags contains (SK_ISNULL & SK_INDEXFINDNULL) and ScanKey->sk_strategy sets to InvalidStrategy. IS NOT NULL isn't supported.

The patch was already suggested to community ( and, but the single objection was:

Objection was about representing IS [NOT] NULL clause in SkanKey structure, because it required to set strategy to BTEqualStrategyNumber, and Tom doubted about needing of such support.

Now ScanKey->sk_strategy = InvalidStrategy and btree code transforms it to BTEqualStrategyNumber in _bt_preprocess_keys(), btcostestimate knows that fact too.

GiST doesn't need to transform strategy - it looks at SK_INDEXFINDNULL only.

Teodor Sigaev                                   E-mail: [EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


Reply via email to