[Info-vax] RMS and SSIO (again)

Hein RMS van den Heuvel heinvandenheuvel at gmail.com
Wed Jan 12 23:13:59 EST 2022


On Wednesday, January 12, 2022 at 5:31:33 PM UTC-5, tink... at gmail.com wrote:
> > One of the people who created SSIO now has been working on RMS since 1975 (member of the initial VMS design team :) 
> > Another example is Ruth Goldenberg, she came up with part of the SSIO design.
> Good to know, pity they did not see this solution. But to restate what I said before, byte to XFC is a good thing particularly if it integrated into RMS, i.e. have XFC do the buffering for RMS.

There needs to be a 'system' buffer, not a 'process' buffer. 
For robustness that buffer is probably  best on top of XFC, not inside.

You have been focussing on random updates. nice of database, irrelevant for typical usage today.
I think the more important problem to solve is shared appends and eof handling ( tail -f )


> What changes would I like to RMS, particularly with regards tp XFC. 
> - change $READ/$WRITE to use the MBC/Bucket buffers that RMS has, which would be XFC 

READ/WRITE does NOT use (RMS) buffers. The user provide record (UBF on read, RBF on write)

> - change $READ/WRITE so they use byte offset. NB this is possible without change the RAB, just by adding a ROP (byteoffset) and using all the space available for RFA, i.e. RAB$Q_RFA. 

The current RFA already has a (32bit) block and (16 bit) byte offset. 
I suppose you could add RAC=RFA and make $READ/$WRITE use the RFA fields, not the BKT.

> - fix $FIND so it will work with UDF files, so that $UPDATE can work without having the read data 

$FIND has to read the data into the rms process buffer also. 
It just does not move it to a user provided record buffer - a minor step in the scheme of things.
The biggest special thing about $FIND vs $GET is that $FIND only impacts the current record, not the next.
That is useful for updates. A program could be doing GET GET GET (all next 'blobs') then see some special data and decide to need a FIND and UPDATE for a random record before doing the next GET to continue reading a sequence. I find using two rabs for that more clear, more robust.


Hein.



More information about the Info-vax mailing list