From 7eb218600b8de95b7ef2ee4f69969b9ef988c22e Mon Sep 17 00:00:00 2001 From: alexradzin Date: Tue, 16 Apr 2024 19:00:30 +0300 Subject: [PATCH] CR: removed redundant annotation and added higher level constructor --- .../com/firebolt/jdbc/resultset/FireboltResultSet.java | 7 ++++++- .../firebolt/jdbc/service/FireboltStatementService.java | 8 ++++---- .../firebolt/jdbc/resultset/FireboltResultSetTest.java | 2 ++ .../jdbc/service/FireboltStatementServiceTest.java | 4 ---- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/firebolt/jdbc/resultset/FireboltResultSet.java b/src/main/java/com/firebolt/jdbc/resultset/FireboltResultSet.java index 4d7c5d735..6944b99f3 100644 --- a/src/main/java/com/firebolt/jdbc/resultset/FireboltResultSet.java +++ b/src/main/java/com/firebolt/jdbc/resultset/FireboltResultSet.java @@ -4,6 +4,7 @@ import com.firebolt.jdbc.QueryResult; import com.firebolt.jdbc.annotation.ExcludeFromJacocoGeneratedReport; import com.firebolt.jdbc.annotation.NotImplemented; +import com.firebolt.jdbc.connection.settings.FireboltProperties; import com.firebolt.jdbc.exception.ExceptionType; import com.firebolt.jdbc.exception.FireboltException; import com.firebolt.jdbc.exception.FireboltSQLFeatureNotSupportedException; @@ -113,7 +114,11 @@ private FireboltResultSet() { public FireboltResultSet(InputStream is, String tableName, String dbName, Integer bufferSize, boolean isCompressed, FireboltStatement statement, boolean logResultSet) throws SQLException { - this(is, tableName, dbName, bufferSize, 0, 0, isCompressed, statement, logResultSet); + this(is, tableName, dbName, bufferSize, statement == null ? 0 : statement.getMaxRows(), statement == null ? 0 : statement.getMaxFieldSize(), isCompressed, statement, logResultSet); + } + + public FireboltResultSet(InputStream is, String tableName, String dbName, FireboltProperties properties, FireboltStatement statement) throws SQLException { + this(is, tableName, dbName, properties.getBufferSize(), statement == null ? 0 : statement.getMaxRows(), statement == null ? 0 : statement.getMaxFieldSize(), properties.isCompress(), statement, properties.isLogResultSet()); } @SuppressWarnings("java:S107") //Number of parameters (8) > max (7). This is the price of the immutability diff --git a/src/main/java/com/firebolt/jdbc/service/FireboltStatementService.java b/src/main/java/com/firebolt/jdbc/service/FireboltStatementService.java index 7b4b344f7..eb5d898cf 100644 --- a/src/main/java/com/firebolt/jdbc/service/FireboltStatementService.java +++ b/src/main/java/com/firebolt/jdbc/service/FireboltStatementService.java @@ -35,7 +35,6 @@ public class FireboltStatementService { * @param statement the statement * @return an InputStream with the result */ - @SuppressWarnings("java:S107") //Number of parameters (8) > max (7). Not nice but probably not so bad for internal class public Optional execute(StatementInfoWrapper statementInfoWrapper, FireboltProperties properties, boolean standardSql, FireboltStatement statement) throws SQLException { @@ -63,9 +62,10 @@ public boolean isStatementRunning(String statementLabel) { private FireboltResultSet createResultSet(InputStream inputStream, QueryRawStatement initialQuery, FireboltProperties properties, FireboltStatement statement) throws SQLException { - return new FireboltResultSet(inputStream, Optional.ofNullable(initialQuery.getTable()).orElse(UNKNOWN_TABLE_NAME), + return new FireboltResultSet(inputStream, + Optional.ofNullable(initialQuery.getTable()).orElse(UNKNOWN_TABLE_NAME), Optional.ofNullable(initialQuery.getDatabase()).orElse(properties.getDatabase()), - properties.getBufferSize(), statement.getMaxRows(), statement.getMaxFieldSize(), properties.isCompress(), statement, - properties.isLogResultSet()); + properties, + statement); } } diff --git a/src/test/java/com/firebolt/jdbc/resultset/FireboltResultSetTest.java b/src/test/java/com/firebolt/jdbc/resultset/FireboltResultSetTest.java index 2a95592a9..b62033097 100644 --- a/src/test/java/com/firebolt/jdbc/resultset/FireboltResultSetTest.java +++ b/src/test/java/com/firebolt/jdbc/resultset/FireboltResultSetTest.java @@ -662,6 +662,8 @@ void shouldCloseStatementWhenCloseOnCompletion() throws SQLException { void shouldNotCloseStatementWhenNotCloseOnCompletion() throws SQLException { when(fireboltStatement.isCloseOnCompletion()).thenReturn(false); inputStream = getInputStreamWithCommonResponseExample(); + when(fireboltStatement.getMaxRows()).thenReturn(1024); + when(fireboltStatement.getMaxFieldSize()).thenReturn(0); resultSet = new FireboltResultSet(inputStream, "any_name", "array_db", 65535, fireboltStatement); resultSet.close(); verifyNoMoreInteractions(fireboltStatement); diff --git a/src/test/java/com/firebolt/jdbc/service/FireboltStatementServiceTest.java b/src/test/java/com/firebolt/jdbc/service/FireboltStatementServiceTest.java index c86d1ab2a..d6dbabc1f 100644 --- a/src/test/java/com/firebolt/jdbc/service/FireboltStatementServiceTest.java +++ b/src/test/java/com/firebolt/jdbc/service/FireboltStatementServiceTest.java @@ -45,7 +45,6 @@ void shouldExecuteQueryAndCreateResultSet() throws SQLException { FireboltStatementService fireboltStatementService = new FireboltStatementService(statementClient); FireboltStatement statement = mock(FireboltStatement.class); when(statement.getQueryTimeout()).thenReturn(10); - when(statement.getMaxRows()).thenReturn(-1); fireboltStatementService.execute(statementInfoWrapper, fireboltProperties, true, statement); verify(statementClient).executeSqlStatement(statementInfoWrapper, fireboltProperties, false, 10, true); Assertions.assertEquals(1, mocked.constructed().size()); @@ -60,7 +59,6 @@ void shouldExecuteQueryWithLocalHostFormatParameters() throws SQLException { FireboltStatementService fireboltStatementService = new FireboltStatementService(statementClient); FireboltStatement statement = mock(FireboltStatement.class); when(statement.getQueryTimeout()).thenReturn(-1); - when(statement.getMaxRows()).thenReturn(10); fireboltStatementService.execute(statementInfoWrapper, fireboltProperties, true, statement); Assertions.assertEquals(1, mocked.constructed().size()); verify(statementClient).executeSqlStatement(statementInfoWrapper, fireboltProperties, false, -1, true); @@ -92,7 +90,6 @@ void shouldExecuteQueryWithParametersForSystemEngine() throws SQLException { FireboltStatementService fireboltStatementService = new FireboltStatementService(statementClient); FireboltStatement statement = mock(FireboltStatement.class); when(statement.getQueryTimeout()).thenReturn(10); - when(statement.getMaxRows()).thenReturn(10); fireboltStatementService.execute(statementInfoWrapper, fireboltProperties, true, statement); Assertions.assertEquals(1, mocked.constructed().size()); verify(statementClient).executeSqlStatement(statementInfoWrapper, fireboltProperties, true, 10, true); @@ -109,7 +106,6 @@ void shouldIncludeNonStandardSqlQueryParamForNonStandardSql() throws SQLExceptio FireboltStatementService fireboltStatementService = new FireboltStatementService(statementClient); FireboltStatement statement = mock(FireboltStatement.class); when(statement.getQueryTimeout()).thenReturn(-1); - when(statement.getMaxRows()).thenReturn(0); fireboltStatementService.execute(statementInfoWrapper, fireboltProperties, false, statement); Assertions.assertEquals(1, mocked.constructed().size()); verify(statementClient).executeSqlStatement(statementInfoWrapper, fireboltProperties, true, -1, false);