sqlite3 1.6.2 → 1.6.3
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 +13 -0
- data/Gemfile +8 -0
- data/dependencies.yml +7 -7
- data/lib/sqlite3/version.rb +2 -2
- data/ports/archives/sqlite-autoconf-3420000.tar.gz +0 -0
- data/test/test_database.rb +29 -5
- data/test/test_deprecated.rb +10 -5
- data/test/test_encoding.rb +10 -0
- data/test/test_result_set.rb +18 -8
- data/test/test_statement.rb +25 -0
- data/test/test_statement_execute.rb +4 -0
- metadata +4 -80
- data/ports/archives/sqlite-autoconf-3410200.tar.gz +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bd05b46af0d4f89e125660bec21d64440653c7e8c9ebcc425f90390ce7b8f9c9
         | 
| 4 | 
            +
              data.tar.gz: 619be5f01d500878ad1d101683d67503ac8f18e6c4e78326c9c735344d141997
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d51109b1fc40075a89eb5d1dbde3332c750490bdb8fc7c979aca45c3010083435a4453da40671b0a046767390b6555c117f450ddae6fb92f0c68f299db1cec5d
         | 
| 7 | 
            +
              data.tar.gz: dde78179c5e10ffc088d99161178e47c857fe54d673a3641b54bcc70075a97512785c1ee3cc56266054894483b75c05f2fa89e194d416034b9c6b1f2c268b8f8
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,18 @@ | |
| 1 1 | 
             
            # sqlite3-ruby Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 1.6.3 / 2023-05-16
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Dependencies
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            Vendored sqlite is updated to [v3.42.0](https://sqlite.org/releaselog/3_42_0.html).
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            From the release announcement:
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            > This is a regular enhancement release.  The main new features are:
         | 
| 12 | 
            +
            > * SQLite will now parse and understand JSON5, though it is careful to generate only pure, canonical JSON.
         | 
| 13 | 
            +
            > * The secure-delete option has been added to the FTS5 extension.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
             | 
| 3 16 | 
             
            ## 1.6.2 / 2023-03-27
         | 
| 4 17 |  | 
| 5 18 | 
             
            ### Dependencies
         | 
    
        data/Gemfile
    CHANGED
    
    | @@ -1,3 +1,11 @@ | |
| 1 1 | 
             
            source "https://rubygems.org"
         | 
| 2 2 |  | 
| 3 3 | 
             
            gemspec
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            gem("minitest", "~> 5.15")
         | 
| 6 | 
            +
            gem("rake-compiler", "~> 1.2.0")
         | 
| 7 | 
            +
            gem("rake-compiler-dock", "1.3.0")
         | 
| 8 | 
            +
            gem("rdoc", ">= 4.0", "< 7")
         | 
| 9 | 
            +
            gem("psych", "~> 4.0") # psych 5 doesn't build on some CI platforms yet
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            gem("ruby_memcheck") if Gem::Platform.local.os == "linux"
         | 
    
        data/dependencies.yml
    CHANGED
    
    | @@ -2,13 +2,13 @@ | |
| 2 2 | 
             
            :sqlite3:
         | 
| 3 3 | 
             
              # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
         | 
| 4 4 | 
             
              #
         | 
| 5 | 
            -
              # $ sha3sum -a 256 ports/archives/sqlite-autoconf- | 
| 6 | 
            -
              #  | 
| 5 | 
            +
              # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3420000.tar.gz
         | 
| 6 | 
            +
              # 643898e9fcc8f6069bcd47b0e6057221c1ed17bbee57da20d2752c79d91274e8  ports/archives/sqlite-autoconf-3420000.tar.gz
         | 
| 7 7 | 
             
              #
         | 
| 8 | 
            -
              # $ sha256sum ports/archives/sqlite-autoconf- | 
| 9 | 
            -
              #  | 
| 8 | 
            +
              # $ sha256sum ports/archives/sqlite-autoconf-3420000.tar.gz
         | 
| 9 | 
            +
              # 7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6  ports/archives/sqlite-autoconf-3420000.tar.gz
         | 
| 10 10 | 
             
              #
         | 
| 11 | 
            -
              :version: "3. | 
| 11 | 
            +
              :version: "3.42.0"
         | 
| 12 12 | 
             
              :files:
         | 
| 13 | 
            -
                - :url: "https://sqlite.org/2023/sqlite-autoconf- | 
| 14 | 
            -
                  :sha256: " | 
| 13 | 
            +
                - :url: "https://sqlite.org/2023/sqlite-autoconf-3420000.tar.gz"
         | 
| 14 | 
            +
                  :sha256: "7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6"
         | 
    
        data/lib/sqlite3/version.rb
    CHANGED
    
    
| Binary file | 
    
        data/test/test_database.rb
    CHANGED
    
    | @@ -11,6 +11,10 @@ module SQLite3 | |
| 11 11 | 
             
                  super
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 | 
            +
                def teardown
         | 
| 15 | 
            +
                  @db.close unless @db.closed?
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 14 18 | 
             
                def test_segv
         | 
| 15 19 | 
             
                  assert_raises { SQLite3::Database.new 1 }
         | 
| 16 20 | 
             
                end
         | 
| @@ -54,6 +58,7 @@ module SQLite3 | |
| 54 58 | 
             
                  assert_equal pn.realdirpath.to_s, File.realdirpath(db.filename)
         | 
| 55 59 | 
             
                ensure
         | 
| 56 60 | 
             
                  tf.close! if tf
         | 
| 61 | 
            +
                  db.close if db
         | 
| 57 62 | 
             
                end
         | 
| 58 63 |  | 
| 59 64 |  | 
| @@ -189,6 +194,8 @@ module SQLite3 | |
| 189 194 | 
             
                def test_new
         | 
| 190 195 | 
             
                  db = SQLite3::Database.new(':memory:')
         | 
| 191 196 | 
             
                  assert db
         | 
| 197 | 
            +
                ensure
         | 
| 198 | 
            +
                  db.close if db
         | 
| 192 199 | 
             
                end
         | 
| 193 200 |  | 
| 194 201 | 
             
                def test_new_yields_self
         | 
| @@ -210,6 +217,8 @@ module SQLite3 | |
| 210 217 | 
             
                                               :utf16 => true)
         | 
