Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions upstream-xerial_sqlite-jdbc.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,22 @@
# selected: src/test/java/org/sqlite/PreparedStatementThreadTest.java -- concurrent execute and close must not crash or hide failures.
# selected: src/test/java/org/sqlite/ResultSetWithoutResultsTest.java -- statement result-kind transitions leave no stale result set.
# selected: src/test/java/org/sqlite/RSMetaDataTest.java -- ResultSetMetaData column names, types, and nullability.
# selected: src/test/java/org/sqlite/DBMetaDataTest.java -- DatabaseMetaData tables, columns, keys, type info, and java.sql-shaped empty result sets.
# selected: src/test/java/org/sqlite/StatementTest.java -- Statement lifecycle, conversions, batches, and execute transitions over ordinary SQL.
# selected: src/test/java/org/sqlite/PrepStmtTest.java -- PreparedStatement binding, metadata, batches, and value round trips.

# Rejected tests.
# rejected: src/test/java/org/sqlite/BackupTest.java -- drives sqlite-jdbc's native backup API; Hrana exposes no backup primitive.
# rejected: src/test/java/org/sqlite/BusyHandlerTest.java -- registers native busy-handler callbacks that Hrana does not expose.
# rejected: src/test/java/org/sqlite/CollationTest.java -- registers JVM collations through sqlite-jdbc's native extension API.
# rejected: src/test/java/org/sqlite/ConnectionTest.java -- exercises sqlite-jdbc URL, open-mode, and resource-loading configuration that has no Hrana equivalent; covered JDBC paths are asserted by selected tests.
# rejected: src/test/java/org/sqlite/DBMetaDataTest.java -- #156 tracks the remaining DatabaseMetaData gaps (java.sql-shaped empty result sets, column and key filters); sqld also rejects CREATE TEMP TABLE.
# rejected: src/test/java/org/sqlite/ErrorMessageTest.java -- asserts sqlite-jdbc wording and native result codes; sqld returns different messages and error codes.
# rejected: src/test/java/org/sqlite/ExtendedCommandTest.java -- exercises sqlite-jdbc's dot-command parser, not the JDBC API.
# rejected: src/test/java/org/sqlite/ExtensionTest.java -- loads native SQLite extensions; the libSQL server does not permit extension loading.
# rejected: src/test/java/org/sqlite/JDBCTest.java -- mixes driver URL handling, extension loading, and sqlite-jdbc read-only configuration; broad driver-level coverage is asserted by selected tests.
# rejected: src/test/java/org/sqlite/ListenerTest.java -- update, commit, rollback, and authorizer hooks require native callbacks unavailable over Hrana.
# rejected: src/test/java/org/sqlite/MathFunctionsTest.java -- passes only when the server binary was compiled with SQLITE_ENABLE_MATH_FUNCTIONS; the sqld image build is not pinned to that option.
# rejected: src/test/java/org/sqlite/MultipleClassLoaderTest.java -- verifies sqlite-jdbc's native library loading per class loader; libSQL has no native library.
# rejected: src/test/java/org/sqlite/PrepStmtTest.java -- #157 tracks the parameter binding and parameter-metadata gaps; the class cannot pass until they close.
# rejected: src/test/java/org/sqlite/ProgressHandlerTest.java -- registers native progress callbacks that Hrana does not expose.
# rejected: src/test/java/org/sqlite/QueryTest.java -- imports sqlite-jdbc's SQLiteConfig and FastDateFormat classes and drives query timeouts; the conversion getters it exercises are covered by selected ResultSetTest cases.
# rejected: src/test/java/org/sqlite/ReadUncommittedTest.java -- depends on sqlite-jdbc shared-cache and read-uncommitted connection configuration; sqld does not expose it.
Expand All @@ -51,7 +52,6 @@
# rejected: src/test/java/org/sqlite/SQLiteConnectionPoolDataSourceTest.java -- tests sqlite-jdbc DataSource and pooling classes that libSQL does not provide.
# rejected: src/test/java/org/sqlite/SQLiteDataSourceTest.java -- tests sqlite-jdbc DataSource classes that libSQL does not provide.
# rejected: src/test/java/org/sqlite/SQLiteJDBCLoaderTest.java -- tests the native SQLite library loader.
# rejected: src/test/java/org/sqlite/StatementTest.java -- #158 tracks the conversion, batch, and fetch-direction gaps; Hrana also rejects multi-statement strings and TEMP tables.
# rejected: src/test/java/org/sqlite/TransactionTest.java -- asserts SQLite file-locking and multi-connection wait behavior that a single sqld server cannot reproduce; commit visibility is covered by InsertQueryTest.
# rejected: src/test/java/org/sqlite/TypeMapTest.java -- #95 rejects connection type maps with SQLFeatureNotSupportedException because java.sql makes them optional, while xerial stores a map it never applies; the control run cannot assert both, so the class stays upstream.
# rejected: src/test/java/org/sqlite/UDFCustomErrorTest.java -- registers JVM UDFs and inspects native error callbacks.
Expand All @@ -74,6 +74,11 @@ src/test/java/org/sqlite/PreparedStatementThreadTest.java
src/test/java/org/sqlite/ResultSetWithoutResultsTest.java
src/test/java/org/sqlite/RSMetaDataTest.java

