From a2cbd115eea761b9eabc70c8856dfed2c5ad17fb Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Thu, 12 Mar 2026 21:55:36 +0100 Subject: [PATCH] Fix SQL parser skipping statements that follow comment lines split(';') produced chunks starting with '--' comment lines, causing the startsWith('--') check to skip the entire CREATE TABLE statement for route_executions. Now strips comment lines before splitting. Co-Authored-By: Claude Opus 4.6 --- .../com/cameleer3/server/app/config/ClickHouseConfig.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java index d0c97c12..e0f66d6e 100644 --- a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java +++ b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java @@ -66,9 +66,13 @@ public class ClickHouseConfig { // Apply schema files using fully qualified table names for (String schemaFile : SCHEMA_FILES) { String sql = new ClassPathResource(schemaFile).getContentAsString(StandardCharsets.UTF_8); - for (String statement : sql.split(";")) { + // Strip comment lines before splitting into statements + String stripped = sql.lines() + .filter(line -> !line.trim().startsWith("--")) + .collect(java.util.stream.Collectors.joining("\n")); + for (String statement : stripped.split(";")) { String trimmed = statement.trim(); - if (!trimmed.isEmpty() && !trimmed.startsWith("--")) { + if (!trimmed.isEmpty()) { stmt.execute(trimmed); } }