| 211 218 | 
             
                  end
         | 
| 212 219 | 
             
                  assert db
         | 
| 220 | 
            +
                ensure
         | 
| 221 | 
            +
                  db.close if db
         | 
| 213 222 | 
             
                end
         | 
| 214 223 |  | 
| 215 224 | 
             
                def test_close
         | 
| @@ -243,6 +252,8 @@ module SQLite3 | |
| 243 252 | 
             
                  db = SQLite3::Database.new(':memory:')
         | 
| 244 253 | 
             
                  stmt = db.prepare('select "hello world"')
         | 
| 245 254 | 
             
                  assert_instance_of(SQLite3::Statement, stmt)
         | 
| 255 | 
            +
                ensure
         | 
| 256 | 
            +
                  stmt.close if stmt
         | 
| 246 257 | 
             
                end
         | 
| 247 258 |  | 
| 248 259 | 
             
                def test_block_prepare_does_not_double_close
         | 
| @@ -459,15 +470,19 @@ module SQLite3 | |
| 459 470 | 
             
                end
         | 
| 460 471 |  | 
| 461 472 | 
             
                def test_authorizer_ok
         | 
| 473 | 
            +
                  statements = []
         | 
| 474 | 
            +
             | 
| 462 475 | 
             
                  @db.authorizer = Class.new {
         | 
| 463 476 | 
             
                    def call action, a, b, c, d; true end
         | 
| 464 477 | 
             
                  }.new
         | 
| 465 | 
            -
                  @db.prepare("select 'fooooo'")
         | 
| 478 | 
            +
                  statements << @db.prepare("select 'fooooo'")
         | 
| 466 479 |  | 
| 467 480 | 
             
                  @db.authorizer = Class.new {
         | 
| 468 481 | 
             
                    def call action, a, b, c, d; 0 end
         | 
| 469 482 | 
             
                  }.new
         | 
| 470 | 
            -
                  @db.prepare("select 'fooooo'")
         | 
| 483 | 
            +
                  statements << @db.prepare("select 'fooooo'")
         | 
| 484 | 
            +
                ensure
         | 
| 485 | 
            +
                  statements.each(&:close)
         | 
| 471 486 | 
             
                end
         | 
| 472 487 |  | 
| 473 488 | 
             
                def test_authorizer_ignore
         | 
| @@ -476,6 +491,8 @@ module SQLite3 | |
| 476 491 | 
             
                  }.new
         | 
| 477 492 | 
             
                  stmt = @db.prepare("select 'fooooo'")
         | 
