From e3f1d44d65a08d5f5cce4eb9f2c9843e2ad0e16d Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 21 Oct 2021 16:07:37 +0200 Subject: [PATCH] [jOOQ/jOOQ#12543] ParserCLI interactive mode can't handle leading /* comment block --- jOOQ/src/main/java/org/jooq/ParserCLI.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/ParserCLI.java b/jOOQ/src/main/java/org/jooq/ParserCLI.java index f6325eec33..6ee85e0ab2 100644 --- a/jOOQ/src/main/java/org/jooq/ParserCLI.java +++ b/jOOQ/src/main/java/org/jooq/ParserCLI.java @@ -180,7 +180,10 @@ public final class ParserCLI { // https://stackoverflow.com/q/572001/521799 a.history.add(line); - if (a.sql == null && line.startsWith("/")) { + // [#12543] Avoid interpreting comments as commands + boolean leadingSlash = line.matches("^/[^/*].*$"); + + if (a.sql == null && leadingSlash) { if ("/q".equals(line) || "/quit".equals(line) || "/e".equals(line) || "/exit".equals(line)) { System.out.println("Bye"); @@ -320,7 +323,7 @@ public final class ParserCLI { ctx = ctx(a, ctx.settings()); } - if (a.sql != null || !line.startsWith("/")) { + if (a.sql != null || !leadingSlash) { if (a.sql == null) a.sql = line; else