[Info-vax] Indexed RMS file question
Michael Moroney
moroney at world.std.spaamtrap.com
Wed Oct 7 13:36:20 EDT 2009
One technique that may or may not be useful, related to segmented keys, is
adding a "prefix" to a string key (or high bits to an integer key) that
differentiates between records with different meanings. A file with
integer keys may have a key with a hex value 100004D2 be a header for
record 1234 (hex 04D2), a key with a hex value 200004D2 be the body of
the record, 300004D2 be a trailer record. Same with character string
keys. "1BETA" may be one kind of record for BETA, "2BETA" may be something
different for BETA etc.
One excellent example was the file that the VAX Notes/VMS Notes/DEC Notes
product used/uses. Notes was a product for discussion groups, not too
different from usenet, if you aren't familiar with it. Imagine if
comp.os.vms was in one file and software to access the individual posts.
Notes conferences were once very popular within Digital.
That file is indexed, with (I believe) 3 keys, 2 integer and one text key.
The records have a variety of different meanings. A record can be
the header of a post (author/title/time), the text body of the post,
a list of members or moderators, keywords (that can be added to find a
post on topic to the keyword) as well as a conference title record.
The differences were determined by a portion of the keys. For example, to
look up notes with keyword FOO, search with the key "XFOO" where "X" was a
magic value meaning "This is a keyword record". "YFOO" may mean User FOO,
if Y was the magic value "This is a User record". "ZFOO" may mean Topics
with Title FOO, if Z meant "This is a topic title record".
This isn't exact, but I do remember one key was an incrementing integer,
one integer key encoded the topic.reply numbers, and one key was text for
various uses.
More information about the Info-vax
mailing list