You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bu...@apache.org on 2003/07/15 00:38:59 UTC
DO NOT REPLY [Bug 21594] New: -
Result Sets and Errors are getting lost in SQL task with multiple statements
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21594>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21594
Result Sets and Errors are getting lost in SQL task with multiple statements
Summary: Result Sets and Errors are getting lost in SQL task with
multiple statements
Product: Ant
Version: 1.5.1
Platform: All
OS/Version: All
Status: NEW
Severity: Normal
Priority: Other
Component: Core tasks
AssignedTo: dev@ant.apache.org
ReportedBy: jeff.bohanek@mni.com
The SQL task is dropping Result Sets and error messages if a script has
multiple statements and there is an UpdateCount value between the Result Sets.
For example, if the following batch is executed:
SELECT * FROM TableA
UPDATE TableA SET ColumnA = 'NoValue' WHERE ColumnB = 'No Match'
INSERT INTO TableA (ColumnA, ColumnB) VALUES (NULL, NULL)
SELECT * FROM TableA
go
If we assume that ColumnA and ColumnB are NOT NULLABLE then the INSERT in the
middle should fail and I would expect to get Results similar to the following:
{Result Set from Select *}
0 rows affected
Failed to execute ... SQLException ... ColumnA does not allow nulls...
BUILD FAILED ...
Instead what I get is something similar to the following:
{Result Set from Select *}
[sql] 1 of 1 SQL statements executed successfully
BUILD SUCCESSFUL
In this case I don't see that there was an error at all and the subsequent
result sets are lost.
I can get the proper response if I put 'go' (my delimiter) in between each
statement but the case where I had this show up was actually in the execution
of a stored procedure that had many many statements in it and the failure was
buried pretty deep.
I was able to fix this for my purposes by updating the logic in the execSQL and
printResults methods to better handle the boolean values from statement.execute
() and statement.getMoreResults(). I will try to post the changes that I made -
I need to clean it up a little.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org