1. The documentation for the Sql Task is, I believe, inaccurate. It doesn't 
mention that
the 'keepformat' attribute set to 'true' will eliminate the effect of the REM, 
// and --
comments.

2. In any case, the attached diff should add the attribute 'commentchars' which 
allow
the user to choose the single string of characters which constitute a line 
commenter
when appearing at the head of the line. E.g.,

     <sql commentchars="FOOBAR" ...

will make "FOOBAR" the only string found at the head of a line during processing
which comments out the line.

With this diff,

     if (keepformat == false && (commentchars is_not_set))

then the Sql task will behave as it does currently, removing lines which start 
with
REM, // or --

I have not fully tested this. If this is interesting to the Ant project, I will 
procede
to test it (or modify it in light of critique), and subsequently submit a diff 
which
includes the manual change. It seems a fairly obvious attribute for the Sql task
to present.

--
Jack J. Woehr      # We have gone from the horse and buggy
Senior Consultant  # to the moon rocket in one lifetime, but
Purematrix, Inc.   # there has not been a corresponding moral
www.purematrix.com # growth in mankind. - Dwight D. Eisenhower


Index: src/main/org/apache/tools/ant/taskdefs/SQLExec.java
===================================================================
RCS file: 
/home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/SQLExec.java,v
retrieving revision 1.67
diff -u -r1.67 SQLExec.java
--- src/main/org/apache/tools/ant/taskdefs/SQLExec.java 23 Feb 2004 19:28:23 
-0000      1.67
+++ src/main/org/apache/tools/ant/taskdefs/SQLExec.java 14 Apr 2004 20:19:27 
-0000
@@ -174,7 +174,14 @@
      * @since Ant 1.6
      */
     private boolean escapeProcessing = true;
-
+    
+    /**
+     * User may chose the line comment characters
+     *
+     * @since Ant 1.7
+     */
+    private String commentChars = null;
+    
     /**
      * Set the name of the SQL file to be run.
      * Required unless statements are enclosed in the build file
@@ -313,6 +320,14 @@
     public void setEscapeProcessing(boolean enable) {
         escapeProcessing = enable;
     }
+    /**
+     * Set line comment chars
+     * @param chars the string the user desires to comment out a line of SQL
+     * @since Ant 1.7
+     */
+    public void setCommentChars(String chars) {
+        commentChars = chars;
+    }
 
     /**
      * Load the sql file and then execute it
@@ -451,16 +466,23 @@
             }
             line = getProject().replaceProperties(line);
             if (!keepformat) {
-                if (line.startsWith("//")) {
-                    continue;
-                }
-                if (line.startsWith("--")) {
-                    continue;
+                if (commentChars == null) {
+                    if (line.startsWith("//")) {
+                        continue;
+                    }
+                    if (line.startsWith("--")) {
+                        continue;
+                    }
+                    StringTokenizer st = new StringTokenizer(line);
+                    if (st.hasMoreTokens()) {
+                        String token = st.nextToken();
+                        if ("REM".equalsIgnoreCase(token)) {
+                            continue;
+                        }
+                    }
                 }
-                StringTokenizer st = new StringTokenizer(line);
-                if (st.hasMoreTokens()) {
-                    String token = st.nextToken();
-                    if ("REM".equalsIgnoreCase(token)) {
+                else{
+                    if (line.startsWith(commentChars)) {
                         continue;
                     }
                 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to