Subject Re: [IBO] fastest IB_Cursor... how???
Author Dany M
Carlos GarcĂ­a Trujillo wrote:
> Thanx Dany...
>
> I was digging in the source code of IBO, and found that Jason use
> TIB_SchemaCursor in those queries...
>
> should i use TIB_SchemaCursor for my query instead of TIB_Cursor???
> what are the differences???

I can see he used a TIB_Dataset (parent of TIB_Cursor). This will have
less functionality than TIB_Cursor and would (theoretically) perfor
somewhat faster on the client side.

>
> here i'll show one of my procedures:
>
> function TDM_Conexion.ObtenCampo(S: string): TIB_Column;
> begin
> with IB_Cursor1 do
> begin
> SQL.Text := S;
> ReadOnly := True;
> BeginBusy(true);
> try
> First;
> Result := Fields[0];
> finally
> EndBusy;
> end;
> end;
> end;
>

I must have misunderstood. I thought you wanted a *lot* of rows. In the
schemachache fetching there is a loop (while not eof).

And apparently I thought of the chapter "Walking through records in a
Dataset" in the Tech info sheet "Working with IBO Datasets". I thought
AfterFetchRow was used in the schemacache code. Since it's not, the
schemacache way should be faster because it does not do callbacks.

However, I guess that in order to save time working on the client side
like this you'll need a very fast connection and a rather slow client
machine.

So I'll bail out here because I don't think I know what I'm talking
about anymore :)

/Dany

> this function returns the pointer to a TIB_Column that should be the
> first field in the query passed as parameter... useful to make
> Count's and stuff like that where just one value is requested to the
> DB.
>
> are there anything that could be perfectible??? i'm getting good
> results of speed as is... but just wondering about if i'm missing
> something.
>
> Cheers.
>
>> If you have the source code you can check how Jason did it. The
> reads in
>> SchemaCache.pas (if that is the name, do a search) *should*
> logically be
>> optimised. But I'm not a 100% that that is a fact. Looks like it,
> though.
>> HTH,
>>
>> /Dany
>>
>
>
>
>
>
>
> ___________________________________________________________________________
> IB Objects - direct, complete, custom connectivity to Firebird or InterBase
> without the need for BDE, ODBC or any other layer.
> ___________________________________________________________________________
> http://www.ibobjects.com - your IBO community resource for Tech Info papers,
> keyword-searchable FAQ, community code contributions and more !
> Yahoo! Groups Links
>
>
>
>
>