clickhouse-java
clickhouse-java copied to clipboard
Query parameters can not be parsed in `DESCRIBE TABLE` query with client-v2
Description
Bug with Client#query(sql, params) for a DESCRIBE TABLE query.
Steps to reproduce
See the unit test below. The parameter name is not substituted.
Error Log or Exception StackTrace
com.clickhouse.client.api.ServerException: Code: 62. DB::Exception: Syntax error: failed at position 33 (}): }. Expected substitution type (identifier). (SYNTAX_ERROR)
Expected Behaviour
Code Example
@Test
void testWeirdBugWithParams() throws Exception {
final Client client = new Client.Builder()
.addEndpoint(Protocol.HTTP, "localhost", 8123, false)
.setUsername("default")
.setPassword("")
.build();
final Map<String, Object> params = Map.of("table_name", "`system`.`tables`");
// This query should not throw an exception
client.query("DESCRIBE TABLE {table_name:String}", params).get();
}
Configuration
Client Configuration
See above.
Environment
- [ ] Cloud
- Client version: 0.8.6
- Language version: Java 17
- OS: Linux
ClickHouse Server
- ClickHouse Server version: 25.3.3.42 (official build)