| From: | Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com> |
|---|---|
| To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Cc: | Peter Eisentraut <peter(at)eisentraut(dot)org>, Noah Misch <noah(at)leadboat(dot)com> |
| Subject: | Re: FOR PORTION OF bugs |
| Date: | 2026-09-06 03:31:44 |
| Message-ID: | CA+renyWPFKGw3+kSOA4kcW-mEuVMb=xRSrQ6d+Sem-3xiPLfig@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Thu, Sep 3, 2026 at 9:26 PM Paul A Jungwirth
<pj(at)illuminatedcomputing(dot)com> wrote:
>
> D1: A DO INSTEAD rule skips inserting leftovers. (Already reported by [0].)
> D2: PREPARE requires casting parameters in FOR PORTION OF bounds (e.g. $1::date), but we should coerce these automatically.
> D3: EXPLAIN (GENERIC_PLAN) fails with `no value found for parameter 1`
> D4: EXPLAIN with `FOR PORTION OF (null)` raises an error about the null target.
> D5: elog if the range column's default opclass is for a concrete range type, not anyrange.
> D6: Under plain inheritance, statement-level insert triggers fire against the parent table, not the child.
> D7: Error hint is misleading if a temporal leftover's BEFORE trigger modifies a row that is later changed by the top-level statement.
> D8: A temporal leftover is not inserted if its BEFORE INSERT trigger returns null. (Already reported by [1].)
> D9: FOR PORTION OF bound expressions are evaluated more than once. A function declared STABLE but not actually STABLE would get inconsistent results. Also reachable with current_setting() + set_config().
> D10: EXPLAIN evaluates functions in the FOR PORTION OF bounds.
> D11: A WITH CHECK OPTION failure blames the temporal leftover when it should blame the original update.
> D12: pg_get_ruledef deparses a null bound as NULL::unknown not NULL::date.
> D13: Docs should clarify that you need permission on the range column.
> D14: Error message is misleading for a view referencing the range column twice.
All of these have patches now and are in the Open Items list. Some of
these shared a root cause, so there is a single patch fixing D2-D12
(coercing parameters in FOR PORTION OF bounds) and another fixing
D3-D4-D10 (evaluating bounds within EXPLAIN).
Three of these items are just improving error messages. One is a
doc-only update. And I don't think D9 is the kind of thing we
usually consider a bug. The rest look pretty important to me. But they
are all in Open Items for now.
Yours,
--
Paul ~{:-)
pj(at)illuminatedcomputing(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Xuneng Zhou | 2026-09-06 04:03:20 | Re: Implement waiting for wal lsn replay: reloaded |
| Previous Message | Sagar Shedge | 2026-09-06 02:39:31 | postgres_fdw: push down FETCH FIRST .. WITH TIES when server version allows |