Re: length of recordset read through a cursor - Mailing list pgsql-sql

From Knut P. Lehre
Subject Re: length of recordset read through a cursor
Date
Msg-id 5.2.0.9.2.20030805123048.01415ed8@uio-pop.uio.no
Whole thread Raw
In response to length of recordset read through a cursor  ("Knut P. Lehre" <k.p.lehre@tiscali.no>)
Responses Re: length of recordset read through a cursor  (Rod Taylor <rbt@rbt.ca>)
List pgsql-sql
>> After declaring a cursor, one way of obtaining the length of the>resultset>> is to perform a "MOVE 0" and read the
PQcmdStatuswhich returns a>"MOVE nn">> where nn is the length of the resultset. (A negative MOVE can then be>used>> to
allowstarting to fetch records from the beginning of the>resultset.)>>>> Is there another, possibly faster way?>>>Looks
likeyou're using libpq (because you mention PQcmdStatus),>then after declaring a cursor and FETCH ALL, try>>1.3.4.
RetrievingSELECT Result Information>>    PQntuples Returns the number of tuples (rows) in the query result.>>    int
PQntuples(constPGresult *res);>>I'm not exactly sure what you're trying to achieve or going to do,>so if I
misunderstoodyou, ask again.>>Regards, Christoph
 

Thanks for your reply.
What I'm trying to do is the following: I want to browse through a view 
containing more than 10000 records. To avoid slowing things down too much, 
I would like my client program to receive (through the network) only the 
records that are to be displayed on the screen. I believe I could do this 
by declaring a cursor and then fetching the parts of the resultset I need. 
It would be useful to know the size of the resultset immediately after the 
cursor has been declared. How do I get this information? I could of course 
fetch all of the resultset, but that is what I am trying to avoid. 
Shouldn't it be quicker to perform a move through the set than fetching it? 
I found that moving zero records results in a move to the end of the 
resultset, with a command status returning the number of records moved. 
Although I expected this method to take less time than a fetch (does it?), 
I was wondering if there might be another way to get the size of the 
resultset that can be fetched through the declared cursor.

KP




pgsql-sql by date:

Previous
From: "LEON"
Date:
Subject: Re: JDBC encoding problem
Next
From: Rod Taylor
Date:
Subject: Re: length of recordset read through a cursor