diff options
author | Dave Cramer <davec@fastcrypt.com> | 2002-03-05 18:02:44 +0000 |
---|---|---|
committer | Dave Cramer <davec@fastcrypt.com> | 2002-03-05 18:02:44 +0000 |
commit | 29ea8ff9b13f7e4e42d18a04a46e5cc3d8f9cfd2 (patch) | |
tree | ed794d1ab91d5824d0e2115994eab8a6e2a5e163 | |
parent | ff2f9b663f73b020cc5f8fa05d848a6f6d33c6ac (diff) | |
download | postgresql-29ea8ff9b13f7e4e42d18a04a46e5cc3d8f9cfd2.tar.gz postgresql-29ea8ff9b13f7e4e42d18a04a46e5cc3d8f9cfd2.zip |
Patch by Nicolas Verger to correctly propogate SQLWarning to the Statement and ResultSet
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/ResultSet.java | 32 | ||||
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/Statement.java | 12 |
2 files changed, 44 insertions, 0 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/ResultSet.java b/src/interfaces/jdbc/org/postgresql/ResultSet.java index a9da22d4f46..768a489e6f3 100644 --- a/src/interfaces/jdbc/org/postgresql/ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/ResultSet.java @@ -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; + } } diff --git a/src/interfaces/jdbc/org/postgresql/Statement.java b/src/interfaces/jdbc/org/postgresql/Statement.java index dbd061bfd39..ea2cc0d0c33 100644 --- a/src/interfaces/jdbc/org/postgresql/Statement.java +++ b/src/interfaces/jdbc/org/postgresql/Statement.java @@ -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 |