Re: BUG #19386: Unnecessary Sort in query plan for SELECT literal with ORDER BY

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: 798604270(at)qq(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org, PG Bug reporting form <noreply(at)postgresql(dot)org>
Subject: Re: BUG #19386: Unnecessary Sort in query plan for SELECT literal with ORDER BY
Date: 2026-01-21 11:11:05
Message-ID: 82e59270-d4a0-4dbb-9c2d-5cd2005c933f@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 21/1/26 09:26, PG Bug reporting form wrote:
> The following bug has been logged on the website:
>
> Bug reference: 19386
> Logged by: Chi Zhang
> Email address: 798604270(at)qq(dot)com
> PostgreSQL version: 18.1
> Operating system: ubuntu 24.04 with docker
> Description:
>
> Hi,
>
> In the following test case, there are two equivalent queries. One is a
> normal SELECT, and the other is a prepared SELECT. In the query plan of the
> normal SELECT, there is an unnecessary Sort, which causes it to be slower
> than the prepared SELECT. In general, the prepared SELECT should be slower
> than the normal SELECT, as its query plan is suboptimal. So there maybe
> potential opportunities for further optimization in the query planning of
> normal SELECT statements.

These queries aren't equivalent for me. The generic case may produce
errors if a parameter has an incompatible type. The 'simple query' case
validates constants and may simplify the clause, being sure no logical
errors happen during clause evaluation.
Another question - should we do anything to optimise this quite narrow
(at least it seems so for me) case and stop simplification of the clause?

--
regards, Andrei Lepikhov,
pgEdge

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dean Rasheed 2026-01-21 11:20:37 Re: BUG #19380: Transition table in AFTER INSERT trigger misses rows from MERGE when used with INSERT in a CTE
Previous Message PG Bug reporting form 2026-01-21 08:26:39 BUG #19386: Unnecessary Sort in query plan for SELECT literal with ORDER BY