sqlite3 2.10.0-aarch64-linux-gnu → 2.10.1-aarch64-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68be8ed04d85ef7ec4bc345dab650d6095ae2837c063d7ec3308f8d7e606c8e5
4
- data.tar.gz: 9c91642427ea0cb898504dce1ed777a1d68867edf06882c1e4af08f60cc4cc3d
3
+ metadata.gz: 012660cbfb4c148a0a1ae84db94abffcacaafaf1e866c9599d90b62020843090
4
+ data.tar.gz: e64a827ff503d1fd7d817af683f53d9d953f43fe88be3dbed15e6bf2edbf0f3d
5
5
  SHA512:
6
- metadata.gz: 2c0c80f5b87738ce375e61065d473130e77812351f340baf3635c17dc8e5915d753b037fb6b2c55300cb8241727874f19020dbaa1f3587780cab047005554dec
7
- data.tar.gz: 42da023fb70c7e5cc0747405034eacb9e62ff36542acd58d67ad4c012a5d25dc1e43578343a66113a2856c99d87917c1e9d4f3a248eba0019ce92b799c5b5dd3
6
+ metadata.gz: a1ffb80013b3494a09092ecb6e8b6e914b927e966aaa70aaaddc10e22f71dddbd71eca19187d50d4a4bfbeb604b718b538d8aead84fa8a9cbba5495b20bc02cf
7
+ data.tar.gz: 2f30fc1f82cc7d9fbd2e6767269958a0608a3ce05507ffd4a4c51669f8516c08e78a548f0d051ed0d1ab13b17b459498516736a75b613ae581b2112c14171fb2
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
- # f5e3e724e9c9b3b5d512c76b02082091a59eeea9becd169a9fbf4d376403acce
3
+ # b6ced585c750916b1052667239a12c25a7ff34e7f06e1e6e01ecb0427657d9c4
4
4
  #
5
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3540000.tar.gz
6
- # f5e3e724e9c9b3b5d512c76b02082091a59eeea9becd169a9fbf4d376403acce ports/archives/sqlite-autoconf-3540000.tar.gz
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-3540000.tar.gz
9
- # 134ec0802dda5795816e25d25872d20b312cb3973438c49b30bc40b7705ea9ed ports/archives/sqlite-autoconf-3540000.tar.gz
10
- version: "3.54.0"
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-3540000.tar.gz"
13
- sha256: "134ec0802dda5795816e25d25872d20b312cb3973438c49b30bc40b7705ea9ed"
12
+ - url: "https://sqlite.org/2026/sqlite-autoconf-3540100.tar.gz"
13
+ sha256: "926ef8d3eab93fbf6e06011901273eec076b25594a4e1cdadd50c987f4f6d64e"
Binary file
Binary file
Binary file
Binary file
@@ -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
- proxy = Class.new do
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
 
@@ -1,4 +1,4 @@
1
1
  module SQLite3
2
2
  # (String) the version of the sqlite3 gem, e.g. "2.1.1"
3
- VERSION = "2.10.0"
3
+ VERSION = "2.10.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.0
4
+ version: 2.10.1
5
5
  platform: aarch64-linux-gnu
6
6
  authors:
7
7
  - Jamis Buck