Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sqlite3 1.7.3 → 2.0.3 (major) #1334

Closed
wants to merge 1 commit into from
Closed

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Jul 30, 2024

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ sqlite3 (1.7.3 → 2.0.3) · Repo · Changelog

Release Notes

2.0.3

2.0.3 / 2024-07-29

Improved

  • Database#quote avoids allocating strings where reusing frozen strings is preferable. #548 @casperisfine

sha256 checksums:

0fc2755c34ae241dcb79563af862d642324e6efcfcd64b2fe271254c7c902ad7  sqlite3-2.0.3-aarch64-linux-gnu.gem
e0c2b322e747ef16eb18168c53682ac374aab3fd92e745f0b6023418b5e914ce  sqlite3-2.0.3-aarch64-linux-musl.gem
f1345ad1ccddf1c758921af527816c0b0dd7edc736020ecc9fb4bb4ccf6aaba3  sqlite3-2.0.3-arm-linux-gnu.gem
c94b7955e2615d71f81076cb5498eb8637e838c1a450f740aad0e2b4fdfbab17  sqlite3-2.0.3-arm-linux-musl.gem
ac5e7bd0f84ff8287d5a71a66b4e2e79785901e589a5a853f04be950fba6b18f  sqlite3-2.0.3-arm64-darwin.gem
032075d9e4baac4f8240a363d09a72e4441bc87d71c964febb2de8345dbc111f  sqlite3-2.0.3-x64-mingw-ucrt.gem
a07b8244d1c446f73cfa294da5577f6700892ccbcebf0d2286f5fde27faa46e6  sqlite3-2.0.3-x64-mingw32.gem
91a02ef005512cdbe91a709146be2f0a6843fac8dc28f32eba5b95af23406d8a  sqlite3-2.0.3-x86-linux-gnu.gem
d15330440c4a4136a42bd03821996cf629b0d2921c5fd314b9e35ecdb6c96ba5  sqlite3-2.0.3-x86-linux-musl.gem
256e681716bda9f3d26dd438db12fc8f588f8dca4a5f7333e2aee86b2932d124  sqlite3-2.0.3-x86_64-darwin.gem
8adb0417c96e49ba70b0e9fe3fd1052d3e18dbc71098c78ea66acd10c17522ea  sqlite3-2.0.3-x86_64-linux-gnu.gem
5e3049d1c8d252cbe7d344b8ee9c63ca77c7c206a1c98d2344854533e6f1c4b7  sqlite3-2.0.3-x86_64-linux-musl.gem
182dbeddea1fc27cdee94f19f1c0ad42565bf65c24193f488eb2c33184b722d0  sqlite3-2.0.3.gem

2.0.2

2.0.2 / 2024-05-23

Dependencies


sha256 checksums:

64296bb750efa19c4249136c2289799a4ac044116b7cc095784dc56358964dc1  sqlite3-2.0.2-aarch64-linux-gnu.gem
cc62889120bb62c98b513fc2b5fc91da944ed7e139efcc4a85fe1d03258462e3  sqlite3-2.0.2-aarch64-linux-musl.gem
29f74fb1af530ea4d1826efa8cb369ea11e476fd885843bceb191ef000c62695  sqlite3-2.0.2-arm-linux-gnu.gem
bbacba2099fe6084b073d4d4e23e54823345a8d2e98800380036fe7ae3323092  sqlite3-2.0.2-arm-linux-musl.gem
184e28292d46feea9132cd936bfe01d47a08a6d7839bc4c5eb3f09b9bed2e770  sqlite3-2.0.2-arm64-darwin.gem
c8144a1f4e2eea742fb4a4fdc9d0ba674c4e787ebb582671b8b69739f9fed191  sqlite3-2.0.2-x64-mingw-ucrt.gem
1c39e02dbb8099215e74a816d6d375136cc9851cf6833248b9cd888e022d627e  sqlite3-2.0.2-x64-mingw32.gem
1b92d4b4e54ba0245bc5d16415891e697766d62eb188fc173356e03f03881d78  sqlite3-2.0.2-x86-linux-gnu.gem
b256dbdb7117d60a0171df875fc2e07d001f03699bf12a196bf6f415b068643d  sqlite3-2.0.2-x86-linux-musl.gem
390c6284f89774cb228fb180b75ac54e5009b0aa24c72f18ad07465635029ea8  sqlite3-2.0.2-x86_64-darwin.gem
15dbf6f47755acb063c5b71a2dd6c65ba582eab3e0d9d4e95cde737120333efb  sqlite3-2.0.2-x86_64-linux-gnu.gem
5b7867dee7401c80db616828c31e5e20963c1dd7d4682757c9cc5aaba627b36c  sqlite3-2.0.2-x86_64-linux-musl.gem
326e53ffb89d050eb00274945078ff7af9026594a7031874af4e9f172cf6154d  sqlite3-2.0.2.gem

2.0.1

2.0.1 / 2024-04-20

Fixed

  • Raise ArgumentError if Database#execute, #execute_batch, or #query are passed multiple bind parameters that are not in an Array. In v2.0.0 these methods would silently swallow additional arguments, and this change makes the failure explicit. See the CHANGELOG notes for v2.0.0 for examples on how to update your code. [#527] @flavorjones
  • Fixed a regression in v2.0.0 that caused Database#execute_batch to raise an encoding exception when passed some non-ascii strings. As a result of this fix, Database#prepare now ensures the "remainder" string will always be encoded as UTF-8. [#524] @flavorjones

sha256 checksums:

752cb885faf5e5d80b2fda5601b1168f1461e2e63e18c62cab8cf32fc4b05d8e  sqlite3-2.0.1-aarch64-linux-gnu.gem
637f90e5ec6d30b34fc49d7acc50b0f569d8c58699c2157e818e5e99c2594fcf  sqlite3-2.0.1-aarch64-linux-musl.gem
0ff1acf7e110c7bbfd140682f14926c5b2e84fe01620dc19ab4f6de1deadc1fd  sqlite3-2.0.1-arm-linux-gnu.gem
09d9f9723683a97a9454f593eecbf6c029670c4c0f7059fcfa62eb12e3d47b93  sqlite3-2.0.1-arm-linux-musl.gem
0efb2ca9d6c184c9960322b2a32ec86355f523b50089b0f26147b2abdfc94583  sqlite3-2.0.1-arm64-darwin.gem
937cc0c0668565c863c0e1736e3172726729a210a1a8fb59b857509ffd6ca835  sqlite3-2.0.1-x64-mingw-ucrt.gem
ee01997371e3dc3495f46dec9f1667a49fe65fe8f635edcd203048d639aa0948  sqlite3-2.0.1-x64-mingw32.gem
bf395f9b713811eb5d068056df986531038f79b5a3d49dfa42b1ac164c937c3b  sqlite3-2.0.1-x86-linux-gnu.gem
3082b2a19bfd7e33539c407adc646c58e5985b6344e192f715f04bb65cc82727  sqlite3-2.0.1-x86-linux-musl.gem
9fd4ee3d3aa6f1a4703abe0a5d247f31ae2757cb6a3be89664dfb714ba55d5b4  sqlite3-2.0.1-x86_64-darwin.gem
97cd463ea0f7e31e85814918ab70ebf4ca87b2b829d4664ea2787a39a6c4ffa6  sqlite3-2.0.1-x86_64-linux-gnu.gem
f6d1d84a49df5ba11a99998ee76dc004eeb3e4129037126ed085833cf471edda  sqlite3-2.0.1-x86_64-linux-musl.gem
6c5ff93b951ce521d8b3c6d05df46a15d97ec241c6cff5950c1a628ff7957922  sqlite3-2.0.1.gem

2.0.0

2.0.0 / 2024-04-17

This is a major release which contains some breaking changes, primarily the removal of
long-deprecated functionality. Before upgrading, please make sure to address deprecation warnings
emitted from your application using sqlite3-ruby v1.7.x.

Ruby

Packaging

Native (precompiled) gems are now available for Linux Musl. [#442] @flavorjones

Here are the platforms for which native gems are shipped:

  • aarch64-linux-gnu (requires: glibc >= 2.29)
  • aarch64-linux-musl
  • arm-linux-gnu (requires: glibc >= 2.29)
  • arm-linux-musl
  • arm64-darwin
  • x64-mingw32 / x64-mingw-ucrt
  • x86-linux-gnu (requires: glibc >= 2.17)
  • x86-linux-musl
  • x86_64-darwin
  • x86_64-linux-gnu (requires: glibc >= 2.17)
  • x86_64-linux-musl

⚠ Ruby 3.0 linux users must use Rubygems >= 3.3.22 in order to use these gems.

⚠ Musl linux users should update to Bundler >= 2.5.6 to avoid rubygems/rubygems#7432

See the INSTALLATION doc for more information.

Dependencies

Added

  • Database#busy_handler_timeout= introduced as an alternative to #busy_timeout= that can be used when it's desired to release the GVL between retries. [#443, #456] @fractaledmind
  • Support the SUPER_JOURNAL flag which is an alias for MASTER_JOURNAL as of sqlite 3.33.0. [#467] @flavorjones
  • Statement#stat and Statement#memused introduced to report statistics. [#461] @fractaledmind
  • Statement#sql and Statement#expanded_sql introduced to retrieve the SQL statement associated with the Statement object. [#293, #498] @tenderlove
  • SQLite3.status introduced to return run-time status and reset high-water marks. See SQLite3::Constants::Status for details. [#520] @wjlroe

Improved

Changed

  • Consistently use SQLite3::Exception or subclasses. Previously some Pragmas methods raised Exception, and Database#execute_batch2 and Database#load_extension raised RuntimeError. [#467, #490] @flavorjones
  • Database#columns returns a list of internal frozen strings. [#155, #474, #486] @tenderlove
  • Freeze results that come from the database. [#480] @tenderlove
  • The encoding of a Database is no longer cached. [#485] @tenderlove
  • Database#transaction returns the result of the block when used with a block. [#508] @alexcwatt
  • Database#execute_batch returns the result of the last statement executed. [#512] @alexcwatt

Removed

  • Removed class SQLite3::Translator and all related type translation methods which have been deprecated since v1.3.2. [#470] @tenderlove

    If you need to do type translation on values returned from the statement object, please wrap it
    with a delegate object. Here is an example of using a delegate class to implement type
    translation:

    require "sqlite3"
    require "delegate"
    

    db = SQLite3::Database.new(":memory:")

    return_value = db.execute_batch2 <<-EOSQL
    CREATE TABLE items (id integer PRIMARY KEY AUTOINCREMENT, name string);
    INSERT INTO items (name) VALUES ("foo");
    INSERT INTO items (name) VALUES ("bar");
    EOSQL

    class MyTranslator < DelegateClass(SQLite3::Statement)
    def step
    row = super
    return if done?

    <span class="pl-s1">row</span><span class="pl-kos">.</span><span class="pl-en">map</span><span class="pl-kos">.</span><span class="pl-en">with_index</span> <span class="pl-k">do</span> |<span class="pl-s1">item</span><span class="pl-kos">,</span> <span class="pl-s1">i</span>|
      <span class="pl-k">case</span> <span class="pl-en">types</span><span class="pl-kos">[</span><span class="pl-s1">i</span><span class="pl-kos">]</span>
      <span class="pl-k">when</span> <span class="pl-s">"integer"</span> <span class="pl-c"># turn all integers to floats</span>
        <span class="pl-s1">item</span><span class="pl-kos">.</span><span class="pl-en">to_f</span>
      <span class="pl-k">when</span> <span class="pl-s">"string"</span> <span class="pl-c"># add "hello" to all strings</span>
        <span class="pl-s1">item</span> + <span class="pl-s">"hello"</span>
      <span class="pl-k">end</span>
    <span class="pl-k">end</span>
    

    end
    end

    db.prepare("SELECT * FROM items") do |stmt|
    stmt = MyTranslator.new(stmt)
    while row = stmt.step
    p row
    end
    end

  • Removed types and fields readers on row objects, which have been deprecated since
    v1.3.6. [#471] @tenderlove

    Deprecated code looks like this:

    row = @db.execute("select * from foo")
    assert_equal ["blob"], row.first.types

    If you would like to access the "types" associated with a returned query,
    use a prepared statement like this:

    @db.prepare("select * from foo") do |v|
      assert_equal ["blob"], v.types
    end
  • Removed support for non-Array bind parameters to methods Database#execute, #execute_batch, and #query, which has been deprecated since v1.3.0. [#511] @flavorjones

    Deprecated code looks like this:

    @db.query("select * from foo where a = ? and b = ? and c = ?", 1, 2, 3)

    For these cases, pass the bind parameters as an array:

    @db.query("select * from foo where a = ? and b = ? and c = ?", [1, 2, 3])
  • Removed class SQLite3::VersionProxy which has been deprecated since v1.3.2. [#453] @flavorjones

  • Removed methods SQLite3::Database::FunctionProxy#count and #set_error which have been broken since at least v1.3.13. [#164, #509, #510] @alexcwatt @flavorjones


sha256 checksums:

c6720d3e695aab101058b20888784e45f0b060240d2265220ccf6905b3673c78  sqlite3-2.0.0-aarch64-linux-gnu.gem
c7941aa1fee7df021f023d77d980db887b400807c29b1ae321ad5c81678abe54  sqlite3-2.0.0-aarch64-linux-musl.gem
0e4f7e56a0569940c4d8ffd3bc56b9338f5ea93448bd6904dfaf4ba46f15ba9a  sqlite3-2.0.0-arm-linux-gnu.gem
a3950521c0e6a4e345069064cd8818ef2307e119eb8babf186893dd00de73838  sqlite3-2.0.0-arm-linux-musl.gem
4997a2530053565329ef0dee50178541626abb561eac2aff73efce2f86014e5e  sqlite3-2.0.0-arm64-darwin.gem
cc202af7f33e4e793c46b004827795a5c5cb90270eba2638b675d6be67380a87  sqlite3-2.0.0-x64-mingw-ucrt.gem
bb3c70fe0bcd64572b0d490f92735139b881442a295cf0d8bbca9eef9542c09e  sqlite3-2.0.0-x64-mingw32.gem
5e287bd13cbc7c2f824e29e90f181a41def579baab0bb4919b201087fb7067b7  sqlite3-2.0.0-x86-linux-gnu.gem
e07a4d3e92e843079f12f720152740c1eba70b07446cf1b597b824847ba8e395  sqlite3-2.0.0-x86-linux-musl.gem
356dbfeff65f0dd9ece1ac8a0bb057b3aa58a88a0187b64f7bbf6c6d6767ea43  sqlite3-2.0.0-x86_64-darwin.gem
5312d0f1bc1670c3223ec5c49906beead9b4dc797616dec37270d54b0e7de4b2  sqlite3-2.0.0-x86_64-linux-gnu.gem
df7dac50baaa93fc216903a09262d2d5141f09a60c74941df534ac53c7e7ff3a  sqlite3-2.0.0-x86_64-linux-musl.gem
f688e4aae13f60abb8f3a49d3fa23a814d3c6643b89fec96baef33602c8f4e07  sqlite3-2.0.0.gem

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Jul 30, 2024
@mitlib mitlib temporarily deployed to thesis-submit-pr-1334 July 30, 2024 20:48 Inactive
Copy link
Contributor Author

depfu bot commented Aug 14, 2024

Closed in favor of #1340.

@depfu depfu bot closed this Aug 14, 2024
@depfu depfu bot deleted the depfu/update/sqlite3-2.0.3 branch August 14, 2024 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant