Re: syntax error at or near "ROWS"
От | Dave Cramer |
---|---|
Тема | Re: syntax error at or near "ROWS" |
Дата | |
Msg-id | CADK3HHKfBif=e8ENKrRn67DEJXarM99eBF2219ET=wqhtZRarw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: syntax error at or near "ROWS" (Kristian Ivarsson <sten.kristian.ivarsson@gmail.com>) |
Ответы |
Re: syntax error at or near "ROWS"
|
Список | pgsql-odbc |
So have you solved your issue ?
Dave Cramer
www.postgres.rocks
On Thu, 19 Sept 2024 at 06:35, Kristian Ivarsson <sten.kristian.ivarsson@gmail.com> wrote:
I have dug into this a bit more and turned on the postmaster log
This statement fails if the first parameter is "abc" but works with "abcde"
SELECT "Id","Begin","End","Logfile" FROM "ServerSession" WHERE "Logfile" = ? ORDER BY "Begin" ASC OFFSET ? ROWS FETCH FIRST ? ROW ONLY
The postmaster log with "abc" (cbColDef and cbValueMax both 3)2024-09-19 12:20:26.092 CEST [17828] ERROR: syntax error at or near "ROWS" at character 1162024-09-19 12:20:26.092 CEST [17828] STATEMENT: SELECT "Id","Begin","End","Logfile" FROM "ServerSession" WHERE "Logfile" = $1 ORDER BY "Begin" ASC OFFSET $2::int4 ROWS FETCH FIRST $3::int4 ROW ONLYThe postmaster log with "abcde" (cbColDef and cbValueMax both 5)2024-09-19 12:20:26.092 CEST [17828] LOG: execute <unnamed>: SELECT "Id","Begin","End","Logfile" FROM "ServerSession" WHERE "Logfile" = $1 ORDER BY "Begin" ASC OFFSET $2 ROWS FETCH FIRST $3 ROW ONLY2024-09-19 12:20:26.092 CEST [17828] DETAIL: parameters: $1 = 'abcde', $2 = '0', $3 = '1'By changing the statement a bit (using OFFSET ? and LIMIT ?) it works with both with "abc" and "abcde"2024-09-19 12:23:40.386 CEST [32684] LOG: execute <unnamed>: SELECT "Id","Begin","End","Logfile" FROM "ServerSession" WHERE "Logfile" = $1 ORDER BY "Begin" ASC OFFSET $2::int4 LIMIT $3::int42024-09-19 12:23:40.386 CEST [32684] DETAIL: parameters: $1 = 'abc', $2 = '0', $3 = '1' 2024-09-19 12:23:40.386 CEST [32684] LOG: execute <unnamed>: SELECT "Id","Begin","End","Logfile" FROM "ServerSession" WHERE "Logfile" = $1 ORDER BY "Begin" ASC OFFSET $2 LIMIT $32024-09-19 12:23:40.386 CEST [32684] DETAIL: parameters: $1 = 'abcde', $2 = '0', $3 = '1'
There's a lot of fishy things going on (where subsequent parameters sometimes seems to be serialized as strings depending of the size of earlier string but not always), but I won't speculate of the reasonsWe want to use the OFFSET ? ROWS FETCH FIRST ? ROW ONLY statement/ Kristian
В списке pgsql-odbc по дате отправления: