Path to this page:
Subject: CVS commit: pkgsrc/databases/ruby-sqlite3
From: Takahiro Kambe
Date: 2024-10-13 18:22:23
Message id: 20241013162223.93AABFC7E@cvs.NetBSD.org
Log Message:
databases/ruby-sqlite3: update to 2.1.0
2.1.0 (2024-09-24)
Ruby
* This release drops support for Ruby 3.0. [#563] @flavorjones
Fork safety improvements
Sqlite itself is not fork-safe. Specifically, writing in a child process to
a database connection that was created in the parent process may corrupt the
database file. To mitigate this risk, sqlite3-ruby has implemented the
following changes:
* All open writable database connections carried across a fork() will
immediately be closed in the child process to mitigate the risk of
corrupting the database file.
* These connections will be incompletely closed ("discarded") which will
result in a one-time memory leak in the child process.
If it's at all possible, we strongly recommend that you close writable
database connections in the parent before forking. If absolutely necessary
(and you know what you're doing), you may suppress the fork safety warnings
by calling SQLite3::ForkSafety.suppress_warnings!.
See the README's "Fork Safety" section and adr/2024-09-fork-safety.md for
more information. [#558, #565, #566] @flavorjones
Improved
* Use sqlite3_close_v2 to close databases in a deferred manner if there are
unclosed prepared statements. Previously closing a database while
statements were open resulted in a BusyException. See
https://www.sqlite.org/c3ref/close.html for more context. [#557]
@flavorjones
* When setting a Database busy_handler, fire the write barrier to prevent
potential crashes during the GC mark phase. [#556] @jhawthorn
Documentation
* The FAQ.md has been updated to fix some inaccuracies. [#562] @rickhull
Files: