com.googlecode.flyway.core.dbsupport.sqlserver
Class SQLServerSqlScript

java.lang.Object
  extended by com.googlecode.flyway.core.migration.sql.SqlScript
      extended by com.googlecode.flyway.core.dbsupport.sqlserver.SQLServerSqlScript

public class SQLServerSqlScript
extends SqlScript

SqlScript supporting MSSQL-specific delimiter changes.


Field Summary
 
Fields inherited from class com.googlecode.flyway.core.migration.sql.SqlScript
DEFAULT_STATEMENT_DELIMITER
 
Constructor Summary
SQLServerSqlScript(java.lang.String sqlScriptSource, PlaceholderReplacer placeholderReplacer)
          Creates a new sql script from this source with these placeholders to replace.
 
Method Summary
protected  java.lang.String changeDelimiterIfNecessary(java.lang.String statement, java.lang.String line, java.lang.String delimiter)
          Checks whether this line in the sql script indicates that the statement delimiter will be different from the current one.
 
Methods inherited from class com.googlecode.flyway.core.migration.sql.SqlScript
endsWithOpenMultilineStringLiteral, execute, getSqlStatements, isCommentDirective, isDelimiterChangeExplicit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQLServerSqlScript

public SQLServerSqlScript(java.lang.String sqlScriptSource,
                          PlaceholderReplacer placeholderReplacer)
Creates a new sql script from this source with these placeholders to replace.

Parameters:
sqlScriptSource - The sql script as a text block with all placeholders still present.
placeholderReplacer - The placeholder replacer to apply to sql migration scripts.
Throws:
java.lang.IllegalStateException - Thrown when the script could not be read from this resource.
Method Detail

changeDelimiterIfNecessary

protected java.lang.String changeDelimiterIfNecessary(java.lang.String statement,
                                                      java.lang.String line,
                                                      java.lang.String delimiter)
Description copied from class: SqlScript
Checks whether this line in the sql script indicates that the statement delimiter will be different from the current one. Useful for database-specific stored procedures and block constructs.

Overrides:
changeDelimiterIfNecessary in class SqlScript
Parameters:
statement - The statement assembled so far, reduced to a single line with all linebreaks replaced by spaces.
line - The line to analyse.
delimiter - The current delimiter.
Returns:
The new delimiter to use (can be the same as the current one) or null for no delimiter.


Copyright © 2011. All Rights Reserved.