| 478 493 | 
             
                  assert_nil stmt.step
         | 
| 494 | 
            +
                ensure
         | 
| 495 | 
            +
                  stmt.close if stmt
         | 
| 479 496 | 
             
                end
         | 
| 480 497 |  | 
| 481 498 | 
             
                def test_authorizer_fail
         | 
| @@ -496,14 +513,18 @@ module SQLite3 | |
| 496 513 | 
             
                  end
         | 
| 497 514 |  | 
| 498 515 | 
             
                  @db.authorizer = nil
         | 
| 499 | 
            -
                  @db.prepare("select 'fooooo'")
         | 
| 516 | 
            +
                  s = @db.prepare("select 'fooooo'")
         | 
| 517 | 
            +
                ensure
         | 
| 518 | 
            +
                  s.close if s
         | 
| 500 519 | 
             
                end
         | 
| 501 520 |  | 
| 502 521 | 
             
                def test_close_with_open_statements
         | 
| 503 | 
            -
                  @db.prepare("select 'foo'")
         | 
| 522 | 
            +
                  s = @db.prepare("select 'foo'")
         | 
| 504 523 | 
             
                  assert_raises(SQLite3::BusyException) do
         | 
| 505 524 | 
             
                    @db.close
         | 
| 506 525 | 
             
                  end
         | 
| 526 | 
            +
                ensure
         | 
| 527 | 
            +
                  s.close if s
         | 
| 507 528 | 
             
                end
         | 
| 508 529 |  | 
| 509 530 | 
             
                def test_execute_with_empty_bind_params
         | 
| @@ -511,7 +532,10 @@ module SQLite3 | |
| 511 532 | 
             
                end
         | 
| 512 533 |  | 
| 513 534 | 
             
                def test_query_with_named_bind_params
         | 
| 514 | 
            -
                   | 
| 535 | 
            +
                  resultset = @db.query("select :n", {'n' => 'foo'})
         | 
| 536 | 
            +
                  assert_equal [['foo']], resultset.to_a
         | 
| 537 | 
            +
                ensure
         | 
| 538 | 
            +
                  resultset.close if resultset
         | 
| 515 539 | 
             
                end
         | 
| 516 540 |  | 
| 517 541 | 
             
                def test_execute_with_named_bind_params
         | 
    
        data/test/test_deprecated.rb
    CHANGED
    
    | @@ -2,8 +2,6 @@ require 'helper' | |
| 2 2 |  | 
| 3 3 | 
             
            module SQLite3
         | 
| 4 4 | 
             
              class TestDeprecated < SQLite3::TestCase
         | 
| 5 | 
            -
                attr_reader :db
         | 
| 6 | 
            -
             | 
| 7 5 | 
             
                def setup
         | 
| 8 6 | 
             
                  super
         | 
| 9 7 | 
             
                  @warn_before = $-w
         | 
| @@ -15,10 +13,13 @@ module SQLite3 | |
| 15 13 | 
             
                def teardown
         | 
| 16 14 | 
             
                  super
         | 
| 17 15 | 
             
                  $-w = @warn_before
         | 
| 16 | 
            +
                  @db.close
         | 
| 18 17 | 
             
                end
         | 
| 19 18 |  | 
| 20 19 | 
             
                def test_query_with_many_bind_params_not_nil
         | 
| 21 | 
            -
                   | 
| 20 | 
            +
                  rs = @db.query('select ?, ?', 1, 2)
         | 
| 21 | 
            +
                  assert_equal [[1, 2]], rs.to_a
         | 
| 22 | 
            +
                  rs.close
         | 
| 22 23 | 
             
                end
         | 
| 23 24 |  | 
| 24 25 | 
             
                def test_execute_with_many_bind_params_not_nil
         | 
| @@ -26,11 +27,15 @@ module SQLite3 | |
| 26 27 | 
             
                end
         | 
| 27 28 |  | 
| 28 29 | 
             
                def test_query_with_many_bind_params
         | 
| 29 | 
            -
                   | 
| 30 | 
            +
                  rs = @db.query("select ?, ?", nil, 1)
         | 
| 31 | 
            +
                  assert_equal [[nil, 1]], rs.to_a
         | 
| 32 | 
            +
                  rs.close
         | 
| 30 33 | 
             
                end
         | 
| 31 34 |  | 
| 32 35 | 
             
                def test_query_with_nil_bind_params
         | 
| 33 | 
            -
                   | 
