Patch by Nicolas Verger to correctly propogate SQLWarning to the Statement and ResultSet

This commit is contained in:
Dave Cramer 2002-03-05 18:02:44 +00:00
parent ff2f9b663f
commit 29ea8ff9b1
2 changed files with 44 additions and 0 deletions

View File

@ -223,5 +223,37 @@ public abstract class ResultSet
return s;
}
/**
* The first warning reported by calls on this ResultSet is
* returned. Subsequent ResultSet warnings will be chained
* to this SQLWarning.
*
* <p>The warning chain is automatically cleared each time a new
* row is read.
*
* <p><B>Note:</B> This warning chain only covers warnings caused by
* ResultSet methods. Any warnings caused by statement methods
* (such as reading OUT parameters) will be chained on the
* Statement object.
*
* @return the first SQLWarning or null;
* @exception SQLException if a database access error occurs.
*/
public SQLWarning getWarnings() throws SQLException
{
return warnings;
}
/**
* Add a warning chain to the current warning chain
* @param warnings warnings to add
*/
public void addWarnings(SQLWarning warnings) {
if ( this.warnings != null )
this.warnings.setNextWarning(warnings);
else
this.warnings = warnings;
}
}

View File

@ -110,6 +110,18 @@ public abstract class Statement
timeout = seconds;
}
/**
* This adds a warning to the warning chain.
* @param msg message to add
*/
public void addWarning(String msg)
{
if (warnings != null)
warnings.setNextWarning(new SQLWarning(msg));
else
warnings = new SQLWarning(msg);
}
/*
* The first warning reported by calls on this Statement is
* returned. A Statement's execute methods clear its SQLWarning