~amirouche/okvs.dev

CHANGELOG: remove it...

... see git log instead!
transaction: add make-okdb-transaction-parameter...

... this helps to store states specific to a transaction, without
the need to pass around more than the transaction. It should help
extension library writers.
abstract: it is possible to handle concurrency without ACID.
issues: thread or thread safety is not part of any RnRS.
okdb-set! and okdb-remove!: do not specify okdb-in-transaction wrapping...

... it is implementation specific.
cursor: add okdb-cursor-positioned?
transactions: rework: add hooks, and okdb-transaction-hygiene
max sizes: rework...

- Remove rationales that are not backed by any experiences,

- Replace OKDB with HANDLE to allow easy access, even if
  implementation may not support to change the size at runtime.

- default values are unspecified and implementation specific.
okdb-close: make durability unspecified, hence optional.
Remove all arguments from the constructor make-okdb...

... All options are implementation specific.

It is not a problem for extension library writers because they do not
need to call the constructor.

To be portable across Scheme implementations, or okdb implementations,
the user may need to wrap that different make-okdb implementations.

That possibly force the use of generics?
no need for transaction state.

It can be implemented using parameters.
import from scheme live repository