You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2008/07/11 16:26:32 UTC
svn commit: r675962 - in /ant/core/trunk: WHATSNEW
docs/manual/CoreTasks/sql.html
src/main/org/apache/tools/ant/taskdefs/SQLExec.java
Author: bodewig
Date: Fri Jul 11 07:26:32 2008
New Revision: 675962
URL: http://svn.apache.org/viewvc?rev=675962&view=rev
Log:
new showWarnings attribute that makes <sql> display SQLWarnings - if any. PR 41836
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/docs/manual/CoreTasks/sql.html
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=675962&r1=675961&r2=675962&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Fri Jul 11 07:26:32 2008
@@ -143,6 +143,9 @@
and "go" as delimiters.
Bugzilla Report 26459.
+ * A new showWarnings attribute of <sql> allows warnings to be logged.
+ Bugzilla Report 41836.
+
Changes from Ant 1.7.0 TO Ant 1.7.1
=============================================
Modified: ant/core/trunk/docs/manual/CoreTasks/sql.html
URL: http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/sql.html?rev=675962&r1=675961&r2=675962&view=diff
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/sql.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/sql.html Fri Jul 11 07:26:32 2008
@@ -212,6 +212,16 @@
"GO "). <em>Since Ant 1.8.0</em>.</td>
<td width="10%" valign="top">No, default <em>true</em></td>
</tr>
+
+<tr>
+ <td width="12%" valign="top">showWarnings</td>
+ <td width="78%" valign="top">If true, SQLWarnings will be logged at
+ the WARN level. <em>Since Ant 1.8.0</em>.<br/>
+ <b>Note:</b> even if the attribute is set to false, warnings that
+ apply to the connection will be logged at the verbose level.</td>
+ <td width="10%" valign="top">No, default <em>false</em></td>
+</tr>
+
</table>
<h3>Parameters specified as nested elements</h3>
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java?rev=675962&r1=675961&r2=675962&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java Fri Jul 11 07:26:32 2008
@@ -206,6 +206,12 @@
private boolean strictDelimiterMatching = true;
/**
+ * whether to show SQLWarnings as WARN messages.
+ * @since Ant 1.8.0
+ */
+ private boolean showWarnings = false;
+
+ /**
* Set the name of the SQL file to be run.
* Required unless statements are enclosed in the build file
* @param srcFile the file containing the SQL command.
@@ -414,6 +420,14 @@
}
/**
+ * whether to show SQLWarnings as WARN messages.
+ * @since Ant 1.8.0
+ */
+ public void setShowWarnings(boolean b) {
+ showWarnings = b;
+ }
+
+ /**
* Load the sql file and then execute it
* @throws BuildException on error.
*/
@@ -599,6 +613,11 @@
}
if (ret) {
resultSet = getStatement().getResultSet();
+ if (showWarnings) {
+ printWarnings(resultSet.getWarnings(),
+ Project.MSG_WARN);
+ }
+ resultSet.clearWarnings();
if (print) {
printResults(resultSet, out);
}
@@ -607,16 +626,19 @@
updateCount = getStatement().getUpdateCount();
} while (ret || updateCount != -1);
+ if (showWarnings) {
+ printWarnings(getStatement().getWarnings(), Project.MSG_WARN);
+ }
+ getStatement().clearWarnings();
+
log(updateCountTotal + " rows affected", Project.MSG_VERBOSE);
if (print && showtrailers) {
out.println(updateCountTotal + " rows affected");
}
SQLWarning warning = getConnection().getWarnings();
- while (warning != null) {
- log(warning + " sql warning", Project.MSG_VERBOSE);
- warning = warning.getNextWarning();
- }
+ printWarnings(warning, showWarnings
+ ? Project.MSG_WARN : Project.MSG_VERBOSE);
getConnection().clearWarnings();
goodSql++;
} catch (SQLException e) {
@@ -685,6 +707,9 @@
printValue(rs, col, out);
}
out.println();
+ if (showWarnings) {
+ printWarnings(rs.getWarnings(), Project.MSG_WARN);
+ }
}
}
}
@@ -891,4 +916,11 @@
}
}
}
+
+ private void printWarnings(SQLWarning warning, int level) {
+ while (warning != null) {
+ log(warning + " sql warning", level);
+ warning = warning.getNextWarning();
+ }
+ }
}