From 9a15c7774810836fecd871b21018e0aa6b6fbe99 Mon Sep 17 00:00:00 2001 From: hspragg-godaddy <133794355+hspragg-godaddy@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:45:00 -0700 Subject: [PATCH 1/2] Change ScriptSplitter to use charAt instead of toString endsWith Fixed an issue with the `ScriptSplitter#split` method, where encountering whitespace would result in the StringBuilder building the entire string just to check the last character in the string. --- .../src/main/java/org/testcontainers/ext/ScriptSplitter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java b/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java index ba05b71e7bd..f491ae78dc3 100644 --- a/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java +++ b/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java @@ -36,7 +36,7 @@ void split() { //skip break; case WHITESPACE: - if (!sb.toString().endsWith(" ")) { + if (sb.length() != 0 && sb.charAt(sb.length() - 1) != ' ') { sb.append(' '); } break; From 90c16e5a3f47ba545fd6a903769477b8bae69da4 Mon Sep 17 00:00:00 2001 From: hspragg-godaddy <133794355+hspragg-godaddy@users.noreply.github.com> Date: Fri, 17 Oct 2025 15:05:59 -0700 Subject: [PATCH 2/2] Fix whitespace handling in ScriptSplitter Changed the logic from `isNotEmpty and doesNotEndInSpace` to `isEmpty or doesNotEndInSpace` to align with previous implementation behavior. --- .../src/main/java/org/testcontainers/ext/ScriptSplitter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java b/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java index f491ae78dc3..d71f6f3ac3d 100644 --- a/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java +++ b/modules/database-commons/src/main/java/org/testcontainers/ext/ScriptSplitter.java @@ -36,7 +36,7 @@ void split() { //skip break; case WHITESPACE: - if (sb.length() != 0 && sb.charAt(sb.length() - 1) != ' ') { + if (sb.length() == 0 || sb.charAt(sb.length() - 1) != ' ') { sb.append(' '); } break;