pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/databases/ruby-sqlite3
Module Name: pkgsrc
Committed By: taca
Date: Wed Oct 28 15:21:13 UTC 2026
Modified Files:
pkgsrc/databases/ruby-sqlite3: Makefile distinfo
Log Message:
databases/ruby-sqlite3: update to 2.10.2
2.10.0 (2026-10-13)
Dependencies
* Vendored sqlite is updated to v3.54.0 (from v3.53.2). #750 @flavorjones
* Notable changes in this version include:
- ALTER TABLE now raises an error when adding, renaming, or dropping a
column named ROWID, _ROWID_, or OID.
- The authorizer callback is now invoked for SQL functions in the
DEFAULT clauses of CREATE TABLE statements.
- SQLite no longer supports Windows XP or earlier. On Windows, the
precompiled gem and any installation that compiles the vendored sqlite
now require Windows Vista or later.
Added
* ResultSet#each and #each_hash return an Enumerator when called without a
block. Previously they raised LocalJumpError. #656 @kch
* Introduce Database#serialize, which returns a database as a binary string,
and Database#deserialize, which replaces a database with the contents of
such a string. These wrap sqlite3_serialize() and sqlite3_deserialize().
Both methods are defined only when SQLite was compiled without
SQLITE_OMIT_DESERIALIZE, and Database#deserialize also requires that the
loaded SQLite is v3.54.0 or later. An image of a database in WAL mode
cannot be queried after deserializing; see the Database#deserialize
documentation. #685 @Maaarcocr
Fixed
* Fix Database#statement_timeout= interrupting statements almost immediately
instead of after the timeout elapsed, including re-executed prepared
statements and calls to Database#execute_batch2. #737 @palkan
@flavorjones
Improved
* On CRuby, Statement#types allocates fewer strings. Each declared type is
downcased and interned in C, instead of allocating two strings per column.
#743 @jhawthorn
Changed
* ResultSet#each and #each_hash return the result set when called with a
block. As a consequence, Database#execute and #execute2 called with a
block return the closed ResultSet instead of nil. #656 @kch
* Statement#columns and Statement#types return frozen arrays, and the
strings in Statement#types are frozen. Code that mutates them now raises
FrozenError. #743 @jhawthorn
* Statement#column_decltype and Statement#types return UTF-8 strings.
Previously they returned ASCII-8BIT strings. #743 @jhawthorn
2.10.1 (2026-10-19)
Dependencies
* Vendored sqlite is updated to v3.54.1 (from v3.54.0). This release
contains a fix for a possible heap buffer overflow on 32-bit builds,
including the precompiled x86-linux-gnu and x86-linux-musl gems. #756
@flavorjones
Improved
* Database#define_aggregator no longer creates an anonymous class for each
aggregate function it defines. Each invocation of the function still runs
on a clone of the template object. #752 @jhawthorn
2.10.2 (2026-10-26)
Security / Stability
* Raise RangeError when a SQL string, a bound String or Blob value, or a
String or Blob returned from a custom function or aggregate is longer than
INT_MAX bytes. Previously the length was truncated to 32 bits, so SQLite
could read only part of the string and drop trailing clauses from a query.
See GHSA-4fqr-96q8-xrfx for more information. #762 @flavorjones
* Fix a crash when a custom aggregate's finalize returns a value that can't
be converted to a SQLite result. The exception is now raised from the
query and the connection remains usable. #762 @flavorjones
* Fix a use-after-free when the hash returned by Database#collations is
cleared, modified or frozen. GC could free a comparator that SQLite still
called. When that hash is frozen, Database#collation still raises
FrozenError, but the new comparator stays registered and in use. #764
@flavorjones
* Fix a deadlock when a collation comparator, trace block, busy_handler
block or authorizer raises, or when an interrupt such as Thread#raise
arrives while an aggregate's handler is being created. Another thread
that used the connection blocked forever. The exception is now raised
from the query and the connection remains usable. See "Changed" below for
what SQLite does before the exception is raised. #764 @flavorjones
* Fix a crash when a custom function or aggregate uses throw. The throw now
unwinds to its catch. #764 @flavorjones
Changed
* When a callback raises or throws, SQLite now finishes its current call
before the exception is raised, instead of being unwound in the middle of
it. #764 @flavorjones
- When a trace block raises, SQLite runs the statement up to its first
row, or to completion, before the exception is raised. Previously the
statement stopped where the block raised. For example, an INSERT
whose trace block raises now inserts its row.
- The other callbacks in that SQLite call skip their Ruby code:
collation comparators return 0, functions and aggregates report an
error to SQLite, the busy handler stops retrying and the authorizer
denies.
- Database#execute_batch2 now raises the exception from a custom
function, instead of SQLite3::SQLException "Ruby Exception occurred".
- An exception from a callback that SQLite runs during Statement#reset!
or Database#close is discarded.
* The extension keeps per-fiber state in
Thread.current[:__sqlite3_callback_frames__]. A query raises FrozenError
on a Thread that was frozen before its first query. #764 @flavorjones
* When SQLite can't allocate an aggregate's context, the query raises
SQLite3::MemoryException instead of aborting the process. #764
@flavorjones
Improved
* Statement#step no longer allocates and discards an array when the
statement has no more rows. This saves one object per statement
execution. #758 @thomasklemm
* ObjectSpace.dump and heap profilers now report SQLite3::Database and
SQLite3::Statement objects under their own type names, instead of
SQLite3::Backup. #764 @flavorjones
Documentation
* Document that parameters bound by Statement#execute, #execute!,
#bind_param and #bind_params stay bound across executions, and that
Statement#clear_bindings! clears them. #751 @flavorjones
To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 pkgsrc/databases/ruby-sqlite3/Makefile
cvs rdiff -u -r1.62 -r1.63 pkgsrc/databases/ruby-sqlite3/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/databases/ruby-sqlite3/Makefile
diff -u pkgsrc/databases/ruby-sqlite3/Makefile:1.101 pkgsrc/databases/ruby-sqlite3/Makefile:1.102
--- pkgsrc/databases/ruby-sqlite3/Makefile:1.101 Wed Aug 12 04:44:16 2026
+++ pkgsrc/databases/ruby-sqlite3/Makefile Wed Oct 28 15:21:13 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.101 2026/08/12 04:44:16 taca Exp $
+# $NetBSD: Makefile,v 1.102 2026/10/28 15:21:13 taca Exp $
-DISTNAME= sqlite3-2.9.6
+DISTNAME= sqlite3-2.10.2
CATEGORIES= databases
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
@@ -14,7 +14,7 @@ USE_GCC_RUNTIME= yes
RUBY_EXTCONF_ARGS= --enable-system-libraries
OVERRIDE_GEMSPEC+= :files ${BUNDLED_ARCHIVE}=
-BUNDLED_ARCHIVE= ports/archives/sqlite-autoconf-3530200.tar.gz
+BUNDLED_ARCHIVE= ports/archives/sqlite-autoconf-3540100.tar.gz
pre-configure:
${RM} -f ${WRKSRC}/${BUNDLED_ARCHIVE}
Index: pkgsrc/databases/ruby-sqlite3/distinfo
diff -u pkgsrc/databases/ruby-sqlite3/distinfo:1.62 pkgsrc/databases/ruby-sqlite3/distinfo:1.63
--- pkgsrc/databases/ruby-sqlite3/distinfo:1.62 Wed Aug 12 04:44:16 2026
+++ pkgsrc/databases/ruby-sqlite3/distinfo Wed Oct 28 15:21:13 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.62 2026/08/12 04:44:16 taca Exp $
+$NetBSD: distinfo,v 1.63 2026/10/28 15:21:13 taca Exp $
-BLAKE2s (sqlite3-2.9.6.gem) = f7782509ae506f8c171e039946a0721d634f55db46fbdc82b857ff37f94f7075
-SHA512 (sqlite3-2.9.6.gem) = 817226e0b1bfa5e044d856e692ca2e8d959de6d079cc8b311727cf95c513877b8bb9b0d4354993f8e284fb5eda1411f32203019a8d83f2d15a23794d65271a4a
-Size (sqlite3-2.9.6.gem) = 3350016 bytes
+BLAKE2s (sqlite3-2.10.2.gem) = d8c8ed1a728390b44235b83897ab6565e267abb28f9851c7db05b20827d8381d
+SHA512 (sqlite3-2.10.2.gem) = 7316fe1eeab7f9b8ea4b867f300d29810788eaa7b833597af685b5431f44d253a63302e01a0cb63ab0a713b4615ad6da11efc6045ee1079df0f90f7dd7e8db4c
+Size (sqlite3-2.10.2.gem) = 3410944 bytes
Home |
Main Index |
Thread Index |
Old Index