Skip to content

Conversation

@chernser
Copy link
Contributor

@chernser chernser commented Aug 21, 2025

Summary

Makes a copy of user settings before adjustment to prevent side effects when settings used concurrently for different operations.

Closes #2543

Checklist

Delete items not relevant to your PR:

  • Closes #
  • Unit and integration tests covering the common scenarios were added
  • A human-readable description of the changes was provided to include in CHANGELOG
  • For significant changes, documentation in https://github.com/ClickHouse/clickhouse-docs was updated with further explanations or tutorials
@github-actions
Copy link

github-actions bot commented Aug 21, 2025

Client V2 Coverage

Coverage Report

Package Coverage Lines Covered Total Lines
com.clickhouse.client.api 83.70% 760 908
com.clickhouse.client.api.command 50.00% 8 16
com.clickhouse.client.api.data_formats 38.97% 136 349
com.clickhouse.client.api.data_formats.internal 59.38% 1086 1829
com.clickhouse.client.api.enums 100.00% 5 5
com.clickhouse.client.api.http 0.00% 1
com.clickhouse.client.api.insert 83.10% 59 71
com.clickhouse.client.api.internal 75.24% 620 824
com.clickhouse.client.api.metadata 85.42% 41 48
com.clickhouse.client.api.metrics 93.75% 75 80
com.clickhouse.client.api.query 78.52% 106 135
com.clickhouse.client.api.serde 84.21% 48 57
com.clickhouse.client.api.sql 87.50% 28 32
com.clickhouse.client.api.transport 83.33% 10 12
Class Coverage
Class Coverage Lines Covered Total Lines
com.clickhouse.client.api.ClickHouseException 62.50% 5 8
com.clickhouse.client.api.Client 83.25% 353 424
com.clickhouse.client.api.Client.Builder 79.60% 160 201
com.clickhouse.client.api.Client.new DataStreamWriter() {...} 100.00% 8 8
com.clickhouse.client.api.ClientConfigProperties 93.48% 172 184
com.clickhouse.client.api.ClientConfigProperties.new ClientConfigProperties() {...} 100.00% 8 8
com.clickhouse.client.api.ClientException 100.00% 4 4
com.clickhouse.client.api.ClientFaultCause 100.00% 7 7
com.clickhouse.client.api.ClientMisconfigurationException 100.00% 4 4
com.clickhouse.client.api.command.CommandResponse 46.67% 7 15
com.clickhouse.client.api.command.CommandSettings 100.00% 1 1
com.clickhouse.client.api.ConnectionInitiationException 50.00% 3 6
com.clickhouse.client.api.ConnectionReuseStrategy 100.00% 3 3
com.clickhouse.client.api.data_formats.internal.AbstractBinaryFormatReader 71.43% 215 301
com.clickhouse.client.api.data_formats.internal.AbstractBinaryFormatReader.RecordWrapper 50.00% 17 34
com.clickhouse.client.api.data_formats.internal.BinaryReaderBackedRecord 13.75% 11 80
com.clickhouse.client.api.data_formats.internal.BinaryStreamReader 64.50% 238 369
com.clickhouse.client.api.data_formats.internal.BinaryStreamReader.ArrayValue 74.19% 23 31
com.clickhouse.client.api.data_formats.internal.BinaryStreamReader.CachingByteBufferAllocator 100.00% 8 8
com.clickhouse.client.api.data_formats.internal.BinaryStreamReader.DefaultByteBufferAllocator 100.00% 2 2
com.clickhouse.client.api.data_formats.internal.BinaryStreamReader.EnumValue 77.78% 7 9
com.clickhouse.client.api.data_formats.internal.InetAddressConverter 66.67% 18 27
com.clickhouse.client.api.data_formats.internal.MapBackedRecord 25.60% 32 125
com.clickhouse.client.api.data_formats.internal.NumberConverter 86.81% 79 91
com.clickhouse.client.api.data_formats.internal.NumberConverter.NumberType 100.00% 7 7
com.clickhouse.client.api.data_formats.internal.ProcessParser 80.00% 32 40
com.clickhouse.client.api.data_formats.internal.SerializerUtils 56.13% 394 702
com.clickhouse.client.api.data_formats.internal.SerializerUtils.DynamicClassLoader 100.00% 3 3
com.clickhouse.client.api.data_formats.NativeFormatReader 80.77% 42 52
com.clickhouse.client.api.data_formats.NativeFormatReader.Block 66.67% 12 18
com.clickhouse.client.api.data_formats.RowBinaryFormatReader 15.79% 3 19
com.clickhouse.client.api.data_formats.RowBinaryFormatSerializer 17.27% 19 110
com.clickhouse.client.api.data_formats.RowBinaryFormatWriter 27.84% 27 97
com.clickhouse.client.api.data_formats.RowBinaryFormatWriter.InputStreamHolder 0.00% 4
com.clickhouse.client.api.data_formats.RowBinaryFormatWriter.ReaderHolder 0.00% 4
com.clickhouse.client.api.data_formats.RowBinaryWithNamesAndTypesFormatReader 90.91% 20 22
com.clickhouse.client.api.data_formats.RowBinaryWithNamesFormatReader 56.52% 13 23
com.clickhouse.client.api.DataStreamWriter 0.00% 1
com.clickhouse.client.api.DataTransferException 50.00% 2 4
com.clickhouse.client.api.DataTypeUtils 60.61% 20 33
com.clickhouse.client.api.enums.Protocol 100.00% 2 2
com.clickhouse.client.api.enums.ProxyType 100.00% 3 3
com.clickhouse.client.api.http.ClickHouseHttpProto 0.00% 1
com.clickhouse.client.api.insert.InsertResponse 58.33% 7 12
com.clickhouse.client.api.insert.InsertSettings 88.14% 52 59
com.clickhouse.client.api.internal.BasicObjectsPool 0.00% 11
com.clickhouse.client.api.internal.CachingObjectsSupplier 0.00% 10
com.clickhouse.client.api.internal.ClickHouseLZ4InputStream 85.33% 64 75
com.clickhouse.client.api.internal.ClickHouseLZ4OutputStream 92.31% 60 65
com.clickhouse.client.api.internal.ClientStatisticsHolder 50.00% 7 14
com.clickhouse.client.api.internal.CommonSettings 95.65% 44 46
com.clickhouse.client.api.internal.EnvUtils 0.00% 14
com.clickhouse.client.api.internal.Gauge 66.67% 4 6
com.clickhouse.client.api.internal.HttpAPIClientHelper 85.89% 341 397
com.clickhouse.client.api.internal.HttpAPIClientHelper.CustomSSLConnectionFactory 0.00% 9
com.clickhouse.client.api.internal.HttpAPIClientHelper.DummySSLConnectionSocketFactory 0.00% 3
com.clickhouse.client.api.internal.HttpAPIClientHelper.MeteredManagedHttpClientConnectionFactory 50.00% 7 14
com.clickhouse.client.api.internal.LZ4Entity 86.84% 33 38
com.clickhouse.client.api.internal.MapUtils 35.48% 22 62
com.clickhouse.client.api.internal.ServerSettings 0.00% 1
com.clickhouse.client.api.internal.StopWatch 66.67% 10 15
com.clickhouse.client.api.internal.TableSchemaParser 85.71% 18 21
com.clickhouse.client.api.internal.ValidationUtils 35.00% 7 20
com.clickhouse.client.api.internal.ValidationUtils.SettingsValidationException 100.00% 3 3
com.clickhouse.client.api.metadata.DefaultColumnToMethodMatchingStrategy 100.00% 13 13
com.clickhouse.client.api.metadata.NoSuchColumnException 0.00% 2
com.clickhouse.client.api.metadata.TableSchema 84.85% 28 33
com.clickhouse.client.api.metrics.ClientMetrics 100.00% 7 7
com.clickhouse.client.api.metrics.MicrometerLoader 90.91% 40 44
com.clickhouse.client.api.metrics.OperationMetrics 94.12% 16 17
com.clickhouse.client.api.metrics.ServerMetrics 100.00% 12 12
com.clickhouse.client.api.query.NullValueException 50.00% 2 4
com.clickhouse.client.api.query.QueryResponse 66.67% 24 36
com.clickhouse.client.api.query.QuerySettings 95.38% 62 65
com.clickhouse.client.api.query.QueryStatement 0.00% 4
com.clickhouse.client.api.query.Records 61.90% 13 21
com.clickhouse.client.api.query.Records.new Iterator() {...} 100.00% 5 5
com.clickhouse.client.api.serde.DataSerializationException 0.00% 6
com.clickhouse.client.api.serde.POJOSerDe 97.96% 48 49
com.clickhouse.client.api.serde.SerializerNotFoundException 0.00% 2
com.clickhouse.client.api.ServerException 84.62% 11 13
com.clickhouse.client.api.sql.SQLUtils 87.50% 28 32
com.clickhouse.client.api.transport.HttpEndpoint 83.33% 10 12
@github-actions
Copy link

