Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
Relax sqlite `synchronous` flag
Merged yorgos-laptop opened 2 months ago

According to the docs [1]:

WAL mode is safe from corruption with synchronous=NORMAL, and probably DELETE mode is safe too on modern filesystems. WAL mode is always consistent with synchronous=NORMAL, but WAL mode does lose durability. A transaction committed in WAL mode with synchronous=NORMAL might roll back following a power loss or system crash. Transactions are durable across application crashes regardless of the synchronous setting or journal mode.

Also:

You lose durability across power lose with synchronous NORMAL in WAL mode, but that is not important for most applications. Transactions are still atomic, consistent, and isolated, which are the most important characteristics in most use cases.

The tradeoff here is that SQLite will not aggressively fsync() after every transaction, so we should see less disk pressure.

[1] - https://sqlite.org/wal.html

yorgos-laptop opened with revision 80369b81 on base b04f487b +1 -0 2 months ago

According to the docs [1]:

WAL mode is safe from corruption with synchronous=NORMAL, and probably DELETE mode is safe too on modern filesystems. WAL mode is always consistent with synchronous=NORMAL, but WAL mode does lose durability. A transaction committed in WAL mode with synchronous=NORMAL might roll back following a power loss or system crash. Transactions are durable across application crashes regardless of the synchronous setting or journal mode.

Also:

You lose durability across power lose with synchronous NORMAL in WAL mode, but that is not important for most applications. Transactions are still atomic, consistent, and isolated, which are the most important characteristics in most use cases.

The tradeoff here is that SQLite will not aggressively fsync() after every transaction, so we should see less disk pressure.

[1] - https://sqlite.org/wal.html

yorgos-laptop pushed revision 2 5c635af3 on base 4a5a51e6 +340 -180 2 months ago

Rebased on 1.6.1

shirahara commented on revision 1 2 months ago

I guess the link to the documentation would be https://www.sqlite.org/pragma.html.

yorgos-laptop pushed revision 3 34a7246c on base b04f487b +1 -0 2 months ago

Rebased

yorgos-laptop pushed revision 4 264b5641 on base b04f487b +1 -0 2 months ago
yorgos-laptop pushed revision 5 0934766e on base b04f487b +191 -15 2 months ago

Makes sqlite PRAGMA flags configurable, maintaining the new defaults

lorenz pushed revision 6 ff409ef4 on base b04f487b +255 -19 1 month ago

WIP

lorenz pushed revision 7 16d9c605 on base e9245b63 +256 -19 1 month ago

Polish

lorenz pushed revision 8 61a3ff6d on base e9245b63 +242 -19 1 month ago

Remove redundant tests for uppercase.

fintohaps pushed revision 9 0e00fdc6 on base e9245b63 +256 -19 1 month ago

Changes:

  • Fix commit typos and code fencing
lorenz pushed revision 10 6f5639f3 on base e9245b63 +363 -79 1 month ago

Move config closer to db module, split out sqlite_ext.

lorenz pushed revision 11 c0aefa9a on base e9245b63 +370 -79 1 month ago

Add changelog, clean up.

fintohaps pushed revision 12 8db89919 on base e9245b63 +374 -79 1 month ago

Changes:

  • Add top-level CHANEGLOG entry
fintohaps pushed revision 13 6b1ff04c on base 9ff67562 +434 -79 1 month ago

Changes:

  • Rebase
  • Fix JSON schema test
fintohaps merged revision 6b1ff04c at 5aaf978f 1 month ago