> Following is apparently a known bug/limitation of image
>btrees. Seems =
> someone requested a fix before but it wasn't done. I am
asking HP to =
> fix and I wondered whether anyone else wants it too, or
whether you all =
> think it is a waste of time...
>
> If you do a dbfind and chained reads (dbget mode 5) on a
master using an =
> index, then if you do a regular dbfind on a detail under
the master, =
> the chained read on the master loses its place. You don't get any =
> special error codes, just end-of-chain on the next read on
the master.
>
> I know workarounds (2nd dbopen, etc), but I personally
think it should =
> be fixed because its a trap.... You write a simple program
that works =
> because it doesn't do any other dbfinds, and later (say, Jan 2007) =
> someone makes a little change and has no idea why most of
the data seems =
> to disappear.
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
The structure behind DBFIND and chain-get is a linkage of master dataset
and detail dataset connected by the pair of key item/search item.
The B-tree can only be added to the key item of master dataset,
then use this link to "B-tree" access the entries in detail dataset
(i.e. super-chain get). The B-tree DBFIND and chain-get to the master
dataset is consider a special case of the super-chain concept, which
we don't access the detail dataset.
So in the case of doing a B-tree DBFIND then chain-get the master
entries, then in between, you do another non-B-tree DBFIND to the
detail dataset with the same search item. IMAGE reset several flags in
the internal data structure to denote this non-B-tree access. That's
why you go back to access the master dataset, IMAGE returns nothing,
because IMAGE doesn't think it is a super-chain get anymore.
I feel it is much clear to have another DBOPEN to handle the
DBFIND/chain-get to the same pair of master/detail.
Tien-You Chen
CSY
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|