github-actions bot commented Aug 21, 2025

JDBC V2 Coverage

Coverage Report

Package Coverage Lines Covered Total Lines
com.clickhouse.data 19.23% 5 26
com.clickhouse.jdbc 77.78% 1474 1895
com.clickhouse.jdbc.internal 33.00% 4023 12190
com.clickhouse.jdbc.metadata 41.85% 172 411
com.clickhouse.jdbc.types 32.00% 8 25
Class Coverage
Class Coverage Lines Covered Total Lines
com.clickhouse.data.Tuple 19.23% 5 26
com.clickhouse.jdbc.ClientInfoProperties 100.00% 12 12
com.clickhouse.jdbc.ConnectionImpl 90.28% 223 247
com.clickhouse.jdbc.DataSourceImpl 96.15% 25 26
com.clickhouse.jdbc.Driver 65.22% 30 46
com.clickhouse.jdbc.Driver.FrameworksDetection 90.91% 10 11
com.clickhouse.jdbc.DriverProperties 94.12% 16 17
com.clickhouse.jdbc.internal.ClickHouseLexer 77.78% 28 36
com.clickhouse.jdbc.internal.ClickHouseParser 30.95% 2298 7426
com.clickhouse.jdbc.internal.ClickHouseParser.AliasContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParser.AlterPrivilegeContext 0.00% 44
com.clickhouse.jdbc.internal.ClickHouseParser.AlterStmtContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseAddColumnContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseAddIndexContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseAddProjectionContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseAttachContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseClearColumnContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseClearIndexContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseClearProjectionContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseCommentContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDeleteContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDetachContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDropColumnContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDropIndexContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDropPartitionContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseDropProjectionContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseFreezePartitionContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseMaterializeIndexContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseMaterializeProjectionContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyCodecContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyCommentContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyOrderByContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyRemoveContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseModifyTTLContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseMovePartitionContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseRemoveTTLContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseRenameContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseReplaceContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableClauseUpdateContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.AlterTableStmtContext 38.46% 5 13
com.clickhouse.jdbc.internal.ClickHouseParser.ArrayJoinClauseContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentExprContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentExprListContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentValueContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentValuesContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentValuesEmptyContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.AssignmentValuesListContext 45.45% 5 11
com.clickhouse.jdbc.internal.ClickHouseParser.AttachDictionaryStmtContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.AttachStmtContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.CheckStmtContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.ClusterClauseContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.CodecArgExprContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.CodecExprContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnAliasesContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnArgExprContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnArgListContext 46.15% 6 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprAliasContext 55.56% 5 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprAndContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprArrayAccessContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprArrayContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprAsteriskContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprBetweenContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprCaseContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprCast2Context 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprCastContext 45.45% 5 11
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprDateContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprExtractContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprFunctionContext 38.46% 5 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprIdentifierContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprIntervalContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprIsNullContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprListContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprLiteralContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprNegateContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprNotContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprOrContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprParamContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprParensContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprPrecedence1Context 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprPrecedence2Context 50.00% 5 10
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprPrecedence3Context 26.32% 5 19
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprRegexpContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprSubqueryContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprSubstringContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprTernaryOpContext 55.56% 5 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprTimestampContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprTrimContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprTupleAccessContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprTupleContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprWinFunctionContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnExprWinFunctionTargetContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnIdentifierContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnLambdaExprContext 40.00% 6 15
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnsClauseContext 53.85% 7 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnsExprAsteriskContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnsExprColumnContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnsExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnsExprSubqueryContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprComplexContext 41.67% 5 12
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprEnumContext 41.67% 5 12
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprNestedContext 38.46% 5 13
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprParamContext 55.56% 5 9
com.clickhouse.jdbc.internal.ClickHouseParser.ColumnTypeExprSimpleContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.CreateDatabaseStmtContext 35.71% 5 14
com.clickhouse.jdbc.internal.ClickHouseParser.CreateDictionaryStmtContext 0.00% 18
com.clickhouse.jdbc.internal.ClickHouseParser.CreateLiveViewStmtContext 0.00% 21
com.clickhouse.jdbc.internal.ClickHouseParser.CreateMaterializedViewStmtContext 0.00% 20
com.clickhouse.jdbc.internal.ClickHouseParser.CreatePolicyStmtContext 17.24% 5 29
com.clickhouse.jdbc.internal.ClickHouseParser.CreatePrivilegeContext 0.00% 24
com.clickhouse.jdbc.internal.ClickHouseParser.CreateRoleStmtContext 26.32% 5 19
com.clickhouse.jdbc.internal.ClickHouseParser.CreateStmtContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.CreateTableStmtContext 25.00% 5 20
com.clickhouse.jdbc.internal.ClickHouseParser.CreateUserStmtContext 17.86% 5 28
com.clickhouse.jdbc.internal.ClickHouseParser.CreateViewStmtContext 0.00% 18
com.clickhouse.jdbc.internal.ClickHouseParser.CtesContext 37.50% 6 16
com.clickhouse.jdbc.internal.ClickHouseParser.CteUnboundColContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.CteUnboundColExprContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.CteUnboundColLiteralContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.CteUnboundColParamContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.CteUnboundNestedSelectContext 45.45% 5 11
com.clickhouse.jdbc.internal.ClickHouseParser.DatabaseIdentifierContext 75.00% 6 8
com.clickhouse.jdbc.internal.ClickHouseParser.DataClauseContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.DataClauseFormatContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.DataClauseSelectContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.DataClauseValuesContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.DescribeStmtContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.DestinationClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.DictionaryArgExprContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.DictionaryAttrDfntContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.DictionaryEngineClauseContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.DictionaryPrimaryKeyClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.DictionarySchemaClauseContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.DictionarySettingsClauseContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.DropDatabaseStmtContext 41.67% 5 12
com.clickhouse.jdbc.internal.ClickHouseParser.DropPrivilegeContext 0.00% 24
com.clickhouse.jdbc.internal.ClickHouseParser.DropStmtContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.DropTableStmtContext 26.32% 5 19
com.clickhouse.jdbc.internal.ClickHouseParser.EngineClauseContext 75.00% 6 8
com.clickhouse.jdbc.internal.ClickHouseParser.EngineExprContext 46.15% 6 13
com.clickhouse.jdbc.internal.ClickHouseParser.EnumValueContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.ExistsDatabaseStmtContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.ExistsStmtContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.ExistsTableStmtContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.ExplainASTStmtContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.ExplainStmtContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.ExplainSyntaxStmtContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.FloatingLiteralContext 50.00% 6 12
com.clickhouse.jdbc.internal.ClickHouseParser.FrameBetweenContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.FrameStartContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.FromClauseContext 41.18% 7 17
com.clickhouse.jdbc.internal.ClickHouseParser.GrantStmtContext 25.00% 6 24
com.clickhouse.jdbc.internal.ClickHouseParser.GrantTableIdentifierContext 50.00% 6 12
com.clickhouse.jdbc.internal.ClickHouseParser.GroupByClauseContext 42.86% 6 14
com.clickhouse.jdbc.internal.ClickHouseParser.HavingClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.IdentifierContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.IdentifierOrNullContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParser.InserParameterExprContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.InsertParameterContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.InsertParameterFuncExprContext 55.56% 5 9
com.clickhouse.jdbc.internal.ClickHouseParser.InsertRawValueContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.InsertStmtContext 53.33% 8 15
com.clickhouse.jdbc.internal.ClickHouseParser.IntervalContext 40.00% 6 15
com.clickhouse.jdbc.internal.ClickHouseParser.JoinConstraintClauseContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.JoinExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.JoinExprCrossOpContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.JoinExprOpContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.JoinExprParensContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.JoinExprTableContext 62.50% 5 8
com.clickhouse.jdbc.internal.ClickHouseParser.JoinOpContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.JoinOpCrossContext 50.00% 6 12
com.clickhouse.jdbc.internal.ClickHouseParser.JoinOpFullContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.JoinOpInnerContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.JoinOpLeftRightContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.KeywordContext 3.17% 6 189
com.clickhouse.jdbc.internal.ClickHouseParser.KeywordForAliasContext 21.43% 6 28
com.clickhouse.jdbc.internal.ClickHouseParser.KillMutationStmtContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.KillStmtContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.LayoutClauseContext 0.00% 15
com.clickhouse.jdbc.internal.ClickHouseParser.LifetimeClauseContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.LimitByClauseContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.LimitClauseContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.LimitExprContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.LiteralContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.NamedQueryContext 46.15% 6 13
com.clickhouse.jdbc.internal.ClickHouseParser.NestedIdentifierContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.NumberLiteralContext 40.00% 6 15
com.clickhouse.jdbc.internal.ClickHouseParser.OptimizeStmtContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.OrderByClauseContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.OrderExprContext 37.50% 6 16
com.clickhouse.jdbc.internal.ClickHouseParser.OrderExprListContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.PartitionByClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.PartitionClauseContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.PrewhereClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.PrimaryKeyClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.PrivilegeContext 13.64% 6 44
com.clickhouse.jdbc.internal.ClickHouseParser.ProjectionOrderByClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.ProjectionSelectStmtContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.QueryContext 34.48% 10 29
com.clickhouse.jdbc.internal.ClickHouseParser.QueryStmtContext 46.67% 7 15
com.clickhouse.jdbc.internal.ClickHouseParser.RangeClauseContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.RatioExprContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.RenameStmtContext 0.00% 16
com.clickhouse.jdbc.internal.ClickHouseParser.SampleByClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.SampleClauseContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.SchemaAsFunctionClauseContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.SchemaAsTableClauseContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.SchemaDescriptionClauseContext 45.45% 5 11
com.clickhouse.jdbc.internal.ClickHouseParser.SelectStmtContext 21.43% 6 28
com.clickhouse.jdbc.internal.ClickHouseParser.SelectStmtWithParensContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.SelectUnionStmtContext 40.00% 6 15
com.clickhouse.jdbc.internal.ClickHouseParser.SetRolesListContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.SetRoleStmtContext 33.33% 7 21
com.clickhouse.jdbc.internal.ClickHouseParser.SetStmtContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.SettingExprContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.SettingExprListContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.SettingsClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ShowCreateDatabaseStmtContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ShowCreateDictionaryStmtContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ShowCreateTableStmtContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.ShowDatabasesStmtContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.ShowDictionariesStmtContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ShowPrivilegeContext 0.00% 25
com.clickhouse.jdbc.internal.ClickHouseParser.ShowStmtContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.ShowTablesStmtContext 33.33% 5 15
com.clickhouse.jdbc.internal.ClickHouseParser.SourceClauseContext 0.00% 15
com.clickhouse.jdbc.internal.ClickHouseParser.SourcePrivilegeContext 0.00% 25
com.clickhouse.jdbc.internal.ClickHouseParser.SubqueryClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.SystemPrivilegeContext 0.00% 81
com.clickhouse.jdbc.internal.ClickHouseParser.SystemStmtContext 25.00% 6 24
com.clickhouse.jdbc.internal.ClickHouseParser.TableArgExprContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.TableArgListContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.TableColumnDfntContext 40.00% 6 15
com.clickhouse.jdbc.internal.ClickHouseParser.TableColumnPropertyExprContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.TableColumnPropertyTypeContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.TableElementExprColumnContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.TableElementExprConstraintContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.TableElementExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.TableElementExprIndexContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.TableElementExprProjectionContext 0.00% 7
com.clickhouse.jdbc.internal.ClickHouseParser.TableExprAliasContext 55.56% 5 9
com.clickhouse.jdbc.internal.ClickHouseParser.TableExprContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.TableExprFunctionContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.TableExprIdentifierContext 100.00% 6 6
com.clickhouse.jdbc.internal.ClickHouseParser.TableExprSubqueryContext 0.00% 8
com.clickhouse.jdbc.internal.ClickHouseParser.TableFunctionExprContext 54.55% 6 11
com.clickhouse.jdbc.internal.ClickHouseParser.TableIdentifierContext 60.00% 6 10
com.clickhouse.jdbc.internal.ClickHouseParser.TableIndexDfntContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.TableProjectionDfntContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.TableSchemaClauseContext 83.33% 5 6
com.clickhouse.jdbc.internal.ClickHouseParser.TopClauseContext 0.00% 11
com.clickhouse.jdbc.internal.ClickHouseParser.TruncateStmtContext 42.86% 6 14
com.clickhouse.jdbc.internal.ClickHouseParser.TtlClauseContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.TtlExprContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.UserCreateGranteesClauseContext 0.00% 19
com.clickhouse.jdbc.internal.ClickHouseParser.UserCreateHostClauseContext 0.00% 14
com.clickhouse.jdbc.internal.ClickHouseParser.UserCreateHostDefContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.UserIdentifiedClauseContext 27.27% 6 22
com.clickhouse.jdbc.internal.ClickHouseParser.UserIdentifiedWithClauseContext 17.14% 6 35
com.clickhouse.jdbc.internal.ClickHouseParser.UserIdentifierContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParser.UseStmtContext 77.78% 7 9
com.clickhouse.jdbc.internal.ClickHouseParser.UuidClauseContext 0.00% 9
com.clickhouse.jdbc.internal.ClickHouseParser.ValidUntilClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.ViewParamContext 63.64% 7 11
com.clickhouse.jdbc.internal.ClickHouseParser.WatchStmtContext 0.00% 12
com.clickhouse.jdbc.internal.ClickHouseParser.WhereClauseContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParser.WindowClauseContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.WindowExprContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.WinFrameBoundContext 0.00% 13
com.clickhouse.jdbc.internal.ClickHouseParser.WinFrameClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.WinFrameExtendContext 0.00% 6
com.clickhouse.jdbc.internal.ClickHouseParser.WinOrderByClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.WinPartitionByClauseContext 0.00% 10
com.clickhouse.jdbc.internal.ClickHouseParser.WithClauseContext 66.67% 6 9
com.clickhouse.jdbc.internal.ClickHouseParserBaseListener 43.06% 214 497
com.clickhouse.jdbc.internal.DetachedResultSet 80.39% 332 413
com.clickhouse.jdbc.internal.ExceptionUtils 69.57% 16 23
com.clickhouse.jdbc.internal.FeatureManager 100.00% 6 6
com.clickhouse.jdbc.internal.JdbcConfiguration 94.16% 129 137
com.clickhouse.jdbc.internal.JdbcUtils 88.18% 179 203
com.clickhouse.jdbc.internal.ParsedPreparedStatement 87.00% 87 100
com.clickhouse.jdbc.internal.ParsedStatement 55.26% 21 38
com.clickhouse.jdbc.internal.SqlParser 100.00% 16 16
com.clickhouse.jdbc.internal.SqlParser.ParserErrorListener 100.00% 2 2
com.clickhouse.jdbc.JdbcV2Wrapper 100.00% 4 4
com.clickhouse.jdbc.metadata.DatabaseMetaDataImpl 36.83% 123 334
com.clickhouse.jdbc.metadata.ParameterMetaDataImpl 100.00% 23 23
com.clickhouse.jdbc.metadata.ResultSetMetaDataImpl 48.15% 26 54
com.clickhouse.jdbc.PreparedStatementImpl 79.92% 378 473
com.clickhouse.jdbc.ResultSetImpl 81.68% 495 606
com.clickhouse.jdbc.StatementImpl 85.89% 213 248
com.clickhouse.jdbc.types.Array 32.00% 8 25
com.clickhouse.jdbc.WriterStatementImpl 33.17% 68 205
@github-actions
Copy link

