Search Postgresql Archives

SPI cursors pinned buffer and moving to the first tuple.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I need to verify something.
I use spi cursors in a C function (which return a SETOF).
I am using the spi cursors to run the following query:
"SELECT DISTINCT * FROM mytable".
Each time the system gets back to the function 
spi cursor can give me the next tuple which I can return.
Q1:My question is, does an SPI cursor pin its last buffer,
I.e. if I will take 1 tuple from SPI each time and
a page can contain 10 tuples, would there be 10 I/Os
or just 1 (since the last page is always pinned in memory).

I tried to reason the answer from the code but its not as clear as
the heap_fetch,etc... functions.

Q2:If I move to the first tuple in the cursor, does it reads everything
in its way back? I don't want the database to start another SELECT
DISTINCT
and use what is already ready.

Thanks.

Regards,
	tzahi.

WARNING TO SPAMMERS:  see at
http://members.lycos.co.uk/my2nis/spamwarning.html



---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux