sqlite3 2.10.0-x86-linux-gnu → 2.10.1-x86-linux-gnu
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/dependencies.yml +8 -8
- data/lib/sqlite3/3.2/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.3/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.4/sqlite3_native.so +0 -0
- data/lib/sqlite3/4.0/sqlite3_native.so +0 -0
- data/lib/sqlite3/database.rb +20 -30
- data/lib/sqlite3/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 69dbebafeac4db1b72125a9d73ed454549c40d2b14e049c2235be33154add55b
|
|
4
|
+
data.tar.gz: 06515f3a7d2e9a3eee6aaf36721c1a6a68e7b6b8bfcd94668c35e8dff5e4991a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9106bc21aa047a4358432687a2e4f92cf1a499e180b8e687ad6efafd21428f709445d1303b541af58aaf0943738d5b05962e5eeb62320c333da6dfbd5987c5a5
|
|
7
|
+
data.tar.gz: a882432765a2773d590fc0f1a28de510f038ab9ed332765c9b7af658e4cdf47c9968c538924945bb57ab9cfe2d43bbd38e127794fa63164436ee72f6afa215fe
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# sqlite3-ruby Changelog
|
|
2
2
|
|
|
3
|
+
## 2.10.1 / 2026-10-19
|
|
4
|
+
|
|
5
|
+
### Dependencies
|
|
6
|
+
|
|
7
|
+
- Vendored sqlite is updated to [v3.54.1](https://www.sqlite.org/releaselog/3_54_1.html) (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
|
|
8
|
+
|
|
9
|
+
### Improved
|
|
10
|
+
|
|
11
|
+
- `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
|
|
12
|
+
|
|
13
|
+
|
|
3
14
|
## 2.10.0 / 2026-10-13
|
|
4
15
|
|
|
5
16
|
### Dependencies
|
data/dependencies.yml
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
sqlite3:
|
|
2
2
|
# checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
|
|
3
|
-
#
|
|
3
|
+
# b6ced585c750916b1052667239a12c25a7ff34e7f06e1e6e01ecb0427657d9c4
|
|
4
4
|
#
|
|
5
|
-
# $
|
|
6
|
-
#
|
|
5
|
+
# $ openssl dgst -sha3-256 -r ports/archives/sqlite-autoconf-3540100.tar.gz
|
|
6
|
+
# b6ced585c750916b1052667239a12c25a7ff34e7f06e1e6e01ecb0427657d9c4 *ports/archives/sqlite-autoconf-3540100.tar.gz
|
|
7
7
|
#
|
|
8
|
-
# $ sha256sum ports/archives/sqlite-autoconf-
|
|
9
|
-
#
|
|
10
|
-
version: "3.54.
|
|
8
|
+
# $ sha256sum ports/archives/sqlite-autoconf-3540100.tar.gz
|
|
9
|
+
# 926ef8d3eab93fbf6e06011901273eec076b25594a4e1cdadd50c987f4f6d64e ports/archives/sqlite-autoconf-3540100.tar.gz
|
|
10
|
+
version: "3.54.1"
|
|
11
11
|
files:
|
|
12
|
-
- url: "https://sqlite.org/2026/sqlite-autoconf-
|
|
13
|
-
sha256: "
|
|
12
|
+
- url: "https://sqlite.org/2026/sqlite-autoconf-3540100.tar.gz"
|
|
13
|
+
sha256: "926ef8d3eab93fbf6e06011901273eec076b25594a4e1cdadd50c987f4f6d64e"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/lib/sqlite3/database.rb
CHANGED
|
@@ -579,6 +579,25 @@ module SQLite3
|
|
|
579
579
|
self
|
|
580
580
|
end
|
|
581
581
|
|
|
582
|
+
# The "handler" that #define_aggregator hands to define_aggregator2, which
|
|
583
|
+
# only needs something that responds to +new+ (a fresh aggregator for each
|
|
584
|
+
# aggregate invocation) and +arity+.
|
|
585
|
+
class AggregatorFactory # :nodoc:
|
|
586
|
+
def initialize(template)
|
|
587
|
+
@template = template
|
|
588
|
+
end
|
|
589
|
+
|
|
590
|
+
def new
|
|
591
|
+
@template.clone
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
# this is what sqlite3_obj_method_arity did before
|
|
595
|
+
def arity
|
|
596
|
+
@template.method(:step).arity
|
|
597
|
+
end
|
|
598
|
+
end
|
|
599
|
+
private_constant :AggregatorFactory
|
|
600
|
+
|
|
582
601
|
# Define an aggregate function named +name+ using a object template
|
|
583
602
|
# object +aggregator+. +aggregator+ must respond to +step+ and +finalize+.
|
|
584
603
|
# +step+ will be called with row information and +finalize+ must return the
|
|
@@ -592,36 +611,7 @@ module SQLite3
|
|
|
592
611
|
def define_aggregator(name, aggregator)
|
|
593
612
|
# Previously, this has been implemented in C. Now this is just yet
|
|
594
613
|
# another compatibility shim
|
|
595
|
-
|
|
596
|
-
@template = aggregator
|
|
597
|
-
@name = name
|
|
598
|
-
|
|
599
|
-
def self.template
|
|
600
|
-
@template
|
|
601
|
-
end
|
|
602
|
-
|
|
603
|
-
def self.name
|
|
604
|
-
@name
|
|
605
|
-
end
|
|
606
|
-
|
|
607
|
-
def self.arity
|
|
608
|
-
# this is what sqlite3_obj_method_arity did before
|
|
609
|
-
@template.method(:step).arity
|
|
610
|
-
end
|
|
611
|
-
|
|
612
|
-
def initialize
|
|
613
|
-
@klass = self.class.template.clone
|
|
614
|
-
end
|
|
615
|
-
|
|
616
|
-
def step(*args)
|
|
617
|
-
@klass.step(*args)
|
|
618
|
-
end
|
|
619
|
-
|
|
620
|
-
def finalize
|
|
621
|
-
@klass.finalize
|
|
622
|
-
end
|
|
623
|
-
end
|
|
624
|
-
define_aggregator2(proxy, name)
|
|
614
|
+
define_aggregator2(AggregatorFactory.new(aggregator), name)
|
|
625
615
|
self
|
|
626
616
|
end
|
|
627
617
|
|
data/lib/sqlite3/version.rb
CHANGED