JDBC V1 Coverage

Coverage Report

Package Coverage Lines Covered Total Lines
com.clickhouse.jdbc 34.84% 930 2669
com.clickhouse.jdbc.internal 63.39% 1333 2103
com.clickhouse.jdbc.parser 68.20% 4481 6570
Class Coverage
Class Coverage Lines Covered Total Lines
com.clickhouse.jdbc.AbstractResultSet 1.33% 3 226
com.clickhouse.jdbc.ClickHouseArray 34.62% 9 26
com.clickhouse.jdbc.ClickHouseBlob 0.00% 12
com.clickhouse.jdbc.ClickHouseClob 0.00% 14
com.clickhouse.jdbc.ClickHouseConnection 52.78% 19 36
com.clickhouse.jdbc.ClickHouseDatabaseMetaData 47.31% 185 391
com.clickhouse.jdbc.ClickHouseDataSource 41.18% 7 17
com.clickhouse.jdbc.ClickHouseDriver 72.73% 40 55
com.clickhouse.jdbc.ClickHousePreparedStatement 16.67% 13 78
com.clickhouse.jdbc.ClickHouseResultSet 64.84% 166 256
com.clickhouse.jdbc.ClickHouseResultSetMetaData 34.21% 13 38
com.clickhouse.jdbc.ClickHouseScrollableResultSet 0.00% 17
com.clickhouse.jdbc.ClickHouseStatement 0.00% 1
com.clickhouse.jdbc.ClickHouseStruct 71.43% 5 7
com.clickhouse.jdbc.ClickHouseXml 0.00% 10
com.clickhouse.jdbc.CombinedResultSet 51.88% 83 160
com.clickhouse.jdbc.DataSourceV1 69.70% 23 33
com.clickhouse.jdbc.DriverV1 40.63% 39 96
com.clickhouse.jdbc.DriverV1.FrameworksDetection 90.91% 10 11
com.clickhouse.jdbc.internal.AbstractPreparedStatement 27.59% 16 58
com.clickhouse.jdbc.internal.ClickHouseConnectionImpl 66.61% 375 563
com.clickhouse.jdbc.internal.ClickHouseJdbcUrlParser 100.00% 29 29
com.clickhouse.jdbc.internal.ClickHouseJdbcUrlParser.ConnectionInfo 100.00% 18 18
com.clickhouse.jdbc.internal.ClickHouseParameterMetaData 70.37% 19 27
com.clickhouse.jdbc.internal.ClickHouseStatementImpl 61.00% 280 459
com.clickhouse.jdbc.internal.InputBasedPreparedStatement 71.76% 183 255
com.clickhouse.jdbc.internal.JdbcSavepoint 100.00% 14 14
com.clickhouse.jdbc.internal.JdbcTransaction 72.50% 58 80
com.clickhouse.jdbc.internal.SqlBasedPreparedStatement 68.60% 236 344
com.clickhouse.jdbc.internal.StreamBasedPreparedStatement 45.21% 66 146
com.clickhouse.jdbc.internal.TableBasedPreparedStatement 35.45% 39 110
com.clickhouse.jdbc.JdbcConfig 71.84% 74 103
com.clickhouse.jdbc.JdbcParameterizedQuery 67.78% 61 90
com.clickhouse.jdbc.JdbcParseHandler 95.12% 78 82
com.clickhouse.jdbc.JdbcTypeMapping 33.57% 47 140
com.clickhouse.jdbc.JdbcTypeMapping.AnsiTypeMapping 17.39% 20 115
com.clickhouse.jdbc.JdbcTypeMapping.InstanceHolder 100.00% 3 3
com.clickhouse.jdbc.JdbcWrapper 20.00% 1 5
com.clickhouse.jdbc.Main 0.00% 60
com.clickhouse.jdbc.Main.GenericQuery 0.00% 114
com.clickhouse.jdbc.Main.Int8Query 0.00% 59
com.clickhouse.jdbc.Main.MixedQuery 0.00% 89
com.clickhouse.jdbc.Main.Options 0.00% 124
com.clickhouse.jdbc.Main.Pojo 0.00% 25
com.clickhouse.jdbc.Main.StringQuery 0.00% 57
com.clickhouse.jdbc.Main.UInt64Query 0.00% 57
com.clickhouse.jdbc.parser.AbstractCharStream 44.44% 88 198
com.clickhouse.jdbc.parser.ClickHouseSqlParser 67.75% 2771 4090
com.clickhouse.jdbc.parser.ClickHouseSqlParserConstants 100.00% 1 1
com.clickhouse.jdbc.parser.ClickHouseSqlParserTokenManager 74.89% 1426 1904
com.clickhouse.jdbc.parser.ClickHouseSqlStatement 69.93% 100 143
com.clickhouse.jdbc.parser.ClickHouseSqlUtils 100.00% 28 28
com.clickhouse.jdbc.parser.LanguageType 100.00% 6 6
com.clickhouse.jdbc.parser.OperationType 100.00% 2 2
com.clickhouse.jdbc.parser.ParseException 3.95% 3 76
com.clickhouse.jdbc.parser.ParseHandler 75.00% 3 4
com.clickhouse.jdbc.parser.SimpleCharStream 30.00% 9 30
com.clickhouse.jdbc.parser.StatementType 97.30% 36 37
com.clickhouse.jdbc.parser.Token 66.67% 8 12
com.clickhouse.jdbc.parser.TokenMgrException 0.00% 39
com.clickhouse.jdbc.SqlExceptionUtils 50.00% 31 62
@github-actions
Copy link

