diff --git a/pom.xml b/pom.xml index 82bc0c57..56a405e3 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.google.cloud sdk-platform-java-config - 3.36.1 + 3.37.0 diff --git a/src/test/java/com/google/cloud/spanner/jdbc/ClientSideStatementHintsTest.java b/src/test/java/com/google/cloud/spanner/jdbc/ClientSideStatementHintsTest.java index 9a69ba26..97bcd74b 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/ClientSideStatementHintsTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/ClientSideStatementHintsTest.java @@ -68,13 +68,14 @@ private String createUrl() { getPort(), "proj", "inst", "db" + (dialect == Dialect.POSTGRESQL ? "pg" : "")); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testStatementTagInHint() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { try (ResultSet resultSet = connection .createStatement() @@ -94,7 +95,7 @@ public void testStatementTagInHint() throws SQLException { @Test public void testRpcPriorityInHint() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { try (ResultSet resultSet = connection .createStatement() diff --git a/src/test/java/com/google/cloud/spanner/jdbc/ExecuteMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/ExecuteMockServerTest.java index d85c4f8a..f3c22d03 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/ExecuteMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/ExecuteMockServerTest.java @@ -205,13 +205,14 @@ private String createUrl() { getPort(), "proj", "inst", "db"); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testStatementExecuteQuery() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { try (ResultSet resultSet = statement.executeQuery(query)) { verifyResultSet(resultSet); @@ -231,7 +232,7 @@ public void testStatementExecuteQuery() throws SQLException { @Test public void testStatementExecuteUpdate() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1, statement.executeUpdate(dml)); assertEquals(0, statement.executeUpdate(DDL)); @@ -249,7 +250,7 @@ public void testStatementExecuteUpdate() throws SQLException { @Test public void testStatementExecuteUpdateReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. assertEquals(1, statement.executeUpdate(dml, Statement.NO_GENERATED_KEYS)); @@ -265,7 +266,7 @@ public void testStatementExecuteUpdateReturnGeneratedKeys() throws SQLException @Test public void testStatementExecuteUpdateReturnColumnNames() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1, statement.executeUpdate(dml, new String[] {"id"})); assertEquals(0, statement.executeUpdate(DDL, new String[] {"id"})); @@ -283,7 +284,7 @@ public void testStatementExecuteUpdateReturnColumnNames() throws SQLException { @Test public void testStatementExecuteUpdateReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1, statement.executeUpdate(dml, new int[] {1})); assertEquals(0, statement.executeUpdate(DDL, new int[] {1})); @@ -297,7 +298,7 @@ public void testStatementExecuteUpdateReturnColumnIndexes() throws SQLException @Test public void testStatementLargeExecuteUpdate() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1L, statement.executeLargeUpdate(dml)); assertEquals(0L, statement.executeLargeUpdate(DDL)); @@ -311,7 +312,7 @@ public void testStatementLargeExecuteUpdate() throws SQLException { @Test public void testStatementExecuteLargeUpdateReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. assertEquals(1, statement.executeLargeUpdate(dml, Statement.NO_GENERATED_KEYS)); @@ -329,7 +330,7 @@ public void testStatementExecuteLargeUpdateReturnGeneratedKeys() throws SQLExcep @Test public void testStatementExecuteLargeUpdateReturnColumnNames() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1, statement.executeLargeUpdate(dml, new String[] {"id"})); assertEquals(0, statement.executeLargeUpdate(DDL, new String[] {"id"})); @@ -346,7 +347,7 @@ public void testStatementExecuteLargeUpdateReturnColumnNames() throws SQLExcepti @Test public void testStatementExecuteLargeUpdateReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { assertEquals(1, statement.executeLargeUpdate(dml, new int[] {1})); assertEquals(0, statement.executeLargeUpdate(DDL, new int[] {1})); @@ -360,7 +361,7 @@ public void testStatementExecuteLargeUpdateReturnColumnIndexes() throws SQLExcep @Test public void testStatementExecute() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { verifyUpdateCount(statement, () -> statement.execute(dml), 1L); verifyUpdateCount(statement, () -> statement.execute(largeDml), LARGE_UPDATE_COUNT); @@ -375,7 +376,7 @@ public void testStatementExecute() throws SQLException { @Test public void testStatementExecuteReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. verifyUpdateCount(statement, () -> statement.execute(dml, Statement.NO_GENERATED_KEYS), 1L); @@ -401,7 +402,7 @@ public void testStatementExecuteReturnGeneratedKeys() throws SQLException { @Test public void testStatementExecuteReturnColumnNames() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { verifyUpdateCount(statement, () -> statement.execute(dml, new String[] {"id"}), 1L); verifyUpdateCount( @@ -420,7 +421,7 @@ public void testStatementExecuteReturnColumnNames() throws SQLException { @Test public void testStatementExecuteReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); Statement statement = connection.createStatement()) { verifyUpdateCount(statement, () -> statement.execute(dml, new int[] {1}), 1L); verifyUpdateCount( @@ -439,7 +440,7 @@ public void testStatementExecuteReturnColumnIndexes() throws SQLException { @Test public void testPreparedStatementExecuteQuery() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { try (ResultSet resultSet = connection.prepareStatement(query).executeQuery()) { verifyResultSet(resultSet); } @@ -458,7 +459,7 @@ public void testPreparedStatementExecuteQuery() throws SQLException { @Test public void testPreparedStatementExecuteUpdate() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1, connection.prepareStatement(dml).executeUpdate()); assertEquals(0, connection.prepareStatement(DDL).executeUpdate()); assertEquals(0, connection.prepareStatement(clientSideUpdate).executeUpdate()); @@ -472,7 +473,7 @@ public void testPreparedStatementExecuteUpdate() throws SQLException { @Test public void testPreparedStatementExecuteUpdateReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. assertEquals( 1, connection.prepareStatement(dml, Statement.NO_GENERATED_KEYS).executeUpdate()); @@ -503,7 +504,7 @@ public void testPreparedStatementExecuteUpdateReturnGeneratedKeys() throws SQLEx @Test public void testPreparedStatementExecuteUpdateReturnColumnNames() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1, connection.prepareStatement(dml, new String[] {"id"}).executeUpdate()); assertEquals(0, connection.prepareStatement(DDL, new String[] {"id"}).executeUpdate()); assertEquals( @@ -523,7 +524,7 @@ public void testPreparedStatementExecuteUpdateReturnColumnNames() throws SQLExce @Test public void testPreparedStatementExecuteUpdateReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1, connection.prepareStatement(dml, new int[] {1}).executeUpdate()); assertEquals(0, connection.prepareStatement(DDL, new int[] {1}).executeUpdate()); assertEquals(0, connection.prepareStatement(clientSideUpdate, new int[] {1}).executeUpdate()); @@ -539,7 +540,7 @@ public void testPreparedStatementExecuteUpdateReturnColumnIndexes() throws SQLEx @Test public void testPreparedStatementLargeExecuteUpdate() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1L, connection.prepareStatement(dml).executeLargeUpdate()); assertEquals(0L, connection.prepareStatement(DDL).executeLargeUpdate()); assertEquals(0L, connection.prepareStatement(clientSideUpdate).executeLargeUpdate()); @@ -554,7 +555,7 @@ public void testPreparedStatementLargeExecuteUpdate() throws SQLException { @Test public void testPreparedStatementExecuteLargeUpdateReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. assertEquals( 1, connection.prepareStatement(dml, Statement.NO_GENERATED_KEYS).executeLargeUpdate()); @@ -587,7 +588,7 @@ public void testPreparedStatementExecuteLargeUpdateReturnGeneratedKeys() throws @Test public void testPreparedStatementExecuteLargeUpdateReturnColumnNames() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1, connection.prepareStatement(dml, new String[] {"id"}).executeLargeUpdate()); assertEquals(0, connection.prepareStatement(DDL, new String[] {"id"}).executeLargeUpdate()); assertEquals( @@ -612,7 +613,7 @@ public void testPreparedStatementExecuteLargeUpdateReturnColumnNames() throws SQ @Test public void testPreparedStatementExecuteLargeUpdateReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertEquals(1, connection.prepareStatement(dml, new int[] {1}).executeLargeUpdate()); assertEquals(0, connection.prepareStatement(DDL, new int[] {1}).executeLargeUpdate()); assertEquals( @@ -631,7 +632,7 @@ public void testPreparedStatementExecuteLargeUpdateReturnColumnIndexes() throws @Test public void testPreparedStatementExecute() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { verifyPreparedUpdateCount(connection.prepareStatement(dml), PreparedStatement::execute, 1L); verifyPreparedUpdateCount( connection.prepareStatement(largeDml), PreparedStatement::execute, LARGE_UPDATE_COUNT); @@ -651,7 +652,7 @@ public void testPreparedStatementExecute() throws SQLException { @Test public void testPreparedStatementExecuteReturnGeneratedKeys() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { // TODO: Add tests for RETURN_GENERATED_KEYS when that is supported. verifyPreparedUpdateCount( connection.prepareStatement(dml, Statement.NO_GENERATED_KEYS), @@ -683,7 +684,7 @@ public void testPreparedStatementExecuteReturnGeneratedKeys() throws SQLExceptio @Test public void testPreparedStatementExecuteReturnColumnNames() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { verifyPreparedUpdateCount( connection.prepareStatement(dml, new String[] {"id"}), PreparedStatement::execute, 1L); verifyPreparedUpdateCount( @@ -711,7 +712,7 @@ public void testPreparedStatementExecuteReturnColumnNames() throws SQLException @Test public void testPreparedStatementExecuteReturnColumnIndexes() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { verifyPreparedUpdateCount( connection.prepareStatement(dml, new int[] {1}), PreparedStatement::execute, 1L); verifyPreparedUpdateCount( diff --git a/src/test/java/com/google/cloud/spanner/jdbc/MultiplexedSessionsMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/MultiplexedSessionsMockServerTest.java index 8415f1a3..251dc34f 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/MultiplexedSessionsMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/MultiplexedSessionsMockServerTest.java @@ -77,13 +77,14 @@ private String createUrl() { getPort(), "proj", "inst", "db" + (dialect == Dialect.POSTGRESQL ? "pg" : "")); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testUsesMultiplexedSessionForQueryInAutoCommit() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertTrue(connection.getAutoCommit()); try (ResultSet resultSet = connection.createStatement().executeQuery(SELECT_RANDOM_SQL)) { //noinspection StatementWithEmptyBody @@ -106,7 +107,7 @@ public void testUsesMultiplexedSessionForQueryInAutoCommit() throws SQLException @Test public void testUsesMultiplexedSessionForQueryInReadOnlyTransaction() throws SQLException { int numQueries = 2; - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setReadOnly(true); connection.setAutoCommit(false); @@ -137,7 +138,7 @@ public void testUsesMultiplexedSessionForQueryInReadOnlyTransaction() throws SQL @Test public void testUsesRegularSessionForDmlInAutoCommit() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { assertTrue(connection.getAutoCommit()); assertEquals(1, connection.createStatement().executeUpdate(INSERT_SQL)); } @@ -158,7 +159,7 @@ public void testUsesRegularSessionForDmlInAutoCommit() throws SQLException { @Test public void testUsesRegularSessionForQueryInTransaction() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setAutoCommit(false); assertFalse(connection.getAutoCommit()); diff --git a/src/test/java/com/google/cloud/spanner/jdbc/PartitionedQueryMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/PartitionedQueryMockServerTest.java index 5b521b62..1ee80983 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/PartitionedQueryMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/PartitionedQueryMockServerTest.java @@ -83,7 +83,8 @@ private String createUrl() { getPort(), "proj", "inst", "db"); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @@ -103,7 +104,7 @@ public void testPartitionedQueryUsingSql() throws SQLException { mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); String prefix = dialect == Dialect.POSTGRESQL ? "spanner." : ""; - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { // This will automatically enable Data Boost for any partitioned query that is executed on // this connection. The property is ignored for any query that is not a partitioned query. connection.createStatement().execute(String.format("set %sdata_boost_enabled=true", prefix)); @@ -199,7 +200,7 @@ public void testPartitionedQueryStatement() throws SQLException { Statement statement = Statement.of("select * from my_table where active=true"); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { CloudSpannerJdbcConnection cloudSpannerJdbcConnection = connection.unwrap(CloudSpannerJdbcConnection.class); // This will automatically enable Data Boost for any partitioned query that is executed on @@ -288,7 +289,7 @@ public void testPartitionedQueryPreparedStatement() throws SQLException { .build(); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { CloudSpannerJdbcConnection cloudSpannerJdbcConnection = connection.unwrap(CloudSpannerJdbcConnection.class); // This will automatically enable Data Boost for any partitioned query that is executed on @@ -372,7 +373,7 @@ public void testAutoPartitionMode() throws SQLException { Statement statement = Statement.of("select * from my_table where active=true"); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { CloudSpannerJdbcConnection cloudSpannerJdbcConnection = connection.unwrap(CloudSpannerJdbcConnection.class); // This will automatically enable Data Boost for any partitioned query that is executed on @@ -478,7 +479,7 @@ public void testAutoPartitionModeEmptyResult() throws SQLException { Statement statement = Statement.of("select * from my_table where active=true"); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { CloudSpannerJdbcConnection cloudSpannerJdbcConnection = connection.unwrap(CloudSpannerJdbcConnection.class); // This will automatically enable Data Boost for any partitioned query that is executed on diff --git a/src/test/java/com/google/cloud/spanner/jdbc/PreparedStatementReturnGeneratedKeysMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/PreparedStatementReturnGeneratedKeysMockServerTest.java index b88428bd..cfb2c8a1 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/PreparedStatementReturnGeneratedKeysMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/PreparedStatementReturnGeneratedKeysMockServerTest.java @@ -81,7 +81,8 @@ private String createUrl() { getPort(), "proj", "inst", "db"); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @@ -121,7 +122,7 @@ public void testReturnAutoGeneratedKeys() throws SQLException { .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, java.sql.Statement.RETURN_GENERATED_KEYS)) { for (SqlRunnable runnable : @@ -180,7 +181,7 @@ public void testReturnColumnNames() throws SQLException { .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, new String[] {"id"})) { for (SqlRunnable runnable : ImmutableList.of( @@ -213,7 +214,7 @@ public void testReturnColumnIndices() throws SQLException { String sql = "insert into test (id, value) values (1, 'One')"; mockSpanner.putStatementResult(StatementResult.update(Statement.of(sql), 1L)); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, new int[] {1})) { // The JDBC driver silently ignores the request for column indices. for (SqlRunnable runnable : @@ -238,7 +239,7 @@ public void testReturnGeneratedKeysForQuery() throws SQLException { RandomResultSetGenerator generator = new RandomResultSetGenerator(1); mockSpanner.putStatementResult(StatementResult.query(Statement.of(sql), generator.generate())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, java.sql.Statement.RETURN_GENERATED_KEYS)) { assertTrue(statement.execute()); @@ -256,7 +257,7 @@ public void testReturnGeneratedKeysForDdl() throws SQLException { String sql = "create table test"; addDdlResponseToSpannerAdmin(); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, java.sql.Statement.RETURN_GENERATED_KEYS)) { assertFalse(statement.execute()); @@ -293,7 +294,7 @@ public void testReturnAutoGeneratedKeysForStatementWithReturning() throws SQLExc .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); PreparedStatement statement = connection.prepareStatement(sql, java.sql.Statement.RETURN_GENERATED_KEYS)) { assertTrue(statement.execute()); diff --git a/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java index d8b438ab..5f2fc846 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java @@ -85,13 +85,14 @@ private String createUrl() { getPort(), "proj", "inst", "db" + (dialect == Dialect.POSTGRESQL ? "pg" : "")); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testCreateSavepoint() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setSavepoint("s1"); if (dialect == Dialect.POSTGRESQL) { @@ -112,7 +113,7 @@ public void testCreateSavepoint() throws SQLException { @Test public void testCreateSavepointWhenDisabled() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.DISABLED); @@ -122,7 +123,7 @@ public void testCreateSavepointWhenDisabled() throws SQLException { @Test public void testReleaseSavepoint() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { Savepoint s1 = connection.setSavepoint("s1"); connection.releaseSavepoint(s1); assertThrows(SQLException.class, () -> connection.releaseSavepoint(s1)); @@ -150,7 +151,7 @@ public void testReleaseSavepoint() throws SQLException { public void testRollbackToSavepoint() throws SQLException { for (SavepointSupport savepointSupport : new SavepointSupport[] {SavepointSupport.ENABLED, SavepointSupport.FAIL_AFTER_ROLLBACK}) { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.unwrap(CloudSpannerJdbcConnection.class).setSavepointSupport(savepointSupport); Savepoint s1 = connection.setSavepoint("s1"); @@ -181,7 +182,7 @@ public void testRollbackToSavepoint() throws SQLException { @Test public void testSavepointInAutoCommit() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setAutoCommit(true); assertThrows(SQLException.class, () -> connection.setSavepoint("s1")); @@ -196,7 +197,7 @@ public void testSavepointInAutoCommit() throws SQLException { public void testRollbackToSavepointInReadOnlyTransaction() throws SQLException { for (SavepointSupport savepointSupport : new SavepointSupport[] {SavepointSupport.ENABLED, SavepointSupport.FAIL_AFTER_ROLLBACK}) { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.unwrap(CloudSpannerJdbcConnection.class).setSavepointSupport(savepointSupport); connection.setReadOnly(true); @@ -237,7 +238,7 @@ public void testRollbackToSavepointInReadOnlyTransaction() throws SQLException { @Test public void testRollbackToSavepointInReadWriteTransaction() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.ENABLED); @@ -288,7 +289,7 @@ public void testRollbackToSavepointInReadWriteTransaction() throws SQLException @Test public void testRollbackToSavepointWithDmlStatements() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.ENABLED); @@ -344,7 +345,7 @@ public void testRollbackToSavepointFails() throws SQLException { int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.ENABLED); @@ -401,7 +402,7 @@ public void testRollbackToSavepointWithFailAfterRollback() throws SQLException { int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.FAIL_AFTER_ROLLBACK); @@ -442,7 +443,7 @@ public void testRollbackToSavepointSucceedsWithRollback() throws SQLException { int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.unwrap(CloudSpannerJdbcConnection.class).setSavepointSupport(savepointSupport); try (ResultSet resultSet = connection.createStatement().executeQuery(statement.getSql())) { @@ -477,7 +478,7 @@ public void testMultipleRollbacksWithChangedResults() throws SQLException { int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { try (ResultSet resultSet = connection.createStatement().executeQuery(statement.getSql())) { int count = 0; while (resultSet.next()) { @@ -512,7 +513,7 @@ public void testMultipleRollbacks() throws SQLException { int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.ENABLED); @@ -561,7 +562,7 @@ public void testMultipleRollbacks() throws SQLException { @Test public void testRollbackMutations() throws SQLException { - try (Connection con = createConnection()) { + try (Connection con = createJdbcConnection()) { CloudSpannerJdbcConnection connection = con.unwrap(CloudSpannerJdbcConnection.class); connection.setSavepointSupport(SavepointSupport.ENABLED); @@ -589,7 +590,7 @@ public void testRollbackMutations() throws SQLException { @Test public void testRollbackBatchDml() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .unwrap(CloudSpannerJdbcConnection.class) .setSavepointSupport(SavepointSupport.ENABLED); @@ -649,7 +650,7 @@ public void testRollbackToSavepointWithoutInternalRetries() throws SQLException int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.unwrap(CloudSpannerJdbcConnection.class).setRetryAbortsInternally(false); Savepoint s1 = connection.setSavepoint("s1"); @@ -676,7 +677,7 @@ public void testRollbackToSavepointWithoutInternalRetriesInReadOnlyTransaction() int numRows = 10; RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows); mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate())); - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.unwrap(CloudSpannerJdbcConnection.class).setRetryAbortsInternally(false); connection.setReadOnly(true); diff --git a/src/test/java/com/google/cloud/spanner/jdbc/StatementReturnGeneratedKeysMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/StatementReturnGeneratedKeysMockServerTest.java index 9cd9068d..ea727f14 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/StatementReturnGeneratedKeysMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/StatementReturnGeneratedKeysMockServerTest.java @@ -80,7 +80,8 @@ private String createUrl() { getPort(), "proj", "inst", "db"); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @@ -120,7 +121,7 @@ public void testReturnAutoGeneratedKeys() throws SQLException { .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { for (SqlRunnable runnable : ImmutableList.of( @@ -183,7 +184,7 @@ public void testReturnColumnNames() throws SQLException { .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { for (SqlRunnable runnable : ImmutableList.of( @@ -216,7 +217,7 @@ public void testReturnColumnIndices() throws SQLException { String sql = "insert into test (id, value) values (1, 'One')"; mockSpanner.putStatementResult(StatementResult.update(Statement.of(sql), 1L)); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { // The JDBC driver silently ignores the request for column indices. for (SqlRunnable runnable : @@ -241,7 +242,7 @@ public void testReturnGeneratedKeysForQuery() throws SQLException { RandomResultSetGenerator generator = new RandomResultSetGenerator(1); mockSpanner.putStatementResult(StatementResult.query(Statement.of(sql), generator.generate())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { assertTrue(statement.execute(sql, java.sql.Statement.RETURN_GENERATED_KEYS)); try (ResultSet resultSet = statement.getResultSet()) { @@ -258,7 +259,7 @@ public void testReturnGeneratedKeysForDdl() throws SQLException { String sql = "create table test"; addDdlResponseToSpannerAdmin(); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { assertFalse(statement.execute(sql, java.sql.Statement.RETURN_GENERATED_KEYS)); assertEquals(java.sql.Statement.SUCCESS_NO_INFO, statement.getUpdateCount()); @@ -294,7 +295,7 @@ public void testReturnAutoGeneratedKeysForStatementWithReturning() throws SQLExc .setStats(ResultSetStats.newBuilder().setRowCountExact(1L).build()) .build())); - try (Connection connection = createConnection(); + try (Connection connection = createJdbcConnection(); java.sql.Statement statement = connection.createStatement()) { assertTrue(statement.execute(sql, java.sql.Statement.RETURN_GENERATED_KEYS)); try (ResultSet resultSet = statement.getResultSet()) { diff --git a/src/test/java/com/google/cloud/spanner/jdbc/TagMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/TagMockServerTest.java index 8401297c..832b42c6 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/TagMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/TagMockServerTest.java @@ -77,13 +77,14 @@ private String createUrl() { getPort(), "proj", "inst", "db" + (dialect == Dialect.POSTGRESQL ? "pg" : "")); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testStatementTagForQuery() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .createStatement() .execute(String.format("set %sstatement_tag='my-tag'", getVariablePrefix())); @@ -107,7 +108,7 @@ public void testStatementTagForQuery() throws SQLException { @Test public void testTransactionTagForQuery() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .createStatement() .execute(String.format("set %stransaction_tag='my-tag'", getVariablePrefix())); @@ -142,7 +143,7 @@ public void testTransactionTagForQuery() throws SQLException { @Test public void testStatementTagForBatchDml() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .createStatement() .execute(String.format("set %sstatement_tag='my-tag'", getVariablePrefix())); @@ -172,7 +173,7 @@ public void testStatementTagForBatchDml() throws SQLException { @Test public void testTransactionTagForBatchDml() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection .createStatement() .execute(String.format("set %stransaction_tag='my-tag'", getVariablePrefix())); @@ -214,7 +215,7 @@ public void testTransactionTagForBatchDml() throws SQLException { @Test public void testStatementTagInHint() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { try (ResultSet resultSet = connection .createStatement() diff --git a/src/test/java/com/google/cloud/spanner/jdbc/TransactionMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/TransactionMockServerTest.java index a5149954..954d12e8 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/TransactionMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/TransactionMockServerTest.java @@ -50,13 +50,14 @@ private String createUrl() { getPort(), "proj", "inst", "db"); } - private Connection createConnection() throws SQLException { + @Override + protected Connection createJdbcConnection() throws SQLException { return DriverManager.getConnection(createUrl()); } @Test public void testCommittingEmptyTransactionIsNoOp() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.commit(); } @@ -65,7 +66,7 @@ public void testCommittingEmptyTransactionIsNoOp() throws SQLException { @Test public void testCommittingEmptyExplicitTransactionIsNoOp() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setAutoCommit(true); try (Statement statement = connection.createStatement()) { statement.execute("begin transaction"); @@ -78,7 +79,7 @@ public void testCommittingEmptyExplicitTransactionIsNoOp() throws SQLException { @Test public void testRollingBackEmptyTransactionIsNoOp() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.rollback(); } @@ -87,7 +88,7 @@ public void testRollingBackEmptyTransactionIsNoOp() throws SQLException { @Test public void testRollingBackEmptyExplicitTransactionIsNoOp() throws SQLException { - try (Connection connection = createConnection()) { + try (Connection connection = createJdbcConnection()) { connection.setAutoCommit(true); try (Statement statement = connection.createStatement()) { statement.execute("begin transaction");