[Info-vax] Re; Spiralog, RMS Journaling (was Re: FREESPADRIFT)
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sat Jun 18 19:12:04 EDT 2016
On 2016-06-18 20:59:14 +0000, John Reagan said:
> On Saturday, June 18, 2016 at 3:02:29 PM UTC-4, Stephen Hoffman wrote:
>> On 2016-06-18 18:07:05 +0000, Paul Sture said:
>>
>>> both XAB$L_EBK and XAB$W_FFB Field are "meaningful for sequential files only"
>>
>> I'd prefer that any (errant) requests violating that would kick back a
>> run-time error when used on inappropriate file formats, but that
>> concept and that capability simply does not exist within the (current)
>> OpenVMS RMS APIs.
>>
>> Ugly case would be an explicit NaN/NaT returned in these fields
>> secondary to an errant access; a Not a Number or Not a Thing response.
>> OpenVMS and various databases certainly have have examples akin to
>> that, but OpenVMS has no particularly consistent implementation of
>> that. In more than a few fields in the various data structures, RMS
>> doesn't, though.
>
> NaNs are floating point. NaTs don't exist in memory, only in registers
> (and are Itanium specific).
Okay. Let me try this a different way. The RMS interface — and many
of the other OpenVMS interfaces — has no mechanism for differentiating
a data field that is invalid or uninitialized from a field that
contains a valid value, and RMS further has no ready means to flag that
mere accesses to these fields are invalid at run-time. This is the
software equivalent of NaN or NaT that can be implemented in various
contexts, or of a database field that's marked as null. This
differentiation is analogous to what Itanium and other systems are
using NaN, NaT or such to represent. Something which really isn't.
This as differentiated from a data field that's empty, zero or some
other such explicitly-set value.
As a different and newer and software alternative, passing a message —
an OO or method invocation — the (entirely hypothetical) OORMS
framework can detect this access and this condition and can toss back a
run-time error, rather than leaving the user to read the fine manuals,
or to get silently bad data. Which is where the RTFM approach leaves
developers. The OO approach also means needing rather less glue code,
and also avoids revisiting data structure changes such as that from the
NAM to the NAML. Beyond reducing the piles of code chunder, the method
call approach also avoids the need for an analog to NaN or NaT in the
data structures. But then the chances of seeing OORMS or OO system
service calls and frameworks is zilch, and any wholesale replacement
for RMS unlikely at best.
I don't expect to see either OpenVMS or RMS dragged this far forward
anytime soon (if at all), however. But this is what other operating
systems are using now, so it's what many developers are already
familiar with.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list