Re: BUG #18467: postgres_fdw (deparser) ignores LimitOption - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #18467: postgres_fdw (deparser) ignores LimitOption
Date
Msg-id 202405161647.dj7lw4asvfpu@alvherre.pgsql
Whole thread Raw
In response to Re: BUG #18467: postgres_fdw (deparser) ignores LimitOption  (Japin Li <japinli@hotmail.com>)
List pgsql-bugs
On 2024-May-17, Japin Li wrote:

> After some dig in, I find transformLimitClause() has the following comments:
> 
>  * Note: as of Postgres 8.2, LIMIT expressions are expected to yield int8,
>  * rather than int4 as before.
> 
> So the deparseConst() append '::bigint' typecast, same as get_rule_expr().

Hmm, probably the answer is not to use deparseExpr in
appendLimitClause() then.  I mean, AFAICS this is a postgres_fdw
problem, not a core parser problem.

Not sure if this is workable, but maybe test if the value is a constant,
and use FETCH FIRST if so, otherwise fall back to using LIMIT.  (It's
not clear if this would handle FETCH FIRST +123123123123 ROWS WITH TIES
correctly though -- worth checking).


Oh, I see we never got back to adding FETCH FIRST / PERCENT.  We had a
patch seemingly almost ready for that ...

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/



pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae
Next
From: Peter Geoghegan
Date:
Subject: Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae