This is an automated email from the ASF dual-hosted git repository.

zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-go.git


The following commit(s) were added to refs/heads/main by this push:
     new 81f524fe chore: Bump modernc.org/sqlite from 1.52.0 to 1.53.0 (#861)
81f524fe is described below

commit 81f524fe393087a2827bea74bac25eed02b7fd8a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Tue Jun 23 12:24:58 2026 -0400

    chore: Bump modernc.org/sqlite from 1.52.0 to 1.53.0 (#861)
    
    Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.52.0
    to 1.53.0.
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    
href="https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md";>modernc.org/sqlite's
    changelog</a>.</em></p>
    <blockquote>
    <h1>Changelog</h1>
    <ul>
    <li>
    <p>2026-06-21 v1.53.0:</p>
    <ul>
    <li>Add <strong>experimental</strong> <code>netbsd/amd64</code> support,
    resolving the long-standing build break in [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/246";>#246</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/246";>https://gitlab.com/cznic/sqlite/-/issues/246</a>).
    This target is intentionally <strong>not yet listed among the supported
    platforms</strong> in the package documentation: the port had been
    broken for years and is only now revived, and there is as yet no
    real-world experience running it under production workloads. Green CI is
    not the same as battle-tested — so while the full test suite (including
    the <code>pcache</code> and <code>vec</code> packages and the
    <code>-race</code> concurrency test) passes on NetBSD 10.1 / Go 1.26.3,
    and the entire upstream toolchain (<code>libc</code>, <code>cc</code>,
    <code>ccgo</code>, <code>libz</code>, <code>libtcl8.6</code>,
    <code>libsqlite3</code>, <code>libsqlite_vec</code>) is green on the
    NetBSD CI builder, the target is offered for evaluation only. If you run
    NetBSD, please exercise it with your own workloads and report back via
    <a href="https://gitlab.com/cznic/sqlite/issues/246";>#246</a>; the
    intent is to promote it to a fully supported platform after a period of
    broader real-world testing (on the order of a month) elapses without
    surprises.</li>
    <li>Implementation notes: the previously shipped
    <code>lib/sqlite_netbsd_amd64.go</code> was a stale old-generator
    transpile that no longer compiled (the
    <code>mu.enter</code>/<code>mu.leave</code> break in <a
    href="https://gitlab.com/cznic/sqlite/issues/246";>#246</a>); it is
    replaced by a fresh new-generator transpile consistent with every other
    platform, and <code>modernc.org/sqlite/vec</code> (sqlite-vec) is
    vendored and auto-registers on netbsd. Correct operation requires the
    matching pinned <code>modernc.org/libc</code>, which carries two
    NetBSD-specific fixes found during this work: the <code>mmap(2)</code>
    <code>PAD</code>-argument ABI (without it, concurrent WAL access faults
    with SIGBUS in the WAL-index shared memory) and a working
    <code>abort(3)</code> (the prior stub left SQLite's crash-recovery
    <code>writecrash</code> test unable to terminate by signal). As usual,
    downstream modules must pin the exact <code>modernc.org/libc</code>
    version this module's <code>go.mod</code> pins.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/82";>#82</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/82";>https://gitlab.com/cznic/sqlite/-/merge_requests/82</a>),
    thanks Leonardo Taccari (<a
    href="https://github.com/iamleot";><code>@​iamleot</code></a>) and Thomas
    Klausner (@<em>wiz</em>)!</li>
    <li>Add <strong>experimental</strong> <code>freebsd/386</code> and
    <code>freebsd/arm</code> support. As with the <code>netbsd/amd64</code>
    target above, these two 32-bit FreeBSD ports are intentionally
    <strong>not yet listed among the supported platforms</strong> in the
    package documentation: <code>freebsd/386</code> previously shipped a
    stale, effectively untested SQLite 3.41 transpile, and
    <code>freebsd/arm</code> is entirely new, so neither has real-world
    production mileage yet. Both are now freshly transpiled at SQLite 3.53.2
    consistent with every other platform, build cleanly, and pass the full
    test suite (core, WAL/concurrency, and the <code>vec</code> package) on
    the FreeBSD CI builders; they are offered for evaluation only. If you
    run 32-bit FreeBSD, please exercise these targets with your own
    workloads and report back — the intent is to promote
    <code>freebsd/386</code>, <code>freebsd/arm</code>, and
    <code>netbsd/amd64</code> to fully supported platforms in a future
    release cycle, once a period of broader real-world testing elapses
    without surprises.</li>
    <li>Implementation notes: correct operation on <code>freebsd/arm</code>
    requires the matching pinned <code>modernc.org/libc</code> (v1.73.4),
    which fixes the per-arch <code>mmap(2)</code> <code>off_t</code>
    encoding for 32-bit FreeBSD; without it the WAL shared-memory mapping
    faults with SIGBUS under concurrent access, the same class of bug found
    on the netbsd port. As usual, downstream modules must pin the exact
    <code>modernc.org/libc</code> version this module's <code>go.mod</code>
    pins.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/119";>#119</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/119";>https://gitlab.com/cznic/sqlite/-/merge_requests/119</a>),
    thanks Olivier Cochard-Labbé (<a
    href="https://github.com/ocochard";><code>@​ocochard</code></a>)!</li>
    <li>Add a Go-facing wrapper for <code>SQLITE_CONFIG_PCACHE2</code>.
    <code>PageCache</code> is the factory and <code>Cache</code> the
    per-database instance, both idiomatic Go interfaces; <code>Page</code>
    exposes the raw <code>Buf</code> and <code>Extra</code> pointers that
    SQLite reads through the C pcache contract.
    <code>RegisterPageCache</code> and <code>MustRegisterPageCache</code>
    install the module process-globally before the first
    <code>sql.Open</code>; subsequent Open calls are gated through a
    one-shot <code>Xsqlite3_config(SQLITE_CONFIG_PCACHE2)</code> so a
    too-late Register returns <code>ErrPageCacheTooLate</code> rather than
    silently falling through to the built-in pcache1. The binding owns the
    <code>sqlite3_pcache_page</code> stub and re-consults the implementation
    on every Fetch, reusing the stub only when the returned
    <code>Page</code> value is unchanged, which keeps a bounded/evicting
    purgeable cache safe by construction.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/126";>#126</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/126";>https://gitlab.com/cznic/sqlite/-/merge_requests/126</a>),
    thanks Ian Chechin!</li>
    <li>Add <code>modernc.org/sqlite/pcache</code>, the reference page-cache
    implementation that accompanies the <a
    href="https://gitlab.com/cznic/sqlite/issues/126";>#126</a>
    <code>SQLITE_CONFIG_PCACHE2</code> wrapper. <code>pcache.New</code>
    returns a <code>*Pool</code> satisfying the <code>PageCache</code>
    interface; register it once with
    <code>sqlite.MustRegisterPageCache(pcache.New())</code> and every
    connection opened afterwards draws its pages from it. Each
    <code>Pool.Create</code> mints a fresh per-database <code>Cache</code>:
    a bounded, LRU-evicting page store that honours the <code>PRAGMA
    cache_size</code> soft cap and releases the least-recently-unpinned page
    when it must make room. Page memory — the <code>Buf</code> and
    <code>Extra</code> buffers SQLite reads through — is allocated with
    <code>libc.Xmalloc</code>/<code>libc.Xcalloc</code> and therefore lives
    off the Go heap, which keeps SQLite's interior pointer arithmetic on the
    page extras from tripping the race detector's checkptr enforcement.
    <code>Pool.Stats</code> reports aggregate lifetime counters (hits,
    misses, allocs, evictions, rekeys, truncates, caches) across every cache
    a Pool has created, so hit/miss/eviction behaviour is observable without
    instrumenting individual caches. Cross-connection page sharing is out of
    scope for now; each <code>Create</code> returns an independent
    per-database cache.</li>
    <li>Validated end-to-end against the <a
    href="https://gitlab.com/cznic/sqlite/issues/126";>#126</a> stress
    workload (<code>cache_size=16</code>, 4000 BLOB rows with DELETE and
    <code>incremental_vacuum</code>, <code>integrity_check</code> clean
    under <code>-race</code>) and benchmarked for the memory-utilization
    goal tracked in [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/204";>#204</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/204";>https://gitlab.com/cznic/sqlite/-/issues/204</a>).</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/127";>#127</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/127";>https://gitlab.com/cznic/sqlite/-/merge_requests/127</a>),
    thanks Ian Chechin!</li>
    <li>Tighten the <code>modernc.org/sqlite/pcache</code> reference
    implementation per cznic's !127 review follow-ups. Adds
    <code>Stats.EasyRefusals</code>, a per-Pool counter for the cases where
    <code>FetchCreateEasy</code> returns nil at cap; SQLite reacts to a
    refusal by spilling dirty pages and retrying with
    <code>FetchCreateForce</code>, so the new field is a direct proxy for
    the I/O pressure the strict Easy contract imposes vs pcache1's
    recycle-without-spill behavior. <code>BenchmarkPoolEvictionChurn</code>
    was reworked to drive a rotating-residue DELETE (<code>k % 3 = i %
    3</code>) and re-insert a matching batch each cycle so the spill
    pressure recurs and <code>easy-refusals/op</code> scales with
    <code>b.N</code> instead of capping at the seed's one-time first-cycle
    cost; both existing benchmarks now report <code>easy-refusals/op</code>
    alongside the page-allocs/evictions metrics.
    <code>Stats.Evictions</code> documentation was tightened to match the
    actual behavior (counts LRU eviction, <code>Unpin(discard=true)</code>,
    <code>Shrink</code> releases, and <code>Unpin(discard=false)</code>
    trimming back to target after a <code>FetchCreateForce</code>
    overcommit; bulk frees from <code>Truncate</code>, <code>Rekey</code>
    collisions, and <code>Destroy</code> are not counted). The
    <code>TestPoolRoundTripIntegrity</code> comment claiming the workload
    exercises <code>xRekey</code> ~15 times has been corrected; the SQL
    surface does not reliably emit xRekey here, and that codepath is covered
    by the unit tests instead.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/130";>#130</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/130";>https://gitlab.com/cznic/sqlite/-/merge_requests/130</a>),
    thanks Ian Chechin!</li>
    <li>Make <code>modernc.org/sqlite/pcache</code> <code>-race</code>-clean
    under SQLite's <code>cache=shared</code> mode. The pool already runs
    correctly under shared-cache because every callback into a given
    <code>Cache</code> is serialised internally by SQLite's
    <code>sqlite3BtreeEnter</code> on the <code>BtShared</code> mutex;
    verified empirically with a lock-free in-flight probe (max-in-flight = 1
    on the canonical two-connection workload, 4 on a positive control with
    goroutines hitting the cache directly). However the Go race detector
    does not recognise SQLite's libc mutex as a happens-before edge and
    reports false-positive races on <code>Fetch</code> vs <code>Unpin</code>
    reads/writes of the per-cache state, which surfaces as <code>DATA
    RACE</code> failures for any user who registers the pool and runs their
    suite under <code>-race</code>. A <code>sync.Mutex</code> on the
    <code>cache</code> type is now taken on every public method
    (<code>SetSize</code>, <code>PageCount</code>, <code>Fetch</code>,
    <code>Unpin</code>, <code>Rekey</code>, <code>Truncate</code>,
    <code>Destroy</code>, <code>Shrink</code>), always. On the common
    non-shared-cache path the lock is uncontended (one atomic CAS per
    Lock/Unlock pair, negligible next to the SQLite work it bookends); on
    the shared-cache path it just rubber-stamps the order SQLite's
    <code>BtShared</code> mutex already established. A new
    <code>e2e_test.go</code> <code>TestSharedCacheTwoConns_Integrity</code>
    drives two <code>sql.Conn</code> against the same
    <code>cache=shared</code> URI with concurrent writers and asserts
    <code>PRAGMA integrity_check = ok</code> under <code>-race</code>;
    passes cleanly with the lock, would surface the false-positive without
    it. Design notes live in <code>pcache/sharing.go</code>.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/131";>#131</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/131";>https://gitlab.com/cznic/sqlite/-/merge_requests/131</a>),
    thanks Ian Chechin!</li>
    <li>Add a Go wrapper for <code>sqlite3_db_status</code>, the
    per-connection runtime counters (cache hit/miss/write/spill rates,
    schema and prepared-statement memory, lookaside usage, deferred foreign
    keys). <code>DBStatus</code> is an interface implemented by the driver
    connection and reached through the <code>database/sql</code> escape
    hatch <code>(*sql.Conn).Raw()</code>, mirroring the existing
    <code>FileControl</code> surface; <code>DBStatusOp</code> is a distinct
    typed enum of the <code>SQLITE_DBSTATUS_*</code> verbs so a counter from
    a different op family will not compile in its place. <code>Status(op,
    reset)</code> returns the <code>(current, high)</code> pair and
    optionally resets the counter. This also lets
    <code>modernc.org/sqlite/pcache</code> measure real I/O instead of the
    <code>EasyRefusals</code> proxy: the new
    <code>BenchmarkPoolSpillIO</code> reads the pager-level
    <code>SQLITE_DBSTATUS_CACHE_SPILL</code>/<code>_CACHE_WRITE</code>
    counters, which the pager maintains identically for pcache1 and the
    pool, making the pcache1-vs-pool comparison cznic raised on the !127
    review a genuine apples-to-apples measurement. On the rotating-residue
    eviction-churn workload at <code>cache_size=16</code> the pool spills
    ~3.5x more than pcache1 (cache-spill/op 31.96 vs 8.96) for ~3% more page
    writes (cache-write/op 450 vs 436) at identical hit/miss, quantifying
    the I/O cost of the strict Easy contract that <code>EasyRefusals</code>
    only proxied.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/132";>#132</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/132";>https://gitlab.com/cznic/sqlite/-/merge_requests/132</a>),
    thanks Ian Chechin!</li>
    <li>Add an opt-in <code>_dqs</code> DSN query parameter that disables
    SQLite's double-quoted string literal compatibility quirk on a
    per-connection basis. When <code>_dqs=0</code> (or any
    <code>strconv.ParseBool</code> false value) is supplied, the driver
    calls <code>sqlite3_db_config</code> with
    <code>SQLITE_DBCONFIG_DQS_DDL</code> and
    <code>SQLITE_DBCONFIG_DQS_DML</code> set to off before any statement is
    prepared, so a double-quoted identifier that fails to resolve raises a
    parse error instead of silently falling back to a string literal.
    Absence of the parameter, or <code>_dqs=1</code>, leaves SQLite's
    default behavior unchanged; existing DSNs continue to work
    byte-for-byte. Resolves [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/61";>#61</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/61";>https://gitlab.com/cznic/sqlite/-/issues/61</a>).</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/128";>#128</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/128";>https://gitlab.com/cznic/sqlite/-/merge_requests/128</a>),
    thanks Ian Chechin!</li>
    <li>Add an opt-in <code>_error_rc</code> DSN query parameter for clearer
    error reporting on open-time failures. When <code>_error_rc=1</code> (or
    any <code>strconv.ParseBool</code> true value) is supplied, error
    strings synthesised from a <code>(rc, db)</code> pair only append
    <code>sqlite3_errmsg(db)</code> when
    <code>sqlite3_extended_errcode(db)</code> is consistent with the
    operation rc (full match first, primary code <code>&amp;0xff</code> as
    fallback). On mismatch the canonical <code>sqlite3_errstr(rc)</code> is
    used alone, so an open-time <code>SQLITE_CANTOPEN</code> no longer
    carries the temporary handle's stale &quot;out of memory&quot; errmsg.
    Absence of the parameter, or <code>_error_rc=0</code>, preserves the
    legacy &quot;errstr: errmsg&quot; form byte-for-byte; existing callers
    that parse error strings are unaffected. The driver's
    <code>*Error.Code()</code> returns the same SQLite result code in both
    modes. Parsed before <code>sqlite3_open_v2</code> so open-time errors
    are covered. Resolves [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/230";>#230</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/230";>https://gitlab.com/cznic/sqlite/-/issues/230</a>).</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/129";>#129</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/129";>https://gitlab.com/cznic/sqlite/-/merge_requests/129</a>),
    thanks Ian Chechin!</li>
    </ul>
    </li>
    <li>
    <p>2026-06-06 v1.52.0:</p>
    <ul>
    <li>Upgrade to <a
    href="https://sqlite.org/releaselog/3_53_2.html";>SQLite 3.53.2</a>.</li>
    <li>Add <code>Backup.Remaining</code> and <code>Backup.PageCount</code>,
    thin wrappers around the existing <code>sqlite3_backup_remaining</code>
    and <code>sqlite3_backup_pagecount</code> C symbols. Together they
    expose the per-<code>Step</code> progress counters that the underlying
    backup object already maintains, enabling progress reporting during
    online backups without dropping to <code>modernc.org/sqlite/lib</code>
    directly.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/122";>#122</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/122";>https://gitlab.com/cznic/sqlite/-/merge_requests/122</a>),
    thanks Ian Chechin!</li>
    <li>Drop the redundant second copy in <code>(*conn).columnText</code>,
    the path that backs every <code>Rows.Scan</code> into a Go
    <code>string</code> for a TEXT column. The value's bytes are still
    copied once out of SQLite-owned memory into a fresh Go buffer; that
    buffer is then reinterpreted as the result string with
    <code>unsafe.String</code> rather than copied a second time by the
    implicit <code>string([]byte)</code> conversion. This removes one
    allocation per TEXT value per row and roughly halves the bytes allocated
    on that path; on the new <code>BenchmarkColumnTextScan</code> cases it
    is ~13–20% faster for payloads of 256 B and larger, with no measurable
    change for very short strings. Purely internal: no API or behavioral
    change, and the returned string never aliases SQLite's buffer.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/123";>#123</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/123";>https://gitlab.com/cznic/sqlite/-/merge_requests/123</a>),
    thanks Ian Chechin!</li>
    <li>Cache each result column's declared type once per result set in
    <code>newRows</code> instead of recomputing it on every row. The TEXT
    branch of <code>Rows.Next</code> calls
    <code>ColumnTypeDatabaseTypeName</code> for every TEXT column on every
    row (independent of any DSN flag), which previously did a
    <code>libc.GoString</code> + <code>strings.ToUpper</code> each time;
    that lookup is now a single index into a cached, pre-uppercased
    <code>[]string</code>, and <code>ColumnTypeScanType</code> reads the
    same cache and drops its per-call <code>strings.ToLower</code>. The
    declared type is fixed for the lifetime of a prepared statement, so the
    C round-trip is paid once per column rather than once per column per
    row, removing exactly 1 alloc + 8 B per TEXT column per row from the
    <code>Next</code> hot path. The new <code>BenchmarkTextToTimeScan</code>
    cases show ~7% faster on a 1000-row DATETIME SELECT under
    <code>_texttotime=1</code>. Purely internal:
    <code>ColumnTypeDatabaseTypeName</code> and
    <code>ColumnTypeScanType</code> return identical values, no API or
    behavioral change.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/124";>#124</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/124";>https://gitlab.com/cznic/sqlite/-/merge_requests/124</a>),
    thanks Ian Chechin!</li>
    <li>Cache, per result column, the <code>parseTimeFormats</code> index
    that first parsed a TEXT-stored DATE/DATETIME/TIMESTAMP value, and try
    that format first on later rows instead of re-walking the list from the
    top. <code>(*conn).parseTime</code> previously ran
    <code>time.Parse</code> down the format list on every such row; for the
    canonical SQLite TEXT datetime format every row paid two failed
    <code>time.Parse</code> attempts — each allocating a
    <code>*time.ParseError</code> — before the match. On a 1000-row DATETIME
    TEXT SELECT this cuts ~50% of allocs/op and ~57% of B/op and is ~37%
    faster. The fall-through chain is preserved exactly: the seven formats
    are mutually exclusive, so the cached hint can never select a different
    match than the in-order scan, and the parsed <code>driver.Value</code>
    is identical to before. Purely internal: no API or behavioral
    change.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/125";>#125</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/125";>https://gitlab.com/cznic/sqlite/-/merge_requests/125</a>),
    thanks Ian Chechin!</li>
    </ul>
    </li>
    <li>
    <p>2026-05-28 v1.51.0:</p>
    <ul>
    <li>Pool the <code>[]driver.Value</code> slice passed to
    scalar/aggregate UDF callbacks and to vtab
    <code>Filter</code>/<code>Insert</code>/<code>Update</code> callbacks,
    eliminating the dominant per-row allocation on UDF-heavy queries.
    Benchmarks on a 1000-row, 3-arg noop scalar UDF show ~40% fewer bytes/op
    and ~15% fewer allocs/op.</li>
    <li>Document the matching &quot;arguments are not valid past
    return&quot; contract on <code>vtab.Cursor.Filter</code> and
    <code>vtab.Updater.Insert</code>/<code>Update</code>, consistent with
    the existing rule for <code>FunctionImpl.Scalar</code> /
    <code>AggregateFunction.Step</code> / <code>WindowInverse</code>.</li>
    <li>Resolves [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/226";>#226</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/226";>https://gitlab.com/cznic/sqlite/-/issues/226</a>).
    See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/114";>#114</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/114";>https://gitlab.com/cznic/sqlite/-/merge_requests/114</a>),
    thanks Ian Chechin!</li>
    <li>Add <code>FileControl.FileControlDataVersion</code>, a wrapper
    around <code>SQLITE_FCNTL_DATA_VERSION</code> for observing pager-cache
    data-version changes, including those made on the same connection.
    Useful as a primitive for application-level cache invalidation.</li>
    <li>Exposed via the idiomatic <code>database/sql</code> escape hatch
    <code>(*sql.Conn).Raw()</code>, consistent with the existing
    <code>FileControlPersistWAL</code>.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/115";>#115</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/115";>https://gitlab.com/cznic/sqlite/-/merge_requests/115</a>),
    thanks Ian Chechin!</li>
    <li>Fix a regression where in-memory connections (<code>:memory:</code>,
    <code>file::memory:</code>, shared-cache memory URIs) were discarded by
    <code>database/sql</code> after a context-cancelled query, taking the
    entire in-memory store with them. The fix for <a
    href="https://gitlab.com/cznic/sqlite/issues/198";>#198</a> had added an
    <code>sqlite3_is_interrupted</code> check to the connection validator
    that mistakenly applied to in-memory connections too, re-introducing the
    bug originally fixed by !74. File-backed connections keep the existing
    behaviour and are still discarded after an interrupt.</li>
    <li>Resolves [GitLab issue <a
    href="https://gitlab.com/cznic/sqlite/issues/196";>#196</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/issues/196";>https://gitlab.com/cznic/sqlite/-/issues/196</a>).
    See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/116";>#116</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/116";>https://gitlab.com/cznic/sqlite/-/merge_requests/116</a>),
    thanks Ian Chechin!</li>
    <li>Add an opt-in <code>FunctionImpl.VolatileArgs</code> flag that hands
    TEXT and BLOB arguments to scalar and aggregate UDF callbacks as
    zero-copy views (<code>unsafe.String</code>/<code>unsafe.Slice</code>)
    over SQLite's own value buffers, eliminating the per-argument
    <code>libc.GoString</code>/<code>make([]byte)</code> copy that the <a
    href="https://gitlab.com/cznic/sqlite/issues/226";>#226</a> slice-pooling
    left as the remaining per-row allocation. On the same 1000-row, 3-arg
    (INTEGER/TEXT/BLOB) noop scalar UDF this removes a further ~35% of
    allocs/op and ~11% of bytes/op on top of <a
    href="https://gitlab.com/cznic/sqlite/issues/226";>#226</a>.</li>
    <li>The views are valid only for the duration of the callback and must
    not be retained past return or across rows; a callback that needs to
    keep a value must copy it. With <code>VolatileArgs</code> unset (the
    default) arguments keep the existing copied, caller-owned semantics, so
    the flag is fully backward compatible; it has no effect on integer,
    float, time, or NULL arguments.</li>
    <li>See [GitLab merge request <a
    href="https://gitlab.com/cznic/sqlite/issues/120";>#120</a>](<a
    
href="https://gitlab.com/cznic/sqlite/-/merge_requests/120";>https://gitlab.com/cznic/sqlite/-/merge_requests/120</a>),
    thanks Ian Chechin!</li>
    <li>Extend the opt-in <code>VolatileArgs</code> zero-copy TEXT/BLOB
    argument access from <a
    href="https://gitlab.com/cznic/sqlite/issues/120";>#120</a> to the
    virtual-table <code>Cursor.Filter</code> (<code>xFilter</code>) and
    <code>Updater.Insert</code>/<code>Update</code> (<code>xUpdate</code>)
    callbacks. A <code>vtab.Module</code> opts in by implementing the new
    optional <code>vtab.VolatileArgsOpter</code> interface
    (<code>VolatileArgs() bool</code>); the flag is read once at module
    registration and shared by every table created from it. On a vtab call
    carrying one TEXT and one BLOB argument this removes 2 allocs/op (one
    <code>libc.GoString</code>, one <code>make([]byte)</code>) on each of
    the Filter and Update paths.</li>
    <li>The same safety contract as <a
    href="https://gitlab.com/cznic/sqlite/issues/120";>#120</a> applies: the
    views are valid only for the duration of the callback and must not be
    retained past return or across rows; a callback that needs to keep a
    value must copy it. Modules that do not implement
    <code>VolatileArgsOpter</code> (the default for all existing modules)
    are byte-for-byte unchanged, and the flag has no effect on integer,
    float, time, or NULL arguments.</li>
    </ul>
    </li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/6b32d1ee965dfe59bf2e50baeb6f451b67d6a71e";><code>6b32d1e</code></a>
    CHANGELOG.md: document experimental freebsd/386 + freebsd/arm (<a
    href="https://gitlab.com/cznic/sqlite/issues/119";>#119</a>)</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/697300ffaa56b03b79e490dc960f218794cb2a75";><code>697300f</code></a>
    Merge branch 'dbstatus-binding' into 'master'</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/759639fa15658feabd8218bc766768fc383b3c12";><code>759639f</code></a>
    sqlite: review fixes for !132 — restore <a
    href="https://gitlab.com/cznic/sqlite/issues/131";>#131</a> CHANGELOG
    link, correct DBStatus...</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/40ff0274c43e4f7771456e5c2a06ed669605b797";><code>40ff027</code></a>
    sqlite: add DBStatus wrapper for sqlite3_db_status + pcache spill-I/O
    benchmark</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/6a28fe7d28a1c7de553ae4d9dc797f59c45f3563";><code>6a28fe7</code></a>
    HACKING.md: document CHANGELOG versioning + MR integration flow</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/adff4b17551c6663f85f2b13400a44887c91a440";><code>adff4b1</code></a>
    Merge branch 'pcache-shared-cache-draft' into 'master'</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/14e5790eee01be325551a5ffa20d3c9788bc6135";><code>14e5790</code></a>
    vendor: regenerate freebsd/arm vec at SQLite 3.53.2</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/8725c22279f2bbcac7a9c661787bd3f69d66ea6d";><code>8725c22</code></a>
    Add freebsd/386 + freebsd/arm targets</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/73050dce0e8a597fea764c9b1d98689d3387f15a";><code>73050dc</code></a>
    Merge branch 'pcache-pool-polish' into 'master'</li>
    <li><a
    
href="https://gitlab.com/cznic/sqlite/commit/1897fdd636a034eeb5dde210365c0018ebfae09c";><code>1897fdd</code></a>
    CHANGELOG.md: consolidate untagged v1.53.0/v1.54.0 into one v1.53.0
    section</li>
    <li>Additional commits viewable in <a
    href="https://gitlab.com/cznic/sqlite/compare/v1.52.0...v1.53.0";>compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    <details>
    <summary>Most Recent Ignore Conditions Applied to This Pull
    Request</summary>
    
    | Dependency Name | Ignore Conditions |
    | --- | --- |
    | modernc.org/sqlite | [>= 1.34.a, < 1.35] |
    </details>
    
    
    [![Dependabot compatibility
    
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=modernc.org/sqlite&package-manager=go_modules&previous-version=1.52.0&new-version=1.53.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
---
 go.mod | 16 ++++++++--------
 go.sum | 44 ++++++++++++++++++++++----------------------
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/go.mod b/go.mod
index 1a664b89..88b83721 100644
--- a/go.mod
+++ b/go.mod
@@ -50,7 +50,7 @@ require (
        gonum.org/v1/gonum v0.17.0
        google.golang.org/grpc v1.81.1
        google.golang.org/protobuf v1.36.11
-       modernc.org/sqlite v1.52.0
+       modernc.org/sqlite v1.53.0
 )
 
 require (
@@ -88,15 +88,15 @@ require (
        github.com/tidwall/match v1.1.1 // indirect
        github.com/tidwall/pretty v1.2.0 // indirect
        github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
-       golang.org/x/mod v0.34.0 // indirect
-       golang.org/x/net v0.52.0 // indirect
-       golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c // indirect
-       golang.org/x/term v0.41.0 // indirect
-       golang.org/x/text v0.35.0 // indirect
-       golang.org/x/tools v0.43.0 // indirect
+       golang.org/x/mod v0.36.0 // indirect
+       golang.org/x/net v0.54.0 // indirect
+       golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 // indirect
+       golang.org/x/term v0.43.0 // indirect
+       golang.org/x/text v0.37.0 // indirect
+       golang.org/x/tools v0.45.0 // indirect
        google.golang.org/genproto/googleapis/rpc 
v0.0.0-20260226221140-a57be14db171 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
-       modernc.org/libc v1.72.3 // indirect
+       modernc.org/libc v1.73.4 // indirect
        modernc.org/mathutil v1.7.1 // indirect
        modernc.org/memory v1.11.0 // indirect
 )
diff --git a/go.sum b/go.sum
index 6298d7dd..8e6d370f 100644
--- a/go.sum
+++ b/go.sum
@@ -192,14 +192,14 @@ golang.org/x/exp v0.0.0-20260112195511-716be5621a96 
h1:Z/6YuSHTLOHfNFdb8zVZomZr7
 golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod 
h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI=
-golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY=
+golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
+golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod 
h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
-golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
+golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
+golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -219,28 +219,28 @@ golang.org/x/sys v0.5.0/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw=
 golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
-golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c 
h1:6a8FdnNk6bTXBjR4AGKFgUKuo+7GnR3FX5L7CbveeZc=
-golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c/go.mod 
h1:TpUTTEp9frx7rTdLpC9gFG9kdI7zVLFTFFlqaH2Cncw=
+golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 
h1:HjU6IWBiAgRIdAJ9/y1rwCn+UELEmwV+VsTLzj/W4sE=
+golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6/go.mod 
h1:Eqhaxk/wZsWEH8CRxLwj6xzEJbz7k1EFGqx7nyCoabE=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU=
-golang.org/x/term v0.41.0/go.mod 
h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A=
+golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
+golang.org/x/term v0.43.0/go.mod 
h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
-golang.org/x/text v0.35.0/go.mod 
h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
+golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
+golang.org/x/text v0.37.0/go.mod 
h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod 
h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s=
-golang.org/x/tools v0.43.0/go.mod 
h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0=
+golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8=
+golang.org/x/tools v0.45.0/go.mod 
h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
 gonum.org/v1/gonum v0.17.0/go.mod 
h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
@@ -260,20 +260,20 @@ gopkg.in/yaml.v3 
v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod 
h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-modernc.org/cc/v4 v4.28.2 h1:3tQ0lf2ADtoby2EtSP+J7IE2SHwEJdP8ioR59wx7XpY=
-modernc.org/cc/v4 v4.28.2/go.mod 
h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI=
-modernc.org/ccgo/v4 v4.34.0 h1:yRLPFZieg532OT4rp4JFNIVcquwalMX26G95WQDqwCQ=
-modernc.org/ccgo/v4 v4.34.0/go.mod 
h1:AS5WYMyBakQ+fhsHhtP8mWB82KTGPkNNJDGfGQCe0/A=
+modernc.org/cc/v4 v4.28.4 h1:Hd/4Es+MBj+/7hSdZaisNyu6bv3V0Dp2MdllyfqaH+c=
+modernc.org/cc/v4 v4.28.4/go.mod 
h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI=
+modernc.org/ccgo/v4 v4.34.4 h1:OVnSOWQjVKOYkFxoHYB+qQmSHK5gqMqARM+K9DpR/Ws=
+modernc.org/ccgo/v4 v4.34.4/go.mod 
h1:qdKqE8FNIYyysougB1RX9MxCzp5oJOcQXSobANJ4TuE=
 modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM=
 modernc.org/fileutil v1.4.0/go.mod 
h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU=
 modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
 modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
-modernc.org/gc/v3 v3.1.2 h1:ZtDCnhonXSZexk/AYsegNRV1lJGgaNZJuKjJSWKyEqo=
-modernc.org/gc/v3 v3.1.2/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY=
+modernc.org/gc/v3 v3.1.3 h1:6QAplYyVO+KdPW3pGnqmJDUxtkec8ooEWvks/hhU3lc=
+modernc.org/gc/v3 v3.1.3/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY=
 modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
 modernc.org/goabi0 v0.2.0/go.mod 
h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
-modernc.org/libc v1.72.3 h1:ZnDF4tXn4NBXFutMMQC4vtbTFSXhhKzR73fv0beZEAU=
-modernc.org/libc v1.72.3/go.mod h1:dn0dZNnnn1clLyvRxLxYExxiKRZIRENOfqQ8XEeg4Qs=
+modernc.org/libc v1.73.4 h1:+ra4Ui8ngyt8HDcO1FTDPWlkAh6yOdaO2yAoh8MddQA=
+modernc.org/libc v1.73.4/go.mod h1:DXZ3eO8qMCNn2SnmTNCiC71nJ9Rcq3PsnpU6Vc4rWK8=
 modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
 modernc.org/mathutil v1.7.1/go.mod 
h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
 modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
@@ -282,8 +282,8 @@ modernc.org/opt v0.2.0 
h1:tGyef5ApycA7FSEOMraay9SaTk5zmbx7Tu+cJs4QKZg=
 modernc.org/opt v0.2.0/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
 modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
 modernc.org/sortutil v1.2.1/go.mod 
h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
-modernc.org/sqlite v1.52.0 h1:p4dhYh2tXZCiyaqHwRVJDjIGKWyXayiQpThxgDzJaxo=
-modernc.org/sqlite v1.52.0/go.mod 
h1:tcNzv5p84E0skkmJn038y+hWJbLQXQqEnQfeh5r2JLM=
+modernc.org/sqlite v1.53.0 h1:20WG8N9q4ji/dEqGk4uiI0c6OPjSeLTNYGFCc3+7c1M=
+modernc.org/sqlite v1.53.0/go.mod 
h1:xoEpOIpGrgT48H5iiyt/YXPCZPEzlfmfFwtk8Lklw8s=
 modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
 modernc.org/strutil v1.2.1/go.mod 
h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
 modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=


Reply via email to