diff --git a/libsql-conformance/pom.xml b/libsql-conformance/pom.xml index be72925..2d05827 100644 --- a/libsql-conformance/pom.xml +++ b/libsql-conformance/pom.xml @@ -163,6 +163,23 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + + + default-testCompile + + + -Xlint:-deprecation + -XDsuppressNotes + + + + + org.apache.maven.plugins maven-surefire-plugin diff --git a/libsql-jdbc/src/main/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatement.java b/libsql-jdbc/src/main/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatement.java index a954611..808f25d 100644 --- a/libsql-jdbc/src/main/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatement.java +++ b/libsql-jdbc/src/main/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatement.java @@ -52,6 +52,9 @@ public class LibsqlPreparedStatement extends LibsqlStatement implements Prepared // Sequential list indexed by JDBC parameter position; no map or boxing overhead. private final List parameters = new ArrayList<>(); + // ParameterMetaDataView only stores this reference and calls checkClosed() after construction, + // so no subclass method can run against a half-built statement. + @SuppressWarnings("this-escape") public LibsqlPreparedStatement(LibsqlConnection connection, String sql) { super(connection); this.sql = sql; diff --git a/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatementTest.java b/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatementTest.java index f574042..dd2a3ba 100644 --- a/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatementTest.java +++ b/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlPreparedStatementTest.java @@ -409,6 +409,8 @@ void unsetParametersBindNullArguments() throws SQLException { .containsExactly(Value.of(7L), Value.ofNull()); } + // The deprecated Unicode stream setter is part of the local-conversion contract. + @SuppressWarnings("deprecation") @Test void streamSettersBindLocalConversions() throws SQLException { RecordingConnection connection = new RecordingConnection(NO_ROWS); diff --git a/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlResultSetTest.java b/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlResultSetTest.java index 41cb4d7..7c03cea 100644 --- a/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlResultSetTest.java +++ b/libsql-jdbc/src/test/java/com/github/magnusp/libsql/jdbc/LibsqlResultSetTest.java @@ -457,6 +457,8 @@ void findColumnRejectsNullLabel() { .hasMessageContaining("null"); } + // The deprecated Unicode stream getters are part of the unsupported-method contract. + @SuppressWarnings("deprecation") @Test void everyUnsupportedMethodThrowsSqlFeatureNotSupportedException() throws SQLException { LibsqlResultSet rs = resultSet(new Value.Integer(1));