public abstract class ScriptUtils extends Object
Mainly for internal use within the framework.
ScriptUtils| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_BLOCK_COMMENT_END_DELIMITER
Default end delimiter for block comments within SQL scripts:
"*/". |
static String |
DEFAULT_BLOCK_COMMENT_START_DELIMITER
Default start delimiter for block comments within SQL scripts:
"/*". |
static String[] |
DEFAULT_COMMENT_PREFIXES
Default prefixes for single-line comments within SQL scripts:
["--"]. |
static String |
DEFAULT_STATEMENT_SEPARATOR
Default statement separator within SQL scripts:
";". |
static String |
EOF_STATEMENT_SEPARATOR
End of file (EOF) SQL statement separator:
"^^^ END OF SCRIPT ^^^". |
static String |
FALLBACK_STATEMENT_SEPARATOR
Fallback statement separator within SQL scripts:
"\n". |
| Constructor and Description |
|---|
ScriptUtils() |
| Modifier and Type | Method and Description |
|---|---|
static reactor.core.publisher.Mono<Void> |
executeSqlScript(Connection connection,
EncodedResource resource)
Execute the given SQL script using default settings for statement
separators, comment delimiters, and exception handling flags.
|
static reactor.core.publisher.Mono<Void> |
executeSqlScript(Connection connection,
EncodedResource resource,
DataBufferFactory dataBufferFactory,
boolean continueOnError,
boolean ignoreFailedDrops,
String[] commentPrefixes,
String separator,
String blockCommentStartDelimiter,
String blockCommentEndDelimiter)
Execute the given SQL script.
|
static reactor.core.publisher.Mono<Void> |
executeSqlScript(Connection connection,
EncodedResource resource,
DataBufferFactory dataBufferFactory,
boolean continueOnError,
boolean ignoreFailedDrops,
String commentPrefix,
String separator,
String blockCommentStartDelimiter,
String blockCommentEndDelimiter)
Execute the given SQL script.
|
static reactor.core.publisher.Mono<Void> |
executeSqlScript(Connection connection,
Resource resource)
Execute the given SQL script using default settings for statement
separators, comment delimiters, and exception handling flags.
|
public static final String DEFAULT_STATEMENT_SEPARATOR
";".public static final String FALLBACK_STATEMENT_SEPARATOR
"\n".
Used if neither a custom separator nor the
DEFAULT_STATEMENT_SEPARATOR is present in a given script.
public static final String EOF_STATEMENT_SEPARATOR
"^^^ END OF SCRIPT ^^^".
This value may be supplied as the separator to executeSqlScript(Connection, EncodedResource, DataBufferFactory, boolean, boolean, String[], String, String, String)
to denote that an SQL script contains a single statement (potentially
spanning multiple lines) with no explicit statement separator. Note that
such a script should not actually contain this value; it is merely a
virtual statement separator.
public static final String[] DEFAULT_COMMENT_PREFIXES
["--"].public static final String DEFAULT_BLOCK_COMMENT_START_DELIMITER
"/*".public static final String DEFAULT_BLOCK_COMMENT_END_DELIMITER
"*/".public static reactor.core.publisher.Mono<Void> executeSqlScript(Connection connection, Resource resource) throws ScriptException
Statement separators and comments will be removed before executing individual statements within the supplied script.
Warning: this method does not release the
provided Connection.
connection - the R2DBC connection to use to execute the script; already
configured and ready to useresource - the resource to load the SQL script from; encoded with the
current platform's default encodingScriptException - if an error occurred while executing the SQL scriptexecuteSqlScript(Connection, EncodedResource, DataBufferFactory, boolean, boolean, String[], String, String, String),
DEFAULT_STATEMENT_SEPARATOR,
DEFAULT_COMMENT_PREFIXES,
DEFAULT_BLOCK_COMMENT_START_DELIMITER,
DEFAULT_BLOCK_COMMENT_END_DELIMITER,
ConnectionFactoryUtils.getConnection(io.r2dbc.spi.ConnectionFactory),
ConnectionFactoryUtils.releaseConnection(io.r2dbc.spi.Connection, io.r2dbc.spi.ConnectionFactory)public static reactor.core.publisher.Mono<Void> executeSqlScript(Connection connection, EncodedResource resource) throws ScriptException
Statement separators and comments will be removed before executing individual statements within the supplied script.
Warning: this method does not release the
provided Connection.
connection - the R2DBC connection to use to execute the script; already
configured and ready to useresource - the resource (potentially associated with a specific encoding)
to load the SQL script fromScriptException - if an error occurred while executing the SQL scriptexecuteSqlScript(Connection, EncodedResource, DataBufferFactory, boolean, boolean, String[], String, String, String),
DEFAULT_STATEMENT_SEPARATOR,
DEFAULT_COMMENT_PREFIXES,
DEFAULT_BLOCK_COMMENT_START_DELIMITER,
DEFAULT_BLOCK_COMMENT_END_DELIMITER,
ConnectionFactoryUtils.getConnection(io.r2dbc.spi.ConnectionFactory),
ConnectionFactoryUtils.releaseConnection(io.r2dbc.spi.Connection, io.r2dbc.spi.ConnectionFactory)public static reactor.core.publisher.Mono<Void> executeSqlScript(Connection connection, EncodedResource resource, DataBufferFactory dataBufferFactory, boolean continueOnError, boolean ignoreFailedDrops, String commentPrefix, @Nullable String separator, String blockCommentStartDelimiter, String blockCommentEndDelimiter) throws ScriptException
Statement separators and comments will be removed before executing individual statements within the supplied script.
Warning: this method does not release the
provided Connection.
connection - the R2DBC connection to use to execute the script; already
configured and ready to useresource - the resource (potentially associated with a specific encoding)
to load the SQL script fromdataBufferFactory - the factory to create data buffers withcontinueOnError - 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 single-line comments in the
SQL script (typically "--")separator - the script statement separator; defaults to
";" if not specified and falls back to
"\n" as a last resort; may be set to
"^^^ END OF SCRIPT ^^^" to signal that the script contains a
single statement without a separatorblockCommentStartDelimiter - the start block comment delimiterblockCommentEndDelimiter - the end block comment delimiterScriptException - if an error occurred while executing the SQL scriptDEFAULT_STATEMENT_SEPARATOR,
FALLBACK_STATEMENT_SEPARATOR,
EOF_STATEMENT_SEPARATOR,
ConnectionFactoryUtils.getConnection(io.r2dbc.spi.ConnectionFactory),
ConnectionFactoryUtils.releaseConnection(io.r2dbc.spi.Connection, io.r2dbc.spi.ConnectionFactory)public static reactor.core.publisher.Mono<Void> executeSqlScript(Connection connection, EncodedResource resource, DataBufferFactory dataBufferFactory, boolean continueOnError, boolean ignoreFailedDrops, String[] commentPrefixes, @Nullable String separator, String blockCommentStartDelimiter, String blockCommentEndDelimiter) throws ScriptException
Statement separators and comments will be removed before executing individual statements within the supplied script.
Warning: this method does not release the
provided Connection.
connection - the R2DBC connection to use to execute the script; already
configured and ready to useresource - the resource (potentially associated with a specific encoding)
to load the SQL script fromdataBufferFactory - the factory to create data buffers withcontinueOnError - 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 statementcommentPrefixes - the prefixes that identify single-line comments in the
SQL script (typically "--")separator - the script statement separator; defaults to
";" if not specified and falls back to
"\n" as a last resort; may be set to
"^^^ END OF SCRIPT ^^^" to signal that the script contains a
single statement without a separatorblockCommentStartDelimiter - the start block comment delimiterblockCommentEndDelimiter - the end block comment delimiterScriptException - if an error occurred while executing the SQL scriptDEFAULT_STATEMENT_SEPARATOR,
FALLBACK_STATEMENT_SEPARATOR,
EOF_STATEMENT_SEPARATOR,
ConnectionFactoryUtils.getConnection(io.r2dbc.spi.ConnectionFactory),
ConnectionFactoryUtils.releaseConnection(io.r2dbc.spi.Connection, io.r2dbc.spi.ConnectionFactory)