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

We're getting a response in cloud but not locally and it messed up the test logic

Open Paultagoras opened this issue 1 year ago • 0 comments

This test in ClickHousePreparedStatementTest: public void testInsertDefaultValue(String columnType, String defaultExpr, String defaultValue) throws SQLException {

This line:

protected ResultSet updateResult(ClickHouseSqlStatement stmt, ClickHouseResponse response) throws SQLException {
        if (stmt.isQuery() || !response.getColumns().isEmpty()) {

The stack trace result:

java.sql.SQLException: java.lang.IllegalArgumentException: Non-empty typeName is required

	at com.clickhouse.jdbc.SqlExceptionUtils.create(SqlExceptionUtils.java:45)
	at com.clickhouse.jdbc.SqlExceptionUtils.handle(SqlExceptionUtils.java:90)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.executeLargeUpdate(ClickHouseStatementImpl.java:553)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.executeUpdate(ClickHouseStatementImpl.java:559)
	at com.clickhouse.jdbc.ClickHousePreparedStatementTest.testInsertDefaultValue(ClickHousePreparedStatementTest.java:1395)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:136)
	at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:658)
	at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:219)
	at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
	at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:923)
	at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:192)
	at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
	at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.testng.TestRunner.privateRun(TestRunner.java:808)
	at org.testng.TestRunner.run(TestRunner.java:603)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:429)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:423)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:383)
	at org.testng.SuiteRunner.run(SuiteRunner.java:326)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1249)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
	at org.testng.TestNG.runSuites(TestNG.java:1092)
	at org.testng.TestNG.run(TestNG.java:1060)
	at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:65)
	at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105)
Caused by: java.lang.IllegalArgumentException: Non-empty typeName is required
	at com.clickhouse.data.ClickHouseDataType.of(ClickHouseDataType.java:229)
	at com.clickhouse.data.ClickHouseColumn.readColumn(ClickHouseColumn.java:488)
	at com.clickhouse.data.ClickHouseColumn.of(ClickHouseColumn.java:537)
	at com.clickhouse.data.format.ClickHouseTabSeparatedProcessor.readColumns(ClickHouseTabSeparatedProcessor.java:116)
	at com.clickhouse.data.ClickHouseDataProcessor$DefaultSerDe.<init>(ClickHouseDataProcessor.java:48)
	at com.clickhouse.data.ClickHouseDataProcessor.getInitializedSerDe(ClickHouseDataProcessor.java:288)
	at com.clickhouse.data.ClickHouseDataProcessor.getColumns(ClickHouseDataProcessor.java:455)
	at com.clickhouse.client.ClickHouseStreamResponse.getColumns(ClickHouseStreamResponse.java:121)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.updateResult(ClickHouseStatementImpl.java:451)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.getLastResponse(ClickHouseStatementImpl.java:152)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.executeLargeUpdate(ClickHouseStatementImpl.java:550)
	... 29 more

Paultagoras avatar Jul 24 '24 18:07 Paultagoras