ncruces / go-sqlite3

Go bindings to SQLite using wazero
https://pkg.go.dev/github.com/ncruces/go-sqlite3
MIT License
402 stars 12 forks source link

Support for Linux s390x and z/OS. #86

Closed ncruces closed 4 months ago

ncruces commented 4 months ago

Linux s390x is big endian, but tests seem to pass in CI (under QEMU).

The z/OS flock seems to support the full BSD semantics:

Locks … are associated with an open file description. https://www.ibm.com/docs/en/zos/3.1.0?topic=functions-flock-apply-remove-advisory-lock-open-file

Remains to be seen if these are compatible with fcntl locks for osGetLock.

ncruces commented 4 months ago

Unfortunately, z/OS flock works perfectly according to BSD semantics, but like Linux, flock is incompatible with fcntl locks.

This means using flock would work but make this package incompatible with other implementations of SQLite.

I'll close the PR for now, as full support is unlikely. If you have a strong use case for z/OS (and are willing to live with some compromises) please open an issue to discuss.