| 36 | 
            +
                  rs = @db.query("select 'foo'", nil)
         | 
| 37 | 
            +
                  assert_equal [['foo']], rs.to_a
         | 
| 38 | 
            +
                  rs.close
         | 
| 34 39 | 
             
                end
         | 
| 35 40 |  | 
| 36 41 | 
             
                def test_execute_with_many_bind_params
         | 
    
        data/test/test_encoding.rb
    CHANGED
    
    | @@ -11,6 +11,10 @@ module SQLite3 | |
| 11 11 | 
             
                  @db.execute(@create);
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 | 
            +
                def teardown
         | 
| 15 | 
            +
                  @db.close
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 14 18 | 
             
                def test_select_encoding_on_utf_16
         | 
| 15 19 | 
             
                  str = "foo"
         | 
| 16 20 | 
             
                  utf16 = ([1].pack("I") == [1].pack("N")) ? "UTF-16BE" : "UTF-16LE"
         | 
| @@ -24,6 +28,7 @@ module SQLite3 | |
| 24 28 | 
             
                    assert_equal 1, stmt.to_a.length
         | 
| 25 29 | 
             
                    stmt.reset!
         | 
| 26 30 | 
             
                  end
         | 
| 31 | 
            +
                  stmt.close
         | 
| 27 32 | 
             
                end
         | 
| 28 33 |  | 
| 29 34 | 
             
                def test_insert_encoding
         | 
| @@ -39,6 +44,7 @@ module SQLite3 | |
| 39 44 | 
             
                    stmt.to_a
         | 
| 40 45 | 
             
                    stmt.reset!
         | 
| 41 46 | 
             
                  end
         | 
| 47 | 
            +
                  stmt.close
         | 
| 42 48 |  | 
| 43 49 | 
             
                  db.execute('select data from ex').flatten.each do |s|
         | 
| 44 50 | 
             
                    assert_equal str, s
         | 
| @@ -55,6 +61,7 @@ module SQLite3 | |
| 55 61 | 
             
                  stmt = @db.prepare('insert into ex(data) values (?)')
         | 
| 56 62 | 
             
                  stmt.bind_param 1, str
         | 
| 57 63 | 
             
                  stmt.step
         | 
| 64 | 
            +
                  stmt.close
         | 
| 58 65 |  | 
| 59 66 | 
             
                  Encoding.default_internal = 'EUC-JP'
         | 
| 60 67 | 
             
                  string = @db.execute('select data from ex').first.first
         | 
| @@ -73,6 +80,7 @@ module SQLite3 | |
| 73 80 | 
             
                  stmt = @db.prepare('insert into foo(data) values (?)')
         | 
| 74 81 | 
             
                  stmt.bind_param(1, SQLite3::Blob.new(str))
         | 
| 75 82 | 
             
                  stmt.step
         | 
| 83 | 
            +
                  stmt.close
         | 
| 76 84 |  | 
| 77 85 | 
             
                  string = @db.execute('select data from foo').first.first
         | 
| 78 86 | 
             
                  assert_equal Encoding.find('ASCII-8BIT'), string.encoding
         | 
| @@ -85,6 +93,7 @@ module SQLite3 | |
| 85 93 | 
             
                  stmt = @db.prepare('insert into foo(data) values (?)')
         | 
| 86 94 | 
             
                  stmt.bind_param(1, str.dup.force_encoding("ASCII-8BIT"))
         | 
| 87 95 | 
             
                  stmt.step
         | 
| 96 | 
            +
                  stmt.close
         | 
| 88 97 |  | 
| 89 98 | 
             
                  string = @db.execute('select data from foo').first.first
         | 
| 90 99 | 
             
                  assert_equal Encoding.find('ASCII-8BIT'), string.encoding
         | 
| @@ -97,6 +106,7 @@ module SQLite3 | |
| 97 106 | 
             
                  stmt = @db.prepare('insert into foo(data) values (?)')
         | 
| 98 107 | 
             
                  stmt.bind_param(1, SQLite3::Blob.new(str))
         | 
| 99 108 | 
             
                  stmt.step
         | 
| 109 | 
            +
                  stmt.close
         | 
| 100 110 |  | 
| 101 111 | 
             
                  string = @db.execute('select data from foo').first.first
         | 
| 102 112 | 
             
                  assert_equal Encoding.find('ASCII-8BIT'), string.encoding
         | 
    
        data/test/test_result_set.rb
    CHANGED
    
    | @@ -2,29 +2,38 @@ require 'helper' | |
