1.5.0
Release: sqlx4k 1.5.0 (2025-11-21)
Highlights
- Cross-database support for setting transaction isolation level via
Connection.setTransactionIsolationLevel(...)
across MySQL, PostgreSQL, and SQLite. - Safer PostgreSQL PGMQ schema:
pgmq.topic_bindings.queue_namenow has a foreign key withON DELETE CASCADE. - Simplified execution paths leveraging shared
encoders; fewer overrides and cleaner internals. - Dependency refresh across SQLite JDBC, PostgreSQL R2DBC, Apache Calcite, Spring Boot, and KSP.
New features
- Transaction isolation levels across databases
- New API:
Connection.setTransactionIsolationLevel(level: IsolationLevel, lock: Boolean = false). - Implemented for MySQL, PostgreSQL, and SQLite.
- Defaults per database.
- Commits:
22521c80,165daac6,1edfaa54,b5670d59.
- New API:
Behavior and schema changes
- PostgreSQL PGMQ: add FK on
pgmq.topic_bindings(queue_name)withON DELETE CASCADEfor safer cleanup.- Commit:
6bfb62d2. - Impact: Deleting a queue cascades to its topic bindings.
- Suggested migration example:
ALTER TABLE pgmq.topic_bindings ADD CONSTRAINT fk_topic_bindings_queue_name FOREIGN KEY (queue_name) REFERENCES pgmq.queues(queue_name) ON DELETE CASCADE;
- Commit:
API changes and refactors
Connectioninterface now includessetTransactionIsolationLevel(...).- Maintainors of custom
Connectionimpls must add this method. - Commits:
22521c80,1edfaa54,b5670d59.
- Maintainors of custom
- Unify default execution using
encoders; remove DB-specific overrides ofexecuteandfetchAll(Statement).- Commits:
4f7e48da,243627ed.
- Commits:
- Expose/propagate
encodersacross modules; remove redundant companion objects.- Commit:
243627ed.
- Commit:
- Internal cleanup: inline isolation level SQL; remove
NoQuotingString(internal).- Commit:
b5670d59.
- Commit:
Documentation
- README improvements:
- Added "Running Queries" and "Setting Transaction Isolation Level" sections.
- Formatting and language updates.
- Commits:
3df1e91d,f558c75c,a010e079.
Dependency updates
- SQLite JDBC:
org.xerial:sqlite-jdbc3.50.3.0 → 3.51.0.0 (e57682f0). - KSP:
2.2.20-2.0.4→2.3.0(1ce65f66), then2.3.0→2.3.2(ea5b9658). - PostgreSQL R2DBC:
org.postgresql:r2dbc-postgresql1.1.0.RELEASE → 1.1.1.RELEASE (414075c6). - Apache Calcite:
1.40.0→1.41.0(ff291302). - Spring Boot:
3.5.6→3.5.7(2b06e836).
Upgrade notes
- If you implement custom
Connectiontypes, addsetTransactionIsolationLevel(...). - PostgreSQL PGMQ users: consider applying the FK with cascade delete if you rely on the provided schema SQL.
- Review dependency bumps for any transitive changes.
Full Changelog: 1.4.1...1.5.0