| From: | "Matheus Alcantara" <matheusssilv97(at)gmail(dot)com> |
|---|---|
| To: | "Richard Guo" <guofenglinux(at)gmail(dot)com>, "David Rowley" <dgrowleyml(at)gmail(dot)com> |
| Cc: | "Pg Hackers" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Some optimizations for COALESCE expressions during constant folding |
| Date: | 2025-12-11 14:54:04 |
| Message-ID: | DEVH211MP428.4FIKS7TFQAUD@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed Dec 3, 2025 at 3:39 AM -03, Richard Guo wrote:
> On Mon, Dec 1, 2025 at 5:11 PM Richard Guo <guofenglinux(at)gmail(dot)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.
>
Hi,
I think that this patch needs a rebase due to the changes on
predicate.sql introduced by c925ad30b04.
--
Matheus Alcantara
EDB: http://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melanie Plageman | 2025-12-11 14:59:04 | Re: Fix uninitialized PruneFreezeResult in pruneheap and vacuumlazy |
| Previous Message | Peter Eisentraut | 2025-12-11 14:50:47 | Re: Solaris versus our NLS files |