| 2 2 |  | 
| 3 3 | 
             
            module SQLite3
         | 
| 4 4 | 
             
              class TestResultSet < SQLite3::TestCase
         | 
| 5 | 
            +
                def setup
         | 
| 6 | 
            +
                  @db = SQLite3::Database.new ':memory:'
         | 
| 7 | 
            +
                  super
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                def teardown
         | 
| 11 | 
            +
                  super
         | 
| 12 | 
            +
                  @db.close
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 5 15 | 
             
                def test_each_hash
         | 
| 6 | 
            -
                  db  | 
| 7 | 
            -
                  db.execute "create table foo ( a integer primary key, b text )"
         | 
| 16 | 
            +
                  @db.execute "create table foo ( a integer primary key, b text )"
         | 
| 8 17 | 
             
                  list = ('a'..'z').to_a
         | 
| 9 18 | 
             
                  list.each do |t|
         | 
| 10 | 
            -
                    db.execute "insert into foo (b) values (\"#{t}\")"
         | 
| 19 | 
            +
                    @db.execute "insert into foo (b) values (\"#{t}\")"
         | 
| 11 20 | 
             
                  end
         | 
| 12 21 |  | 
| 13 | 
            -
                  rs = db.prepare('select * from foo').execute
         | 
| 22 | 
            +
                  rs = @db.prepare('select * from foo').execute
         | 
| 14 23 | 
             
                  rs.each_hash do |hash|
         | 
| 15 24 | 
             
                    assert_equal list[hash['a'] - 1], hash['b']
         | 
| 16 25 | 
             
                  end
         | 
| 26 | 
            +
                  rs.close
         | 
| 17 27 | 
             
                end
         | 
| 18 28 |  | 
| 19 29 | 
             
                def test_next_hash
         | 
| 20 | 
            -
                  db  | 
| 21 | 
            -
                  db.execute "create table foo ( a integer primary key, b text )"
         | 
| 30 | 
            +
                  @db.execute "create table foo ( a integer primary key, b text )"
         | 
| 22 31 | 
             
                  list = ('a'..'z').to_a
         | 
| 23 32 | 
             
                  list.each do |t|
         | 
| 24 | 
            -
                    db.execute "insert into foo (b) values (\"#{t}\")"
         | 
| 33 | 
            +
                    @db.execute "insert into foo (b) values (\"#{t}\")"
         | 
| 25 34 | 
             
                  end
         | 
| 26 35 |  | 
| 27 | 
            -
                  rs = db.prepare('select * from foo').execute
         | 
| 36 | 
            +
                  rs = @db.prepare('select * from foo').execute
         | 
| 28 37 | 
             
                  rows = []
         | 
| 29 38 | 
             
                  while row = rs.next_hash
         | 
| 30 39 | 
             
                    rows << row
         | 
| @@ -32,6 +41,7 @@ module SQLite3 | |
| 32 41 | 
             
                  rows.each do |hash|
         | 
| 33 42 | 
             
                    assert_equal list[hash['a'] - 1], hash['b']
         | 
| 34 43 | 
             
                  end
         | 
| 44 | 
            +
                  rs.close
         | 
| 35 45 | 
             
                end
         | 
| 36 46 | 
             
              end
         | 
| 37 47 | 
             
            end
         | 
    
        data/test/test_statement.rb
    CHANGED
    
    | @@ -7,6 +7,11 @@ module SQLite3 | |
| 7 7 | 
             
                  @stmt = SQLite3::Statement.new(@db, "select 'foo'")
         | 
| 8 8 | 
             
                end
         | 
| 9 9 |  | 
| 10 | 
            +
                def teardown
         | 
| 11 | 
            +
                  @stmt.close if !@stmt.closed?
         | 
| 12 | 
            +
                  @db.close
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 10 15 | 
             
                def test_double_close_does_not_segv
         | 
| 11 16 | 
             
                  @db.execute 'CREATE TABLE "things" ("number" float NOT NULL)'
         | 
| 12 17 |  | 
| @@ -35,6 +40,8 @@ module SQLite3 | |
| 35 40 | 
             
                  # Older versions of SQLite return:
         | 
| 36 41 | 
             
                  #   column *column_name* is not unique
         | 
| 37 42 | 
             
                  assert_match(/(column(s)? .* (is|are) not unique|UNIQUE constraint failed: .*)/, exception.message)
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  stmt.close
         | 
