How do I detect End-of-table or End-of-limit ?

Поиск
Список
Период
Сортировка
От Jan van der Weijde
Тема How do I detect End-of-table or End-of-limit ?
Дата
Msg-id 4B9C73D1EB78FE4A81475AE8A553B3C67DC52B@exch-lei1.attachmate.com
обсуждение исходный текст
Ответы Re: How do I detect End-of-table or End-of-limit ?  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: How do I detect End-of-table or End-of-limit ?  (L Bayuk <lbayuk@pobox.com>)
Список pgsql-interfaces
Hello all,
 
I am using the libpq interface method PQexec() to execute SELECT statements with a LIMIT clause. I declare a cursor with hold and use PQecec() to execute FETCH NEXT on that cursor.
At a certain moment PQntuples() returns 0 after a fetch, but I cannot check for the actual reason: is the physical end of the table (or selection) reached or is the end of my limit reached.
In the former case I'm done. But in the latter case I can continue selecting records by using SELECT with a LIMIT and OFFSET clause.
 
Of course there are workarounds:
count the number of records (but if the size of the table or select set is a multiple of my LIMIT value that does not work)
or
just try another SELECT and if the FECTH NEXT will fail again I'm done
 
However I am looking for something more elegant like a status flag in libpq that indicate EOF or End-Of-limit.
 
Thank you,
Jan van der Weijde

В списке pgsql-interfaces по дате отправления:

Предыдущее
От: L Bayuk
Дата:
Сообщение: Re: BCC55 and libpq 8.2
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: How do I detect End-of-table or End-of-limit ?