Subject Re: [IBO] getting rid of indexes
Author Jason Wharton
Your setting of the IndexName or IndexFieldNames is a pre-requisite to using
SetRange capabilities. That is what I use in order to make SetRange work. I
leave the actual creation and maintenance of the indexes to the database
admin. Thus, I strongly discourage you from using IndexName and do encourage
you to use IndexFieldNames instead.

Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com


----- Original Message -----
From: "Duilio Foschi" <dedalus@...>
To: <IBObjects@yahoogroups.com>
Sent: Tuesday, January 22, 2002 3:32 PM
Subject: [IBO] getting rid of indexes


> I am porting a BDE application to FB using using D3 and IBO v. 3.6.Dj .
>
> The application is full of SetRangeStart..SetRangeEnd..ApplyRange
> statements and (for the moment) I'd like not to change them into SQL
> queries because I have very little time.
>
> So understanding the exact working of this statement is important for me.
>
> I thought that - using a full fledged database like FB - it was no more
> needed to specify which index to activate.
>
> After all, if a table know which indexes exist on it, it is no big effort
> to come out with the most convenient index to use for a given range.
>
> Alas! This seems only partly true.
>
> Actually IBOTables don't seem able to automatically use externally defined
> indexes.
>
> If I try to set a table range on the fields of an external index (and I
> don't specify IndexName:=AnExternalIndexName) I get the error message
> "field is not indexed".
>
> Could somebody explain me why ?
>
> Thank you
>
> Duilio