Re: BUG #6315: FETCH NEXT :next ROWS ONLY fails
От | Bernhard Reutner-Fischer |
---|---|
Тема | Re: BUG #6315: FETCH NEXT :next ROWS ONLY fails |
Дата | |
Msg-id | CAC1BbcTHHKAS+Cp80OZz15pg8z4G0b7tThLGqjazLiwOSgYgwA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #6315: FETCH NEXT :next ROWS ONLY fails (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-bugs |
On 1 December 2011 22:50, Alvaro Herrera <alvherre@commandprompt.com> wrote: > > Excerpts from Tom Lane's message of jue dic 01 18:32:58 -0300 2011: >> Boszormenyi Zoltan <zb@cybertec.at> writes: >> > 2011-12-01 20:09 keltez=E9ssel, rep.dot.nop@gmail.com =EDrta: >> >> Binding for "OFFSET :offset" works fine but binding for a &= quot;FETCH NEXT :next >> >> ROWS ONLY" raises: >> >> syntax error at or near "$2" >> >> SELECT * FROM foo OFFSET $1 ROWS FETCH NEXT $2 ROWS ONLY >> >> > This is not a supported syntax. Consider using >> > SELECT * FROM foo OFFSET $1 LIMIT $2 >> > instead. I think it's SQL2008 and is the "new" way of stating OFFSET $1 LIMIT $2 (see docs). >> >> Well, actually it is supported, but you missed the fine print where it >> says that you have to add parentheses if the offset or count isn't a >> simple integer constant. =A0I'll apply a patch to make that a bit more >> obvious. > > Hmm, it works with parens only in the "fetch next" clause, they don't > seem necessary in the limit. =A0FWIW. Exactly. That's why I find the need to quote the latter a bit counter intuitive :) cheers, > > alvherre=3D# prepare foo(int, int) as select * from generate_series(1, 20= 0) offset $1 fetch next ($2) rows only; > PREPARE > alvherre=3D# execute foo(2+3, 1+2); > =A0generate_series > ----------------- > =A0 =A0 =A0 =A0 =A0 =A0 =A0 6 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 7 > =A0 =A0 =A0 =A0 =A0 =A0 =A0 8 > (3 filas)
В списке pgsql-bugs по дате отправления: