Re: Some optimizations for COALESCE expressions during constant folding - Mailing list pgsql-hackers

From Richard Guo
Subject Re: Some optimizations for COALESCE expressions during constant folding
Date
Msg-id CAMbWs4_wq12TXbPwSS+PEhAnkH9SvfKwTLuSyV9XQqTp3_q6Uw@mail.gmail.com
Whole thread Raw
In response to Re: Some optimizations for COALESCE expressions during constant folding  (Richard Guo <guofenglinux@gmail.com>)
List pgsql-hackers
On Mon, Dec 1, 2025 at 5:11 PM Richard Guo <guofenglinux@gmail.com> wrote:
> Attached is the patch set rebased on current master.  I have split the
> patch into two parts: 0001 teaches eval_const_expressions to simplify
> COALESCE arguments using NOT NULL constraints, and 0002 teaches
> expr_is_nonnullable to handle COALESCE expressions.
>
> In addition, 0003 is a WIP patch that extends expr_is_nonnullable to
> handle more expression types.  I suspect there are additional cases
> beyond those covered in this patch that can be proven non-nullable.

Here is an updated patchset.  I have reorganized the code changes as:
0001 simplifies COALESCE expressions based on non-nullable arguments.
0002 simplifies NullTest expressions for RowExprs based on
non-nullable component fields.  It also replaces the existing use of
var_is_nonnullable() with expr_is_nonnullable() for NullTests.  0003
teaches expr_is_nonnullable() to handle more expression types.

- Richard

Attachment

pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: [Proposal] Adding callback support for custom statistics kinds
Next
From: Peter Smith
Date:
Subject: Re: Cleanup shadows variable warnings, round 1