public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tatsuo Ishii <[email protected]>
To: [email protected]
Cc: [email protected]
Cc: [email protected]
Subject: Re: Should IGNORE NULLS cache nullness for volatile arguments?
Date: Thu, 14 May 2026 21:56:22 +0900 (JST)
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>

Hi Chao,

>> The attached patch makes a small change in that direction. It only uses the IGNORE NULLS nullness cache when the argument is safe to reuse. For non-cacheable arguments, the nullness is treated as unknown and the argument is evaluated again.
>> 
>> See the attached patch for details.
> 
> I will look into the patches.

@@ -3454,7 +3455,10 @@ ignorenulls_getfuncarginframe(WindowObject winobj, int argno,
 		if (isout)
 			*isout = false;
 
-		v = get_notnull_info(winobj, abs_pos, argno);
+		if (winobj->notnull_info_cacheable[argno])

What about moving this if statement inside get_notnull_info() so that
the caller does not care about this argno is cacheable or not?

+			/* record the row status if it is safe to reuse */
+			if (winobj->notnull_info_cacheable[argno])
+				put_notnull_info(winobj, abs_pos, argno, *isnull);

Similary, we can move "if (winobj->notnull_info_cacheable[argno])" inside put_notnull_info().

Regards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp





reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Should IGNORE NULLS cache nullness for volatile arguments?
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox