Re: BUG #18467: postgres_fdw (deparser) ignores LimitOption
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Japin Li <japinli@hotmail.com>
Cc: Etsuro Fujita <etsuro.fujita@gmail.com>, onderkalaci@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2024-05-16T16:47:21Z
Lists: 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/
Commits
-
postgres_fdw: Refuse to send FETCH FIRST WITH TIES to remote servers.
- 2b461efc5195 13.16 landed
- 269e2c391628 14.13 landed
- b33c141cc52b 15.8 landed
- 8405d5a37a25 16.4 landed
- 8cfbac1492bd 17.0 landed
-
Revert temporal primary keys and foreign keys
- 8aee330af55d 17.0 cited