ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maksim Pakhutkin" <pakhu...@gwm.sc.edu>
Subject RE: SQLExec.class feedback attribute proposal
Date Mon, 05 Jul 2004 10:17:17 GMT
Hmmm... What I am actually proposing is that the task _not_ do
something, that is, not print 'X rows affected'. I am not proposing
adding a new feature that is Oracle/PL-SQL specific. The 'X rows
affected' is generated by the SQLTask, not the RDBMS (although I think I
got a little confused when writing the comments in the patch).

The only way for me to handle this without patching ant would be to run
a separate task after each sql "export" task, which would pipe the
output file of the sql task through a perl command line or some such to
strip out the 'X rows affected' message.

I think it only makes sense that there be a parameter for printing the
actual output of the sql task and another to optionally print any
information messages such as 'X rows affected'.

But I'm not going to insist on anything here, obviously. I am perfectly
comfortable patching ant for my own purposes, just thought that other
people _might_ find the suggestion useful also.

Max Pakhutkin
Database Administrator (OCA)
Computer Services
University of South Carolina
803-777-8089
AIM: pakhutkinusc
>>> jalberto@cellectivity.com 07/05/04 05:52 AM >>>
I think these increasing types of functionality have
been asked before for the SQLTask.

I really think people are asking for the SQLTask to be as flexible
as a scripting language (like sqlplus or PL/SQL) which is not
what the task how the task was originally conceived.

As a result there are more and more options and complexities in the task
which I think are creating a moster out of it. Maybe we should
think on defining a new task designed for JDBCScripting closer
in functionality with what one can do in other scripting languages.

On the other hand, maybe you should just use one of those scripting
languages with JDBC calls to do what you want. Hmmmmm

Jose Alberto

> -----Original Message-----
> From: Maksim Pakhutkin [mailto:pakhutki@gwm.sc.edu] 
> Sent: 03 July 2004 16:56
> To: dev@ant.apache.org
> Subject: SQLExec.class feedback attribute proposal
> 
> 
> Hello,
> 
> I'd like to propose an addition of a new attribute to the 
> SQLExec.class in src\main\org\apache\tools\ant\taskdefs of 
> ant version 1.6.1. This attribute would emulate 'set feedback 
> off' in Oracle's sqlplus. Without it the 'n rows affected' 
> message is produced in the output.
> 
> It is sometimes necessary, as in my case, to use the output 
> file of one sql task as source for another. For example to 
> migrate certain settings between the staging database and the 
> production database, one would extract the data with a sql 
> statement like this:
> 
> select 'update owner.table set column='||column||' where ...
> 
> Then a separapte ant import project would pickup the ouput (an update
> statement) and execute it against the target database. 
> However, with the 1.6.1 version of ant, the file will contain 
> 'n rows affected' message, which will cause an error upon 
> subsequent execution.
> 
> Attached is the output of diff -Naur for the SQLExec.class 
> file that I'm using to do this in my environment.
> 
> I'd appreciate any feedback you may have.
> 
> Max Pakhutkin
> Database Administrator (OCA)
> Computer Services
> University of South Carolina
> 
> 
> ---
> apache-ant-1.6.1/src/main/org/apache/tools/ant/taskdefs/SQLEx
> ec.java	2004-02-12
> 13:33:24.000000000 -0500
> +++
> apache-ant-new/src/main/org/apache/tools/ant/taskdefs/SQLEx
> ec.java	2004-07-03
> 11:06:37.138125000 -0400
> @@ -142,6 +142,12 @@
>      private boolean print = false;
>  
>      /**
> +     * Print RDBMS informational (feedback) output.
> +     * Used jointly with print
> +     */
> +    private boolean feedback = false;
> +    
> +    /**
>       * Print header columns.
>       */
>      private boolean showheaders = true;
> @@ -253,6 +259,14 @@
>      }
>  
>      /**
> +     * Print RDBMS feedback (N rows affected, etc)
> +     * optional, only used if print is true, default true
> +     */
> +    public void setFeedback(boolean feedback) {
> +	    this.feedback = feedback;
> +    }
> +    
> +    /**
>       * Print headers for result sets from the
>       * statements; optional, default true.
>       */
> @@ -522,7 +536,7 @@
>              log(updateCountTotal + " rows affected",
>                  Project.MSG_VERBOSE);
>  
> -            if (print) {
> +            if (print && feedback) {
>                  StringBuffer line = new StringBuffer();
>                  line.append(updateCountTotal + " rows affected");
>                  out.println(line);
> 
> 
> Max Pakhutkin
> Database Administrator (OCA)
> Computer Services
> University of South Carolina
> 803-777-8089
> AIM: pakhutkinusc
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message