- Notifications
You must be signed in to change notification settings - Fork 614
Closed
Description
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
benas-humbility, lraudonius-atlantis, vakarisbk, sergey-v9, mikadev and 1 more