SPR-6688: Add tests and explicit detection of \ in sql script extractor

This commit is contained in:
David Syer
2011-06-02 14:28:58 +00:00
parent e0ad6500be
commit 645631ad2e
5 changed files with 50 additions and 2 deletions

View File

@@ -251,9 +251,21 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
private void splitSqlScript(String script, char delim, List<String> statements) {
StringBuilder sb = new StringBuilder();
boolean inLiteral = false;
boolean inEscape = false;
char[] content = script.toCharArray();
for (int i = 0; i < script.length(); i++) {
char c = content[i];
if (inEscape) {
inEscape = false;
sb.append(c);
continue;
}
// MySQL style escapes
if (c == '\\') {
inEscape = true;
sb.append(c);
continue;
}
if (c == '\'') {
inLiteral = !inLiteral;
}