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)
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)
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)
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 to continue without throwing an exception
in the event of an errorignoreFailedDrops
- whether 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)
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 to continue without throwing an exception
in the event of an errorignoreFailedDrops
- whether 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)