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

Query parameters can not be parsed in `DESCRIBE TABLE` query with client-v2

Open jnd77 opened this issue 6 months ago • 0 comments

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)

jnd77 avatar Jun 02 '25 09:06 jnd77