Client V1 Coverage

Coverage Report

Package Coverage Lines Covered Total Lines
com.clickhouse.client 51.93% 2108 4059
com.clickhouse.client.config 70.57% 199 282
com.clickhouse.client.naming 86.96% 20 23
Class Coverage
Class Coverage Lines Covered Total Lines
com.clickhouse.client.AbstractClient 63.93% 78 122
com.clickhouse.client.AbstractSocketClient 3.13% 7 224
com.clickhouse.client.AbstractSocketClient.SocketRequest 0.00% 8
com.clickhouse.client.ClickHouseClient 10.87% 30 276
com.clickhouse.client.ClickHouseClientBuilder 62.65% 52 83
com.clickhouse.client.ClickHouseClientBuilder.Agent 19.05% 28 147
com.clickhouse.client.ClickHouseClientBuilder.DummyClient 53.85% 7 13
com.clickhouse.client.ClickHouseCluster 40.98% 25 61
com.clickhouse.client.ClickHouseConfig 80.93% 208 257
com.clickhouse.client.ClickHouseConfig.ClientOptions 66.67% 14 21
com.clickhouse.client.ClickHouseCredentials 60.00% 18 30
com.clickhouse.client.ClickHouseDnsResolver 41.67% 5 12
com.clickhouse.client.ClickHouseException 74.58% 44 59
com.clickhouse.client.ClickHouseLoadBalancingPolicy 67.06% 57 85
com.clickhouse.client.ClickHouseLoadBalancingPolicy.DefaultPolicy 100.00% 2 2
com.clickhouse.client.ClickHouseLoadBalancingPolicy.FirstAlivePolicy 95.24% 20 21
com.clickhouse.client.ClickHouseLoadBalancingPolicy.RandomPolicy 100.00% 6 6
com.clickhouse.client.ClickHouseLoadBalancingPolicy.RoundRobinPolicy 92.86% 13 14
com.clickhouse.client.ClickHouseNode 80.45% 284 353
com.clickhouse.client.ClickHouseNode.Builder 66.67% 68 102
com.clickhouse.client.ClickHouseNode.Status 100.00% 5 5
com.clickhouse.client.ClickHouseNodes 54.40% 204 375
com.clickhouse.client.ClickHouseNodeSelector 89.77% 79 88
com.clickhouse.client.ClickHouseParameterizedQuery 76.32% 174 228
com.clickhouse.client.ClickHouseParameterizedQuery.QueryPart 62.50% 15 24
com.clickhouse.client.ClickHouseProtocol 97.06% 33 34
com.clickhouse.client.ClickHouseRequest 55.84% 330 591
com.clickhouse.client.ClickHouseRequest.Mutation 83.33% 90 108
com.clickhouse.client.ClickHouseRequest.PipedWriter 100.00% 7 7
com.clickhouse.client.ClickHouseRequestManager 0.00% 22
com.clickhouse.client.ClickHouseRequestManager.InstanceHolder 0.00% 2
com.clickhouse.client.ClickHouseResponse 18.18% 2 11
com.clickhouse.client.ClickHouseResponse.new ClickHouseResponse() {...} 33.33% 3 9
com.clickhouse.client.ClickHouseResponseSummary 85.00% 51 60
com.clickhouse.client.ClickHouseResponseSummary.Progress 92.00% 23 25
com.clickhouse.client.ClickHouseResponseSummary.Statistics 64.71% 11 17
com.clickhouse.client.ClickHouseSimpleResponse 48.57% 34 70
com.clickhouse.client.ClickHouseSslContextProvider 90.91% 10 11
com.clickhouse.client.ClickHouseStreamResponse 0.00% 47
com.clickhouse.client.ClickHouseTransaction 0.00% 220
com.clickhouse.client.ClickHouseTransaction.XID 0.00% 35
com.clickhouse.client.ClickHouseTransactionException 0.00% 11
com.clickhouse.client.ClickHouseVersionUtils 44.65% 71 159
com.clickhouse.client.config.ClickHouseClientOption 89.61% 138 154
com.clickhouse.client.config.ClickHouseDefaults 94.44% 34 36
com.clickhouse.client.config.ClickHouseDefaultSslContextProvider 24.69% 20 81
com.clickhouse.client.config.ClickHouseDefaultSslContextProvider.NonValidatingTrustManager 0.00% 4
com.clickhouse.client.config.ClickHouseHealthCheckMethod 100.00% 3 3
com.clickhouse.client.config.ClickHouseProxyType 100.00% 2 2
com.clickhouse.client.config.ClickHouseSslMode 100.00% 2 2
com.clickhouse.client.naming.SrvResolver 86.96% 20 23
com.clickhouse.client.UnsupportedProtocolException 0.00% 4
@chernser chernser requested review from Copilot and mzitnik August 23, 2025 06:19
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR addresses settings mutability issues by implementing a defensive copy pattern for user settings before adjustment. The change prevents side effects when settings are used concurrently for different operations, specifically addressing issue #2543.

  • Creates copies of settings objects to prevent unintended mutations of user-provided settings
  • Refactors settings classes to use a common CommonSettings class for shared functionality
  • Adds comprehensive test coverage to verify settings immutability

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
client-v2/src/main/java/com/clickhouse/client/api/internal/CommonSettings.java New shared settings implementation with copy/merge functionality
client-v2/src/main/java/com/clickhouse/client/api/query/QuerySettings.java Refactored to use CommonSettings with defensive copying
client-v2/src/main/java/com/clickhouse/client/api/insert/InsertSettings.java Refactored to use CommonSettings with defensive copying
client-v2/src/main/java/com/clickhouse/client/api/Client.java Updated to create defensive copies of settings before operations
client-v2/src/test/java/com/clickhouse/client/SettingsTests.java Added comprehensive tests for settings functionality
client-v2/src/test/java/com/clickhouse/client/query/QueryTests.java Added test to verify settings are not mutated during query operations
client-v2/src/test/java/com/clickhouse/client/insert/InsertTests.java Added test to verify settings are not mutated during insert operations
jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java Removed test for internal method that no longer exists
client-v2/pom.xml Added Mockito dependency for testing

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@chernser
Copy link
Contributor Author

@mzitnik Sonar shows low coverage because of failing because of "low free space" error.

*/
public boolean isClientRequestEnabled() {
return (Boolean) rawSettings.get("decompress");
Boolean flag = (Boolean) settings.getOption(ClientConfigProperties.COMPRESS_CLIENT_REQUEST.getKey());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should have a method getOptionWithDefault

@chernser chernser merged commit e2cdc0d into main Aug 25, 2025
25 checks passed
@chernser chernser deleted the fix_settings_mutability branch August 25, 2025 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants