From 444077511113901b826c4f0c1386a85bc5fc525e Mon Sep 17 00:00:00 2001 From: Ben <69395085+smoleyxd@users.noreply.github.com> Date: Sun, 9 Aug 2026 00:19:49 -0400 Subject: [PATCH] Set prefer_column_name_to_alias on ClickHouse connections ClickHouse resolves identifiers to select-list aliases before table columns by default, so lookup queries that reuse a column name as an alias (e.g. 'data as metadata, 0 as data' in the item lookup) return the alias literal instead of the column. Item lookups then return metadata as UInt8 0, mixed lookup unions produce Variant(Array(Int8), UInt8), and the JDBC client fails every /co lookup with 'Column is not of array type'. Setting prefer_column_name_to_alias=1 restores the alias semantics these queries rely on under SQLite and MySQL. Fixes #947 --- .../coreprotect/database/clickhouse/ClickHouseJdbcConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/coreprotect/database/clickhouse/ClickHouseJdbcConfig.java b/src/main/java/net/coreprotect/database/clickhouse/ClickHouseJdbcConfig.java index 7317cb861..741ff3268 100644 --- a/src/main/java/net/coreprotect/database/clickhouse/ClickHouseJdbcConfig.java +++ b/src/main/java/net/coreprotect/database/clickhouse/ClickHouseJdbcConfig.java @@ -46,6 +46,7 @@ public ClickHouseJdbcConfig(String host, int port, String database, String usern properties.setProperty(SERVER_SETTING_PREFIX + "async_insert", "0"); properties.setProperty(SERVER_SETTING_PREFIX + "do_not_merge_across_partitions_select_final", "1"); properties.setProperty(SERVER_SETTING_PREFIX + "wait_end_of_query", "1"); + properties.setProperty(SERVER_SETTING_PREFIX + "prefer_column_name_to_alias", "1"); properties.setProperty("ssl", Boolean.toString(tls)); properties.setProperty("jdbc_ignore_unsupported_values", "false"); }