Describe the bug
After updating jdbc driver there is an error while trying to SELECT duplicated data.
Steps to reproduce
- "SELECT 'value1', 'value1'"
- Observe error
Expected behaviour
Correctly return duplicated data
Code example
Statement stmt = conn.createStatement();
stmt.executeQuery("""
SELECT 'value1', 'value1'
""");
ResultSet rs = stmt.getResultSet();
Error log
java.sql.SQLException: Multiple entries with same key: 'value1'=1 and 'value1'=0
at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:71)
at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:39)
at com.clickhouse.jdbc.StatementImpl.executeQuery(StatementImpl.java:207)
at com.clickhouse.jdbc.StatementImpl.executeQuery(StatementImpl.java:151)
at com.clickhouse.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:110)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
at doobie.free.KleisliInterpreter$PreparedStatementInterpreter.$anonfun$executeQuery$2(kleisliinterpreter.scala:931)
at doobie.free.KleisliInterpreter.$anonfun$primitive$2(kleisliinterpreter.scala:104)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
at uncancelable @ doobie.WeakAsync$$anon$1.uncancelable(WeakAsync.scala:38)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
at suspend @ doobie.WeakAsync$$anon$1.suspend(WeakAsync.scala:36)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
at flatMap @ doobie.WeakAsync$$anon$1.flatMap(WeakAsync.scala:30)
at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:169)
Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: 'value1'=1 and 'value1'=0
at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:382)
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:376)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:246)
at com.google.common.collect.RegularImmutableMap.fromEntryArrayCheckingBucketOverflow(RegularImmutableMap.java:134)
at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:96)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:579)
at com.google.common.collect.ImmutableMap$Builder.buildOrThrow(ImmutableMap.java:607)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:594)
at com.clickhouse.client.api.metadata.TableSchema.<init>(TableSchema.java:41)
at com.clickhouse.client.api.metadata.TableSchema.<init>(TableSchema.java:26)
at com.clickhouse.client.api.data_formats.RowBinaryWithNamesAndTypesFormatReader.readSchema(RowBinaryWithNamesAndTypesFormatReader.java:45)
at com.clickhouse.client.api.data_formats.RowBinaryWithNamesAndTypesFormatReader.<init>(RowBinaryWithNamesAndTypesFormatReader.java:23)
at com.clickhouse.client.api.Client.newBinaryFormatReader(Client.java:2086)
at com.clickhouse.client.api.Client.newBinaryFormatReader(Client.java:2104)
at com.clickhouse.jdbc.StatementImpl.executeQuery(StatementImpl.java:202)
at com.clickhouse.jdbc.StatementImpl.executeQuery(StatementImpl.java:151)
at com.clickhouse.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:110)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
at doobie.free.KleisliInterpreter$PreparedStatementInterpreter.$anonfun$executeQuery$2(kleisliinterpreter.scala:931)
at doobie.free.KleisliInterpreter.$anonfun$primitive$2(kleisliinterpreter.scala:104)
at cats.effect.IOFiber.runLoop(IOFiber.scala:1004)
at cats.effect.IOFiber.execR(IOFiber.scala:1362)
at cats.effect.IOFiber.run(IOFiber.scala:112)
at cats.effect.unsafe.WorkerThread.run(WorkerThread.scala:702)
Configuration
"com.clickhouse" % "clickhouse-jdbc" % "0.8.4"
ClickHouse server
ClickHouse version I use is: ver. 24.3.12.76
Describe the bug
After updating jdbc driver there is an error while trying to SELECT duplicated data.
Steps to reproduce
Expected behaviour
Correctly return duplicated data
Code example
Error log
Configuration
"com.clickhouse" % "clickhouse-jdbc" % "0.8.4"
ClickHouse server
ClickHouse version I use is: ver. 24.3.12.76