Subject Re: Simulating ISAM files using a TIBOTable component
Author Svein Erling Tysvær
This is way outside my knowledge (I've used TIB_ and not TIBO as long
as I've used InterBase/Firebird), but since no-one answered you
yesterday and answers may make others reply as well, I'll have a go.

TIBOTable isn't a copy of TTable, under the hood I expect it to
somehow make use of TIB_Query or one of it's ancestors. Although Jason
tries to make it a replacement for TTable, that would only include
mimicking the functionality of TTable, I cannot imagine him trying to
copy the way things are implemented. Some things that work poorly in
the BDE still doesn't work perfectly in TIBOTable - like RecordCount
being time consuming on larger tables (that is a limitation of
Firebird). Though I would expect Find and Locate to be a pleasant
surprise for you if you have decent indexes defined (both ascending
and descending?). At least, Jason implemented something in IBO that he
called "horizontal dataset refinement", and I hope he makes use of
something similar in TIBOTable (even though I don't know). It
shouldn't take you long to test for yourself.

I would expect choosing TIBOTable as the foundation for your Cobol
layer to be a better choice than TTable, though I'm speaking way
beyond my knowledge, so wait for someone else to correct what I just


--- In, "Stephen Boyd" wrote:
> I have a need to provide access to a Firebird table in a simulated
> ISAM environment. On the surface it would seem as though the
> TIBOTable would be a perfect foundation on which to base the ISAM
> simulation middleware. I have quite a few concerns regarding
> performance when using the TIBOTable component. For instance:
> What happens when the transaction is commited? How do I avoid
> fetching the entire table every time I commit while leaving the
> current position of the record pointer intact?
> How do the Find and Locate methods work? It seems that in order to
> allow fetching the table backwards from the located record that the
> table component would need to fetch all records preceeding the
> located record every time I Find or Locate. Doesn't this make the
> use of indexes almost irrelevant?
> I guess most of my concerns stem from really bad experiences with
> the Borland TTable component. I guess that I really want to know if
> the TIBOTable is more efficient that TTable or if it emulates it so
> faithfully that the inefficiencies are also emulated.