public abstract class ScriptUtils
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ScriptUtils.ScriptLoadException |
static class |
ScriptUtils.ScriptParseException |
static class |
ScriptUtils.ScriptStatementFailedException |
static class |
ScriptUtils.UncategorizedScriptException |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_BLOCK_COMMENT_END_DELIMITER
Default end delimiter for block comments within SQL scripts.
|
static java.lang.String |
DEFAULT_BLOCK_COMMENT_START_DELIMITER
Default start delimiter for block comments within SQL scripts.
|
static java.lang.String |
DEFAULT_COMMENT_PREFIX
Default prefix for line comments within SQL scripts.
|
static java.lang.String |
DEFAULT_STATEMENT_SEPARATOR
Default statement separator within SQL scripts.
|
static java.lang.String |
FALLBACK_STATEMENT_SEPARATOR
Fallback statement separator within SQL scripts.
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
containsSqlScriptDelimiters(java.lang.String script,
java.lang.String delim)
Does the provided SQL script contain the specified delimiter?
|
static void |
executeDatabaseScript(DatabaseDelegate databaseDelegate,
java.lang.String scriptPath,
java.lang.String script) |
static void |
executeDatabaseScript(DatabaseDelegate databaseDelegate,
java.lang.String scriptPath,
java.lang.String script,
boolean continueOnError,
boolean ignoreFailedDrops,
java.lang.String commentPrefix,
java.lang.String separator,
java.lang.String blockCommentStartDelimiter,
java.lang.String blockCommentEndDelimiter)
Execute the given database script.
|
static void |
runInitScript(DatabaseDelegate databaseDelegate,
java.lang.String initScriptPath)
Load script from classpath and apply it to the given database
|
static void |
splitSqlScript(java.lang.String resource,
java.lang.String script,
java.lang.String separator,
java.lang.String commentPrefix,
java.lang.String blockCommentStartDelimiter,
java.lang.String blockCommentEndDelimiter,
java.util.List<java.lang.String> statements)
Split an SQL script into separate statements delimited by the provided
separator string.
|
public static final java.lang.String DEFAULT_STATEMENT_SEPARATOR
public static final java.lang.String FALLBACK_STATEMENT_SEPARATOR
Used if neither a custom defined separator nor the
DEFAULT_STATEMENT_SEPARATOR is present in a given script.
public static final java.lang.String DEFAULT_COMMENT_PREFIX
public static final java.lang.String DEFAULT_BLOCK_COMMENT_START_DELIMITER
public static final java.lang.String DEFAULT_BLOCK_COMMENT_END_DELIMITER
public static void splitSqlScript(java.lang.String resource,
java.lang.String script,
java.lang.String separator,
java.lang.String commentPrefix,
java.lang.String blockCommentStartDelimiter,
java.lang.String blockCommentEndDelimiter,
java.util.List<java.lang.String> statements)
List.
Within the script, the provided commentPrefix will be honored:
any text beginning with the comment prefix and extending to the end of the
line will be omitted from the output. Similarly, the provided
blockCommentStartDelimiter and blockCommentEndDelimiter
delimiters will be honored: any text enclosed in a block comment will be
omitted from the output. In addition, multiple adjacent whitespace characters
will be collapsed into a single space.
resource - the resource from which the script was readscript - the SQL script; never null or emptyseparator - text separating each statement — typically a ';' or
newline character; never nullcommentPrefix - the prefix that identifies SQL line comments —
typically "--"; never null or emptyblockCommentStartDelimiter - the start block comment delimiter;
never null or emptyblockCommentEndDelimiter - the end block comment delimiter;
never null or emptystatements - the list that will contain the individual statementspublic static boolean containsSqlScriptDelimiters(java.lang.String script,
java.lang.String delim)
script - the SQL scriptdelim - String delimiting each statement - typically a ';' characterpublic static void runInitScript(DatabaseDelegate databaseDelegate, java.lang.String initScriptPath)
databaseDelegate - database delegate for script executioninitScriptPath - the resource to load the init script frompublic static void executeDatabaseScript(DatabaseDelegate databaseDelegate, java.lang.String scriptPath, java.lang.String script) throws javax.script.ScriptException
javax.script.ScriptExceptionpublic static void executeDatabaseScript(DatabaseDelegate databaseDelegate, java.lang.String scriptPath, java.lang.String script, boolean continueOnError, boolean ignoreFailedDrops, java.lang.String commentPrefix, java.lang.String separator, java.lang.String blockCommentStartDelimiter, java.lang.String blockCommentEndDelimiter) throws javax.script.ScriptException
Statement separators and comments will be removed before executing individual statements within the supplied script.
Do not use this method to execute DDL if you expect rollback.
databaseDelegate - database delegate for script executionscriptPath - the resource (potentially associated with a specific encoding)
to load the SQL script fromscript - the raw script contentcontinueOnError - whether or not to continue without throwing an exception
in the event of an errorignoreFailedDrops - whether or not to continue in the event of specifically
an error on a DROP statementcommentPrefix - the prefix that identifies comments in the SQL script —
typically "--"separator - the script statement separator; defaults to
";" if not specified and falls back to
"\n" as a last resortblockCommentStartDelimiter - the start block comment delimiter; never
null or emptyblockCommentEndDelimiter - the end block comment delimiter; never
null or empty @throws ScriptException if an error occurred while executing the SQL scriptjavax.script.ScriptException