HP3000-L Archives

May 2002, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"CHEN,TIEN-YOU (HP-Cupertino,ex1)" <[log in to unmask]>
Reply To:
CHEN,TIEN-YOU (HP-Cupertino,ex1)
Date:
Fri, 24 May 2002 11:08:53 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (52 lines)
 > 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 *

ATOM RSS1 RSS2