You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2007/02/26 19:07:03 UTC
svn commit: r511936 -
/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java
Author: cbegin
Date: Mon Feb 26 10:07:02 2007
New Revision: 511936
URL: http://svn.apache.org/viewvc?view=rev&rev=511936
Log:
Added delimiter configuration for ScriptRunner to support things like SQL Server's "GO" delimiter.
Modified:
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java?view=diff&rev=511936&r1=511935&r2=511936
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java Mon Feb 26 10:07:02 2007
@@ -29,8 +29,7 @@
*/
public class ScriptRunner {
- //private static final Log log = LogFactory.getLog(ScriptRunner.class);
-
+ private static final String DEFAULT_DELIMITER = ";";
private Connection connection;
private String driver;
@@ -44,6 +43,9 @@
private PrintWriter logWriter = new PrintWriter(System.out);
private PrintWriter errorLogWriter = new PrintWriter(System.err);
+ private String delimiter = DEFAULT_DELIMITER;
+ private boolean fullLineDelimiter = false;
+
/**
* Default constructor
*/
@@ -53,6 +55,11 @@
this.stopOnError = stopOnError;
}
+ public void setDelimiter(String delimiter, boolean fullLineDelimiter) {
+ this.delimiter = delimiter;
+ this.fullLineDelimiter = fullLineDelimiter;
+ }
+
public ScriptRunner(String driver, String url, String username, String password, boolean autoCommit, boolean stopOnError) {
this.driver = driver;
this.url = url;
@@ -143,8 +150,9 @@
//Do nothing
} else if (trimmedLine.length() < 1 || trimmedLine.startsWith("--")) {
//Do nothing
- } else if (trimmedLine.endsWith(";")) {
- command.append(line.substring(0, line.lastIndexOf(";")));
+ } else if (!fullLineDelimiter && trimmedLine.endsWith(getDelimiter())
+ || fullLineDelimiter && trimmedLine.equals(getDelimiter())) {
+ command.append(line.substring(0, line.lastIndexOf(getDelimiter())));
command.append(" ");
Statement statement = conn.createStatement();
@@ -214,6 +222,10 @@
conn.rollback();
flush();
}
+ }
+
+ private String getDelimiter() {
+ return delimiter;
}
private void print(Object o) {