clickhouse-java icon indicating copy to clipboard operation
clickhouse-java copied to clipboard

Exception Thrown During ResultSet Iteration with ClickHouseResultSet

Open pioneerjxf opened this issue 1 year ago • 0 comments

We utilize SqlBasedPreparedStatement for querying lists and subsequently transform the ResultSet into ClickHouseResultSet. During iteration over the result set using a while loop, we occasionally encounter the following exception. What could be the potential underlying cause of this issue?

ResultSet resultSet = statement.executeQuery();
ClickHouseResultSet clickHouseResultSet = (ClickHouseResultSet) resultSet;
while(clickHouseResultSet.next) {
....
}
error message:boolean(98) should between 0 and 1 inclusive of both values
java.lang.IllegalArgumentException: boolean(98) should between 0 and 1 inclusive of both values
	at com.clickhouse.client.ClickHouseChecker.newException(ClickHouseChecker.java:19)
	at com.clickhouse.client.ClickHouseChecker.between(ClickHouseChecker.java:90)
	at com.clickhouse.client.data.BinaryStreamUtils.readBoolean(BinaryStreamUtils.java:280)
	at com.clickhouse.client.data.BinaryStreamUtils.readNull(BinaryStreamUtils.java:562)
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.deserialize(ClickHouseRowBinaryProcessor.java:457)
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor.readAndFill(ClickHouseRowBinaryProcessor.java:509)
	at com.clickhouse.client.ClickHouseDataProcessor.nextRecord(ClickHouseDataProcessor.java:143)
	at com.clickhouse.client.ClickHouseDataProcessor.access$100(ClickHouseDataProcessor.java:21)
	at com.clickhouse.client.ClickHouseDataProcessor$RecordsIterator.next(ClickHouseDataProcessor.java:36)
	at com.clickhouse.client.ClickHouseDataProcessor$RecordsIterator.next(ClickHouseDataProcessor.java:22)
	at com.clickhouse.jdbc.ClickHouseResultSet.next(ClickHouseResultSet.java:714)

pioneerjxf avatar Jan 18 '24 12:01 pioneerjxf