| 38 45 | 
             
                end
         | 
| 39 46 |  | 
| 40 47 | 
             
                ###
         | 
| @@ -46,6 +53,7 @@ module SQLite3 | |
| 46 53 | 
             
                  if stmt.respond_to?(:database_name)
         | 
| 47 54 | 
             
                    assert_equal 'main', stmt.database_name(0)
         | 
| 48 55 | 
             
                  end
         | 
| 56 | 
            +
                  stmt.close
         | 
| 49 57 | 
             
                end
         | 
| 50 58 |  | 
| 51 59 | 
             
                def test_prepare_blob
         | 
| @@ -77,6 +85,7 @@ module SQLite3 | |
| 77 85 | 
             
                def test_new_with_remainder
         | 
| 78 86 | 
             
                  stmt = SQLite3::Statement.new(@db, "select 'foo';bar")
         | 
| 79 87 | 
             
                  assert_equal 'bar', stmt.remainder
         | 
| 88 | 
            +
                  stmt.close
         | 
| 80 89 | 
             
                end
         | 
| 81 90 |  | 
| 82 91 | 
             
                def test_empty_remainder
         | 
| @@ -101,6 +110,7 @@ module SQLite3 | |
| 101 110 | 
             
                  result = nil
         | 
| 102 111 | 
             
                  stmt.each { |x| result = x }
         | 
| 103 112 | 
             
                  assert_equal ['hello'], result
         | 
| 113 | 
            +
                  stmt.close
         | 
| 104 114 | 
             
                end
         | 
| 105 115 |  | 
| 106 116 | 
             
                def test_bind_param_int
         | 
| @@ -109,6 +119,7 @@ module SQLite3 | |
| 109 119 | 
             
                  result = nil
         | 
| 110 120 | 
             
                  stmt.each { |x| result = x }
         | 
| 111 121 | 
             
                  assert_equal [10], result
         | 
| 122 | 
            +
                  stmt.close
         | 
| 112 123 | 
             
                end
         | 
| 113 124 |  | 
| 114 125 | 
             
                def test_bind_nil
         | 
| @@ -117,6 +128,7 @@ module SQLite3 | |
| 117 128 | 
             
                  result = nil
         | 
| 118 129 | 
             
                  stmt.each { |x| result = x }
         | 
| 119 130 | 
             
                  assert_equal [nil], result
         | 
| 131 | 
            +
                  stmt.close
         | 
| 120 132 | 
             
                end
         | 
| 121 133 |  | 
| 122 134 | 
             
                def test_bind_blob
         | 
| @@ -125,6 +137,7 @@ module SQLite3 | |
| 125 137 | 
             
                  stmt.bind_param(1, SQLite3::Blob.new('hello'))
         | 
| 126 138 | 
             
                  stmt.execute
         | 
| 127 139 | 
             
                  row = @db.execute('select * from foo')
         | 
| 140 | 
            +
                  stmt.close
         | 
| 128 141 |  | 
| 129 142 | 
             
                  assert_equal ['hello'], row.first
         | 
| 130 143 | 
             
                  assert_equal ['blob'], row.first.types
         | 
| @@ -136,6 +149,7 @@ module SQLite3 | |
| 136 149 | 
             
                  result = nil
         | 
| 137 150 | 
             
                  stmt.each { |x| result = x }
         | 
| 138 151 | 
             
                  assert_equal [2 ** 31], result
         | 
| 152 | 
            +
                  stmt.close
         | 
| 139 153 | 
             
                end
         | 
| 140 154 |  | 
| 141 155 | 
             
                def test_bind_double
         | 
| @@ -144,6 +158,7 @@ module SQLite3 | |
| 144 158 | 
             
                  result = nil
         | 
| 145 159 | 
             
                  stmt.each { |x| result = x }
         | 
| 146 160 | 
             
                  assert_equal [2.2], result
         | 
| 161 | 
            +
                  stmt.close
         | 
| 147 162 | 
             
                end
         | 
| 148 163 |  | 
| 149 164 | 
             
                def test_named_bind
         | 
| @@ -152,6 +167,7 @@ module SQLite3 | |
| 152 167 | 
             
                  result = nil
         | 
| 153 168 | 
             
                  stmt.each { |x| result = x }
         | 
| 154 169 | 
             
                  assert_equal ['hello'], result
         | 
