From 69a76b0882dbf2fd9f9adfab58ada9959e3cb516 Mon Sep 17 00:00:00 2001 From: Karen Chen Date: Mon, 26 Sep 2022 11:11:37 -0700 Subject: [PATCH] fix: handle transaction sql with comments at the beginning --- .../software/amazon/jdbc/plugin/DefaultConnectionPlugin.java | 2 +- .../amazon/jdbc/plugin/DefaultConnectionPluginTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/wrapper/src/main/java/software/amazon/jdbc/plugin/DefaultConnectionPlugin.java b/wrapper/src/main/java/software/amazon/jdbc/plugin/DefaultConnectionPlugin.java index 300ad08b9..92b124df1 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/plugin/DefaultConnectionPlugin.java +++ b/wrapper/src/main/java/software/amazon/jdbc/plugin/DefaultConnectionPlugin.java @@ -158,7 +158,7 @@ public void notifyNodeListChanged(Map> change public boolean doesOpenTransaction(String statement) { statement = statement.toUpperCase(); - statement = statement.replaceAll("START(?:\\s*/\\*(.*?)\\*/\\s*)TRANSACTION", "START TRANSACTION"); + statement = statement.replaceAll("\\s*/\\*(.*?)\\*/\\s*", " ").trim(); return statement.startsWith("BEGIN") || statement.startsWith("START TRANSACTION"); } diff --git a/wrapper/src/test/java/software/amazon/jdbc/plugin/DefaultConnectionPluginTest.java b/wrapper/src/test/java/software/amazon/jdbc/plugin/DefaultConnectionPluginTest.java index aaac826be..c123bd67f 100644 --- a/wrapper/src/test/java/software/amazon/jdbc/plugin/DefaultConnectionPluginTest.java +++ b/wrapper/src/test/java/software/amazon/jdbc/plugin/DefaultConnectionPluginTest.java @@ -84,6 +84,9 @@ private static Stream openTransactionQueries() { Arguments.of("START/* COMMENT */TRANSACTION;", true), Arguments.of("START /* COMMENT */ TRANSACTION;", true), Arguments.of("START /*COMMENT*/TRANSACTION;", true), + Arguments.of("/*COMMENT*/START /*COMMENT*/TRANSACTION;", true), + Arguments.of(" /*COMMENT*/ START /*COMMENT*/TRANSACTION;", true), + Arguments.of(" /*COMMENT*/ begin", true), Arguments.of("commit", false) ); }