Subject Re: [IBO] RowNum behaviour
Author Paul Vinkenoog
Hi Gediminas,

> mpDataset is empty: RowNum=1, EofRowNum=1, code called
> ->Last(): RowNum=0, EofRowNum=1
> ->Insert(): RowNum=1, EofRowNum=2
>
> mpDataset has 1 record, code called again, RowNum=1, EofRowNum=2:
> ->Last(): RowNum=1, EofRowNum=2
> ->Insert(): RowNum=1, EofRowNum=3
>
> mpDataset has 2 records, code called again, RowNum=1, EofRowNum=3:
> ->Last(): RowNum=2, EofRowNum=3
> ->Insert(): RowNum=2, EofRowNum=4
>
> Why second Insert() call hasn't incremented RowNum (EofRowNum was
> incremented)? is this fixed in the latest IBO version? Using IBO
> 4.2Ie, dataset - TIB_Query type

This behaviour is what I would expect: Insert() always inserts
*before* the current row if there is one, so RowNum stays the same and
the (previously) current row is pushed forward, along with everything
that comes after it (including Eof).

But in the first example there was no valid row at all before you
called Insert(). The call to Last() had set RowNum to 0 (Bof) and
after Insert() a valid row has been created in the buffer, with
number 1.


Greetings,
Paul Vinkenoog