| 170 | 
            +
                  stmt.close
         | 
| 155 171 | 
             
                end
         | 
| 156 172 |  | 
| 157 173 | 
             
                def test_named_bind_no_colon
         | 
| @@ -160,6 +176,7 @@ module SQLite3 | |
| 160 176 | 
             
                  result = nil
         | 
| 161 177 | 
             
                  stmt.each { |x| result = x }
         | 
| 162 178 | 
             
                  assert_equal ['hello'], result
         | 
| 179 | 
            +
                  stmt.close
         | 
| 163 180 | 
             
                end
         | 
| 164 181 |  | 
| 165 182 | 
             
                def test_named_bind_symbol
         | 
| @@ -168,6 +185,7 @@ module SQLite3 | |
| 168 185 | 
             
                  result = nil
         | 
| 169 186 | 
             
                  stmt.each { |x| result = x }
         | 
| 170 187 | 
             
                  assert_equal ['hello'], result
         | 
| 188 | 
            +
                  stmt.close
         | 
| 171 189 | 
             
                end
         | 
| 172 190 |  | 
| 173 191 | 
             
                def test_named_bind_not_found
         | 
| @@ -175,6 +193,7 @@ module SQLite3 | |
| 175 193 | 
             
                  assert_raises(SQLite3::Exception) do
         | 
| 176 194 | 
             
                    stmt.bind_param('bar', 'hello')
         | 
| 177 195 | 
             
                  end
         | 
| 196 | 
            +
                  stmt.close
         | 
| 178 197 | 
             
                end
         | 
| 179 198 |  | 
| 180 199 | 
             
                def test_each
         | 
| @@ -225,16 +244,19 @@ module SQLite3 | |
| 225 244 | 
             
                def test_bind_parameter_count
         | 
| 226 245 | 
             
                  stmt = SQLite3::Statement.new(@db, "select ?, ?, ?")
         | 
| 227 246 | 
             
                  assert_equal 3, stmt.bind_parameter_count
         | 
| 247 | 
            +
                  stmt.close
         | 
| 228 248 | 
             
                end
         | 
| 229 249 |  | 
| 230 250 | 
             
                def test_execute_with_varargs
         | 
| 231 251 | 
             
                  stmt = @db.prepare('select ?, ?')
         | 
| 232 252 | 
             
                  assert_equal [[nil, nil]], stmt.execute(nil, nil).to_a
         | 
| 253 | 
            +
                  stmt.close
         | 
| 233 254 | 
             
                end
         | 
| 234 255 |  | 
| 235 256 | 
             
                def test_execute_with_hash
         | 
| 236 257 | 
             
                  stmt = @db.prepare('select :n, :h')
         | 
| 237 258 | 
             
                  assert_equal [[10, nil]], stmt.execute('n' => 10, 'h' => nil).to_a
         | 
| 259 | 
            +
                  stmt.close
         | 
| 238 260 | 
             
                end
         | 
| 239 261 |  | 
| 240 262 | 
             
                def test_with_error
         | 
| @@ -244,6 +266,7 @@ module SQLite3 | |
| 244 266 | 
             
                  stmt.execute('employee-1') rescue SQLite3::ConstraintException
         | 
| 245 267 | 
             
                  stmt.reset!
         | 
| 246 268 | 
             
                  assert stmt.execute('employee-2')
         | 
| 269 | 
            +
                  stmt.close
         | 
| 247 270 | 
             
                end
         | 
| 248 271 |  | 
| 249 272 | 
             
                def test_clear_bindings!
         | 
| @@ -258,6 +281,8 @@ module SQLite3 | |
| 258 281 | 
             
                  while x = stmt.step
         | 
| 259 282 | 
             
                    assert_equal [nil, nil], x
         | 
| 260 283 | 
             
                  end
         | 
| 284 | 
            +
             | 
| 285 | 
            +
                  stmt.close
         | 
| 261 286 | 
             
                end
         | 
| 262 287 | 
             
              end
         | 
| 263 288 | 
             
            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: 1.6. | 
| 4 | 
            +
              version: 1.6.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jamis Buck
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2023- | 
| 13 | 
            +
            date: 2023-05-16 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: mini_portile2
         | 
| @@ -27,82 +27,6 @@ dependencies: | |
| 27 27 | 
             
                  - !ruby/object:Gem::Version
         | 
| 28 28 | 
             
                    version: 2.8.0
         | 
