Subject | Re: Client-Side buffers |
---|---|
Author | alex_vnru |
Post date | 2002-04-23T09:02Z |
--- In ib-support@y..., "Reggie White" <reggiewhite@l...> wrote:
Select Gen_id(MyGenerator,1), field1.... from table1
where table1 is long enough table via non-buffering component (TIBSQL
for example, I'm Delphi programmer, don't know analogue for BCB,
sorry). Your APPLICATION received 1 row. Now
Select Gen_id(MyGenerator,0) from rdb$database
you'll see amount of rows fetched by SERVER. At least half of them are
stored at this moment at client's network buffer and FB dll's will get
them here until buffer ends and then demand next BUFFER. Network
protocol itself make buffering, why we should overdo this in FB client
library?
Best regards, Alexander V.Nevsky.
> All of this I understand, but what I'm asking is this...sends over
> ex. client application fetches 1(one) row the server, the server
> 10 rows. These rows are now batched on the client side (by theclient side
> Firebird/Interbase components/DLL). Now when the client requestsanother
> row, that row is pulled from the client side buffer(maintained bythe client
> side FB/IB components/DLL). New data is requested from the serverwhen the
> rows in the client side buffers are exhausted. This type ofimplementation
> is used by some of the big databases.Reggie, try
>
> But from your answer I guess FB/IB does not support this.
Select Gen_id(MyGenerator,1), field1.... from table1
where table1 is long enough table via non-buffering component (TIBSQL
for example, I'm Delphi programmer, don't know analogue for BCB,
sorry). Your APPLICATION received 1 row. Now
Select Gen_id(MyGenerator,0) from rdb$database
you'll see amount of rows fetched by SERVER. At least half of them are
stored at this moment at client's network buffer and FB dll's will get
them here until buffer ends and then demand next BUFFER. Network
protocol itself make buffering, why we should overdo this in FB client
library?
Best regards, Alexander V.Nevsky.