Skip to content

Commit f36dcfc

Browse files
committed
docs(conformance): re-triage the vendored selection and refresh its docs
Re-check every rejected class against the current driver. TypeMapTest stays upstream because #95 rejects type maps and the control run cannot assert both contracts. DBMetaDataTest, StatementTest, and PrepStmtTest expose driver gaps, so they stay upstream with the new issues as their reason (#156, #157, #158). Regenerate UPSTREAM.md so its Paths row matches the tree, and note the recorded divergences. Update the #54 tracker and refresh the stale QueryTest rationale.
1 parent 7c7d321 commit f36dcfc

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

‎upstream-xerial_sqlite-jdbc.manifest‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,31 @@
2929
# selected: src/test/java/org/sqlite/RSMetaDataTest.java -- ResultSetMetaData column names, types, and nullability.
3030

3131
# Rejected tests.
32-
# rejected: src/test/java/org/sqlite/TypeMapTest.java -- removed: libSQL accepts but ignores type maps (tracked by #48), so a parity assertion would be red; asserting the no-op would be a weak test.
3332
# rejected: src/test/java/org/sqlite/BackupTest.java -- drives sqlite-jdbc's native backup API; Hrana exposes no backup primitive.
3433
# rejected: src/test/java/org/sqlite/BusyHandlerTest.java -- registers native busy-handler callbacks that Hrana does not expose.
3534
# rejected: src/test/java/org/sqlite/CollationTest.java -- registers JVM collations through sqlite-jdbc's native extension API.
3635
# 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.
37-
# rejected: src/test/java/org/sqlite/DBMetaDataTest.java -- DatabaseMetaData parity is tracked by #41, #42, and #50; selecting it now would be red.
36+
# 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.
3837
# rejected: src/test/java/org/sqlite/ErrorMessageTest.java -- asserts sqlite-jdbc wording and native result codes; sqld returns different messages and error codes.
3938
# rejected: src/test/java/org/sqlite/ExtendedCommandTest.java -- exercises sqlite-jdbc's dot-command parser, not the JDBC API.
4039
# rejected: src/test/java/org/sqlite/ExtensionTest.java -- loads native SQLite extensions; the libSQL server does not permit extension loading.
4140
# 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.
4241
# rejected: src/test/java/org/sqlite/ListenerTest.java -- update, commit, rollback, and authorizer hooks require native callbacks unavailable over Hrana.
4342
# 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.
4443
# rejected: src/test/java/org/sqlite/MultipleClassLoaderTest.java -- verifies sqlite-jdbc's native library loading per class loader; libSQL has no native library.
45-
# rejected: src/test/java/org/sqlite/PrepStmtTest.java -- includes getGeneratedKeys (#39) and CLOB/binary binding parity that are not yet implemented; selected prepared-statement paths cover the rest.
44+
# rejected: src/test/java/org/sqlite/PrepStmtTest.java -- #157 tracks the parameter binding and parameter-metadata gaps; the class cannot pass until they close.
4645
# rejected: src/test/java/org/sqlite/ProgressHandlerTest.java -- registers native progress callbacks that Hrana does not expose.
47-
# rejected: src/test/java/org/sqlite/QueryTest.java -- date/time and blob conversion cases belong to the value-conversion lane (#31, #32, #33, #34); selecting it now would mix known gaps into the parity baseline.
46+
# 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.
4847
# rejected: src/test/java/org/sqlite/ReadUncommittedTest.java -- depends on sqlite-jdbc shared-cache and read-uncommitted connection configuration; sqld does not expose it.
4948
# rejected: src/test/java/org/sqlite/SavepointTest.java -- savepoints are not implemented by the libSQL driver.
5049
# rejected: src/test/java/org/sqlite/SerializeTest.java -- serializes and restores a native database image; Hrana has no equivalent.
5150
# rejected: src/test/java/org/sqlite/SQLiteConfigTest.java -- tests sqlite-jdbc's configuration object, not the JDBC API.
5251
# rejected: src/test/java/org/sqlite/SQLiteConnectionPoolDataSourceTest.java -- tests sqlite-jdbc DataSource and pooling classes that libSQL does not provide.
5352
# rejected: src/test/java/org/sqlite/SQLiteDataSourceTest.java -- tests sqlite-jdbc DataSource classes that libSQL does not provide.
5453
# rejected: src/test/java/org/sqlite/SQLiteJDBCLoaderTest.java -- tests the native SQLite library loader.
55-
# rejected: src/test/java/org/sqlite/StatementTest.java -- statement reuse and lifecycle parity is tracked by #47; selected ResultSet tests cover the current read paths.
54+
# 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.
5655
# 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.
56+
# 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.
5757
# rejected: src/test/java/org/sqlite/UDFCustomErrorTest.java -- registers JVM UDFs and inspects native error callbacks.
5858
# rejected: src/test/java/org/sqlite/UDFTest.java -- registers JVM UDFs through sqlite-jdbc's native extension API.
5959
# rejected: src/test/java/org/sqlite/util/OSInfoTest.java -- tests sqlite-jdbc's OS and native-library detection utility.

‎upstream-xerial_sqlite-jdbc/UPSTREAM.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@
99
| Commit date | 2026-08-26T09:55:34Z |
1010
| Commit author | github-actions <41898282+github-actions[bot]@users.noreply.github.com> |
1111
| Commit subject | chore(release): 3.53.4.0 [skip ci] |
12-
| 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/TypeMapTest.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 |
12+
| 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 |
1313
| License | Apache-2.0 and Zentus BSD. See `LICENSE`, `LICENSE.zentus`, and `NOTICE`. |
1414

1515
The exported upstream files are byte-identical copies at this commit and must not be edited. `export-upstream` regenerates this tree.
1616
<!-- export-upstream:end -->
17+
18+
## Divergences
19+
20+
`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:`.

0 commit comments

Comments
 (0)