| 29 29 | 
             
              force_ruby_platform: false
         | 
| 30 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 31 | 
            -
              name: minitest
         | 
| 32 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            -
                requirements:
         | 
| 34 | 
            -
                - - "~>"
         | 
| 35 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 36 | 
            -
                    version: '5.15'
         | 
| 37 | 
            -
              type: :development
         | 
| 38 | 
            -
              prerelease: false
         | 
| 39 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 40 | 
            -
                requirements:
         | 
| 41 | 
            -
                - - "~>"
         | 
| 42 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: '5.15'
         | 
| 44 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 45 | 
            -
              name: rake-compiler
         | 
| 46 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 47 | 
            -
                requirements:
         | 
| 48 | 
            -
                - - "~>"
         | 
| 49 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 50 | 
            -
                    version: 1.2.0
         | 
| 51 | 
            -
              type: :development
         | 
| 52 | 
            -
              prerelease: false
         | 
| 53 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 54 | 
            -
                requirements:
         | 
| 55 | 
            -
                - - "~>"
         | 
| 56 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 57 | 
            -
                    version: 1.2.0
         | 
| 58 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 59 | 
            -
              name: rake-compiler-dock
         | 
| 60 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 61 | 
            -
                requirements:
         | 
| 62 | 
            -
                - - '='
         | 
| 63 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 64 | 
            -
                    version: 1.3.0
         | 
| 65 | 
            -
              type: :development
         | 
| 66 | 
            -
              prerelease: false
         | 
| 67 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 68 | 
            -
                requirements:
         | 
| 69 | 
            -
                - - '='
         | 
| 70 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 71 | 
            -
                    version: 1.3.0
         | 
| 72 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 73 | 
            -
              name: rdoc
         | 
| 74 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 75 | 
            -
                requirements:
         | 
| 76 | 
            -
                - - ">="
         | 
| 77 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 78 | 
            -
                    version: '4.0'
         | 
| 79 | 
            -
                - - "<"
         | 
| 80 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: '7'
         | 
| 82 | 
            -
              type: :development
         | 
| 83 | 
            -
              prerelease: false
         | 
| 84 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 85 | 
            -
                requirements:
         | 
| 86 | 
            -
                - - ">="
         | 
| 87 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            -
                    version: '4.0'
         | 
| 89 | 
            -
                - - "<"
         | 
| 90 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 91 | 
            -
                    version: '7'
         | 
| 92 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 93 | 
            -
              name: psych
         | 
| 94 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 95 | 
            -
                requirements:
         | 
| 96 | 
            -
                - - "~>"
         | 
| 97 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 98 | 
            -
                    version: '4.0'
         | 
| 99 | 
            -
              type: :development
         | 
| 100 | 
            -
              prerelease: false
         | 
| 101 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 102 | 
            -
                requirements:
         | 
| 103 | 
            -
                - - "~>"
         | 
| 104 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 105 | 
            -
                    version: '4.0'
         | 
| 106 30 | 
             
            description: |-
         | 
| 107 31 | 
             
              This module allows Ruby programs to interface with the SQLite3
         | 
| 108 32 | 
             
              database engine (http://www.sqlite.org).  You must have the
         | 
| @@ -160,7 +84,7 @@ files: | |
| 160 84 | 
             
            - lib/sqlite3/translator.rb
         | 
| 161 85 | 
             
            - lib/sqlite3/value.rb
         | 
| 162 86 | 
             
            - lib/sqlite3/version.rb
         | 
| 163 | 
            -
            - ports/archives/sqlite-autoconf- | 
| 87 | 
            +
            - ports/archives/sqlite-autoconf-3420000.tar.gz
         | 
| 164 88 | 
             
            - test/helper.rb
         | 
| 165 89 | 
             
            - test/test_backup.rb
         | 
| 166 90 | 
             
            - test/test_collation.rb
         | 
| @@ -209,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 209 133 | 
             
                - !ruby/object:Gem::Version
         | 
| 210 134 | 
             
                  version: '0'
         | 
| 211 135 | 
             
            requirements: []
         | 
| 212 | 
            -
            rubygems_version: 3.4. | 
| 136 | 
            +
            rubygems_version: 3.4.10
         | 
| 213 137 | 
             
            signing_key: 
         | 
| 214 138 | 
             
            specification_version: 4
         | 
| 215 139 | 
             
            summary: This module allows Ruby programs to interface with the SQLite3 database engine
         | 
| Binary file |