# Third batch: database metadata, statement lifecycle, and prepared statements.
src/test/java/org/sqlite/DBMetaDataTest.java
src/test/java/org/sqlite/StatementTest.java
src/test/java/org/sqlite/PrepStmtTest.java

LICENSE
LICENSE.zentus
NOTICE
Expand All @@ -86,3 +91,6 @@ VERSION
# divergence: src/test/java/org/sqlite/CachedRowSetTest.java -- Hrana holds a namespace until its last connection closes, so the conformance copy closes the leaked connection and asserts the row it reads.
# divergence: src/test/java/org/sqlite/InsertQueryTest.java -- upstream misuses the connection factory so the transaction is applied to a different connection and never asserts the result; the conformance copy reuses the transaction connection, asserts rollback and commit visibility, and asserts the final count (#51).
# divergence: src/test/java/org/sqlite/PreparedStatementThreadTest.java -- upstream swallows every ExecutionException, which hides assertion failures and runtime exceptions from the close/execute race; Hrana serializes requests per stream, so the conformance copy awaits both futures and tolerates only an SQLException cause, and any runtime failure fails the test as the Java equivalent of the native crash it guards (#51, #118).
# divergence: src/test/java/org/sqlite/DBMetaDataTest.java -- sqld rejects CREATE TEMP TABLE with SQL_PARSE_ERROR, so the conformance copy skips only columnOrderOfgetTables on libSQL and leaves the xerial control run intact.
# divergence: src/test/java/org/sqlite/StatementTest.java -- Hrana sends one statement per Stmt so sqld rejects multi-statement strings (SQL_MANY_STATEMENTS), sqld rejects CREATE TEMP TABLE (SQL_PARSE_ERROR), and Hrana streams are independent so DROP succeeds while a materialized result set is open; the conformance copy skips those cases on libSQL. xerial's DATE-millis round trip is replaced on libSQL by the java.sql date-only value, and the copy uses standard JDBC unwrap and closeOnCompletion calls plus drops the sqlite-jdbc-only generated-keys configuration hook so it compiles without the xerial classes.
# divergence: src/test/java/org/sqlite/PrepStmtTest.java -- Hrana has no describe request, so the conformance copy skips the parameter-type, pre-execution metadata, and pre-execution SQL-validation expectations on libSQL, and uses the java.sql date-only value instead of xerial's DATE-millis round trip; it also reassigns the result set after the next execute as java.sql requires and drops the cases that call sqlite-jdbc's own configuration and error-code classes.
6 changes: 6 additions & 0 deletions upstream-xerial_sqlite-jdbc/CHECKSUMS.sha256
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ a0670cf020edf700524c43c85321c2ba027a8bace5682001db60875d4a9fe52b ./NOTICE
0a60829ce6edd56de46fb87303401c5c1e1e666da5631056340f5c5ce902dcdf ./VERSION
# upstream 1351fdca2644e90ac9028ed99c6096c9ecee82ccb7d45cedd9bb454887fd2c6b ./src/test/java/org/sqlite/CachedRowSetTest.java
e1743294d2e5e781fae3b647d0bfc2eeeeb856c5276efe308f8b58979b3ab178 ./src/test/java/org/sqlite/CachedRowSetTest.java
# upstream 77471e076af3aca03a56fc32914d5b8d39c1adbb71f971018c35e417de113619 ./src/test/java/org/sqlite/DBMetaDataTest.java
0426102df7665d2208c43beb1e7d4451cc5b40969b04b51f8dc82fa14825f487 ./src/test/java/org/sqlite/DBMetaDataTest.java
# upstream 9fb0f2df7de66cac0a46b241c0c1cd3311a80646d0431d377097741b99053760 ./src/test/java/org/sqlite/FetchSizeTest.java
9fb0f2df7de66cac0a46b241c0c1cd3311a80646d0431d377097741b99053760 ./src/test/java/org/sqlite/FetchSizeTest.java
# upstream 6dfcecb209e01829ba0aea782b47351443e3970ad1d33ac4c3fb979e6dff1f40 ./src/test/java/org/sqlite/InsertQueryTest.java
Expand All @@ -20,6 +22,8 @@ ae4568fd773f158f04e89df8e0fe2326381b6af7ed1316193830d38f7cadbae5 ./src/test/jav
075745907a5174b922db6a45b9c29f45901af1835af27a0014f5fac835b41d0f ./src/test/java/org/sqlite/JSON1Test.java
# upstream 242bb51330240174bab5f443aa4d8de1049e6d947374e080a636c4aa4d0049ee ./src/test/java/org/sqlite/MetadataLeakTest.java
242bb51330240174bab5f443aa4d8de1049e6d947374e080a636c4aa4d0049ee ./src/test/java/org/sqlite/MetadataLeakTest.java
# upstream 24d605d59b7507f574104ddbf8c297f90d4498401368d5b39947f0932f5a686a ./src/test/java/org/sqlite/PrepStmtTest.java
952803b01106afa53d73641728914865ff61068a4ad1c1f25128cc03c4ba30f2 ./src/test/java/org/sqlite/PrepStmtTest.java
# upstream 7af8ae0999a0bf26a20c96ab23131505bd79827e6af17742771e36e9d8d985f4 ./src/test/java/org/sqlite/PreparedStatementThreadTest.java
8e63f29bec87782e5705ebff748389cb9f5fe3a68d755c730a2beaccde9712a4 ./src/test/java/org/sqlite/PreparedStatementThreadTest.java
# upstream d787e71bdf2b8d12a2669eb06c432cf2a39ac77f678a92459e3dd9b6c4519a43 ./src/test/java/org/sqlite/RSMetaDataTest.java
Expand All @@ -28,5 +32,7 @@ d787e71bdf2b8d12a2669eb06c432cf2a39ac77f678a92459e3dd9b6c4519a43 ./src/test/jav
6065d284933c8462cc13217992820a9261075c0e9ee126df6cbe9961d90303f9 ./src/test/java/org/sqlite/ResultSetTest.java
# upstream 958c1f2ff5ca2f1257dfd847207ea793839969b234d140576b51af346697233c ./src/test/java/org/sqlite/ResultSetWithoutResultsTest.java
958c1f2ff5ca2f1257dfd847207ea793839969b234d140576b51af346697233c ./src/test/java/org/sqlite/ResultSetWithoutResultsTest.java
# upstream 81125078aa972d55deba801a81841271a659f0f3306060e128850cbe8cc4054b ./src/test/java/org/sqlite/StatementTest.java
8328eec31b4504df729d39e18c978e03d71c455080a17e943e61d30ff926330c ./src/test/java/org/sqlite/StatementTest.java
# upstream bef3eddca2a6b80472050a3a52d5e7246128f0644d29c24ed091709b0ed6f121 ./src/test/java/org/sqlite/Utils.java
bef3eddca2a6b80472050a3a52d5e7246128f0644d29c24ed091709b0ed6f121 ./src/test/java/org/sqlite/Utils.java
4 changes: 2 additions & 2 deletions upstream-xerial_sqlite-jdbc/UPSTREAM.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
| Commit date | 2026-08-26T09:55:34Z |
| Commit author | github-actions <41898282+github-actions[bot]@users.noreply.github.com> |
| Commit subject | chore(release): 3.53.4.0 [skip ci] |
| Paths | src/test/java/org/sqlite/Utils.java, src/test/java/org/sqlite/ResultSetTest.java, src/test/java/org/sqlite/InsertQueryTest.java, src/test/java/org/sqlite/FetchSizeTest.java, src/test/java/org/sqlite/CachedRowSetTest.java, src/test/java/org/sqlite/JSON1Test.java, src/test/java/org/sqlite/MetadataLeakTest.java, src/test/java/org/sqlite/PreparedStatementThreadTest.java, src/test/java/org/sqlite/ResultSetWithoutResultsTest.java, src/test/java/org/sqlite/RSMetaDataTest.java, LICENSE, LICENSE.zentus, NOTICE, VERSION |
| Paths | src/test/java/org/sqlite/Utils.java, src/test/java/org/sqlite/ResultSetTest.java, src/test/java/org/sqlite/InsertQueryTest.java, src/test/java/org/sqlite/FetchSizeTest.java, src/test/java/org/sqlite/CachedRowSetTest.java, src/test/java/org/sqlite/JSON1Test.java, src/test/java/org/sqlite/MetadataLeakTest.java, src/test/java/org/sqlite/PreparedStatementThreadTest.java, src/test/java/org/sqlite/ResultSetWithoutResultsTest.java, src/test/java/org/sqlite/RSMetaDataTest.java, src/test/java/org/sqlite/DBMetaDataTest.java, src/test/java/org/sqlite/StatementTest.java, src/test/java/org/sqlite/PrepStmtTest.java, LICENSE, LICENSE.zentus, NOTICE, VERSION |
| License | Apache-2.0 and Zentus BSD. See `LICENSE`, `LICENSE.zentus`, and `NOTICE`. |

The exported upstream files are byte-identical copies at this commit and must not be edited. `export-upstream` regenerates this tree.
<!-- export-upstream:end -->

## Divergences

`CHECKSUMS.sha256` records the pinned upstream hash for every file. Four conformance copies carry a recorded divergence and must not be edited beyond it: `CachedRowSetTest.java`, `InsertQueryTest.java`, `JSON1Test.java`, and `PreparedStatementThreadTest.java`. Each reason is recorded in `../upstream-xerial_sqlite-jdbc.manifest` under `# divergence:`.
`CHECKSUMS.sha256` records the pinned upstream hash for every file. Seven conformance copies carry a recorded divergence and must not be edited beyond it: `CachedRowSetTest.java`, `DBMetaDataTest.java`, `InsertQueryTest.java`, `JSON1Test.java`, `PrepStmtTest.java`, `PreparedStatementThreadTest.java`, and `StatementTest.java`. Each reason is recorded in `../upstream-xerial_sqlite-jdbc.manifest` under `# divergence:`.
Loading
Loading