Subject Re: [firebird-support] Data access on client
Author Ann W. Harrison
At 12:02 PM 6/10/2004, Dieter Raith wrote:
>I use the API to work with the database. If I issue a "select A,B from
>TBNAME" all data is
>moved somewhere to the client. Someone told me that this happens. Is it
>true?

No. The data is passed to the client one row at a time. The transmission
across the network is done in packets which may contain several rows
worth of data. The system picks a reasonable packet size then fills it
with data for transmission.

>I can access each row using a cursor. As I know what I am
>expecting I am not happy to copy the data from one place
>in memory to another. So I would like to get a
>pointer to the place where the data reside. Is that possible
>and availlable?

I'm not entirely sure what you're asking. I've assumed that
your client is on a different server and you are accessing the
database over TCP. If that's correct, your data is retrieved
from the database and packed by the remote protocol server into
packets for transmission. On the client side, the remote
interface unpacks the data and returns it to the client row
by row. In the process, the data is copied twice, but
the cost of copying pales beside the cost of transmission.

Perhaps you could ask the question again.

Regards,

Ann