[Info-vax] SQLite port for OpenVMS (Re: Is there currently a functioning link for hobbyist licenses?)

Craig A. Berry craigberry at nospam.mac.com
Thu Mar 12 19:14:29 EDT 2015


On 3/12/15 9:12 AM, Stephen Hoffman wrote:
> On 2015-03-12 02:25:59 +0000, Craig A. Berry said:
>
>> On 3/11/15 10:02 AM, Stephen Hoffman wrote:
>>>
>>> I've been using that SQLite port for a prototype project, and it
>>> works as expected.  Haven't started tossing any volume of queries at
>>> it, nor looked at updating it.  But it works.
>>>
>> Have you tested multi-user access to the database yet?
>>
>
> Not yet.  The prototype application I'm working on has only limited need
> for shared access, so it wouldn't be the best test.  It's
> application-level preferences and settings, a moderate-sized data store
> with multiple indexes, and is not performing high-volume or
> multi-threaded I/O.


>> For some reason I have an impression that SQLite works ok in
>> single-user mode on VMS but cannot do shared access until SSIO is
>> complete and working and the (as-yet-undocumented) DECC$SSIO feature
>> logical is defined.
>
> The only SSIO-related discussion I can find in the context of SQLite is
> one where you asked about SSIO.
>
> The only issue I've seen raised within the context of SQLite involved an
> unspecified C-related or locking-related patch, though that quest has
> involved a web page at Phillip Vouter's site
> <http://vouters.dyndns.org/tima/OpenVMS-SQLite-A_possible-reason_why_SQLite_does_not_work_under_OpenVMS.html>,
> and that page is presently offline, and that page is not archived at
> <http://archive.org>, and am yet unable to coax Google into offering a
> cached version over there.   That web page may have been removed.
> Whether that unspecified patch is necessary here, or is already in V8.4,
> or will be in "Bolton", I don't know.
>
> PostgreSQL does reportedly have a requirement for shared stream I/O
> (SSIO) support.  Might  that be what you are recalling?

I'm aware that the port of PostgreSQL is waiting on SSIO fixes. But my
impression is that SSIO provides byte range locking via a new XFC
interface that is able to do I/O with portions of a block rather than a
whole block. Since SQLite uses byte range locking for shared access, it
seemed a reasonable guess when people encountered trouble with locking
in SQLite that SSIO might be the answer. Not proven, by any means, but a
reasonable inference. Unless I've completely mixed up similar-sounding
but unrelated things here.

That said, I believe SQLite can do file-level locking (not sure if
that's a fallback or explicitly requested option) and for a single
application instance talking to its configuration data that's quite a
reasonable way to do things. Why pay for concurrency if you don't need it?

Anything I know about SSIO is from here:

<http://de.openvms.org/TUD2012/opensource_and_unix_portability.pdf>



More information about the Info-vax mailing list