HP3000-L Archives

September 1997, Week 1

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:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Sat, 6 Sep 1997 18:41:43 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (59 lines)
Denys writes:

> Steve Dirickson wonders:
> <<...
> Looking back over the thread, I don't see where any claims were made by
> anyone that any specific tool does or does not preserve the chronological
> sequence of chains on a sort/pack operation. ...>>
>
> Gee, I dunno, maybe your earlier statement:  "Without a sort item, update
> activity alone will trash the sequence fairly quickly. A reload/repack will
> do so much more thoroughly."
>
> In all fairness though, Steve D. makes many good points.

..except about the repack :)

If the entries A, B, and C are on the same chain, and A points to B,
and B points to C, then *ANY* repacking done by Adager (and, I hope,
other tools) will preserve the linkage: A -> B -> C, *REGARDLESS* of
where A, B, and C are put in the final detail dataset.  The chronology
is preserved.

What Steve may be confus about is: what happens if I *SERIALLY* read the
detail dataset...in what order will I find A, B, and C?

The answer is a simple one:

   You have at best the guarantee that A, B, and C will be in ascending
   addresses *IF* you wish them to be (e.g., if you packed along the
   path wherein A->B->C).

   You have at worst the same lack of guarantees that IMAGE *itself*
   provided.  I.e., when you originally DBPUT A, and later B, and later C,
   forming A->B->C, IMAGE put A somewhere, B somewhere else, and C
   somewhere else too ... with little or no constraints as to their
   relative location.  Thus, a serial read of the detail dataset
   could result in C, A, and B ... or any of the other 5 possibilities!

   BTW, a serial repack with Adager preserves serial relativity (ooohh...
   a new phrase!) as well as chronology.

The only thing I can see happening that might have led to Steve's
incorrect statement(s) is this:

   Assume that A is at entry 100, B is at entry 102, and C is at entry 101.
   (And, logically, A->B->C).  A serial read through the dataset will
   encounter A, C, B ... note that order, it differs from the logical order!

   If you repack along the path where A->B->C, the entries get moved
   to somewhere sequential, for example: A at 200, B at 201, and C at 202.
   Now, and only in this case, a *SERIAL* read through the dataset will
   encounter A, B, C ... a different serial order than previously encountered.

   However, a DBGET/chained will still properly read A->B->C, as expected.

--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2