From 5d5dc6d2318b21d1c895ab198b6f168afc9a8ca2 Mon Sep 17 00:00:00 2001 From: Claude Brisson Date: Mon, 25 Apr 2022 08:33:27 +0200 Subject: [PATCH] Fix comment detection --- .../java/com/republicate/modality/sql/SqlUtils.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/modality-core/src/main/java/com/republicate/modality/sql/SqlUtils.java b/modality-core/src/main/java/com/republicate/modality/sql/SqlUtils.java index 56142fb..6d011fb 100644 --- a/modality-core/src/main/java/com/republicate/modality/sql/SqlUtils.java +++ b/modality-core/src/main/java/com/republicate/modality/sql/SqlUtils.java @@ -184,12 +184,13 @@ public static List splitStatements(String query, Character identifierQuo Stack state = new Stack<>(); state.push(SplitState.NORMAL); int dollars = 0; - boolean afterHyphen = false; + Character c = null, prevChar = null; int parLevel = 0; StringBuilder currentQuery = new StringBuilder(); for (int i = 0; i < query.length(); ++i) { - Character c = query.charAt(i); + prevChar = c; + c = query.charAt(i); if(state.peek() != SplitState.COMMENT) currentQuery.append(c); switch (state.peek()) { @@ -199,16 +200,11 @@ public static List splitStatements(String query, Character identifierQuo { case '-': { - if (afterHyphen) + if (prevChar != null && prevChar == '-') { - afterHyphen = false; state.push(SplitState.COMMENT); currentQuery.delete(currentQuery.length() - 2, currentQuery.length()); } - else - { - afterHyphen = true; - } break; } case '\'':