Coverage Report - org.apache.commons.dbcp.DelegatingResultSet
 
Classes in this File Line Coverage Branch Coverage Complexity
DelegatingResultSet
10%
45/421
50%
18/36
2.53
 
 1  
 /*
 2  
  * Licensed to the Apache Software Foundation (ASF) under one or more
 3  
  * contributor license agreements.  See the NOTICE file distributed with
 4  
  * this work for additional information regarding copyright ownership.
 5  
  * The ASF licenses this file to You under the Apache License, Version 2.0
 6  
  * (the "License"); you may not use this file except in compliance with
 7  
  * the License.  You may obtain a copy of the License at
 8  
  * 
 9  
  *      http://www.apache.org/licenses/LICENSE-2.0
 10  
  * 
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  */
 17  
 
 18  
 package org.apache.commons.dbcp;
 19  
 
 20  
 import java.sql.ResultSet;
 21  
 import java.math.BigDecimal;
 22  
 import java.sql.Date;
 23  
 import java.sql.Time;
 24  
 import java.sql.Timestamp;
 25  
 import java.io.InputStream;
 26  
 import java.sql.SQLWarning;
 27  
 import java.sql.ResultSetMetaData;
 28  
 import java.sql.SQLException;
 29  
 import java.io.Reader;
 30  
 import java.sql.Statement;
 31  
 import java.util.Map;
 32  
 import java.sql.Connection;
 33  
 import java.sql.Ref;
 34  
 import java.sql.Blob;
 35  
 import java.sql.Clob;
 36  
 import java.sql.Array;
 37  
 import java.util.Calendar;
 38  
 /* JDBC_4_ANT_KEY_BEGIN */
 39  
 import java.sql.NClob;
 40  
 import java.sql.RowId;
 41  
 import java.sql.SQLXML;
 42  
 /* JDBC_4_ANT_KEY_END */
 43  
 
 44  
 /**
 45  
  * A base delegating implementation of {@link ResultSet}.
 46  
  * <p>
 47  
  * All of the methods from the {@link ResultSet} interface
 48  
  * simply call the corresponding method on the "delegate"
 49  
  * provided in my constructor.
 50  
  * <p>
 51  
  * Extends AbandonedTrace to implement result set tracking and
 52  
  * logging of code which created the ResultSet. Tracking the
 53  
  * ResultSet ensures that the Statment which created it can
 54  
  * close any open ResultSet's on Statement close.
 55  
  *
 56  
  * @author Glenn L. Nielsen
 57  
  * @author James House
 58  
  * @author Dirk Verbeeck
 59  
  * @version $Revision: 1023401 $ $Date: 2010-10-16 21:54:24 -0400 (Sat, 16 Oct 2010) $
 60  
  */
 61  
 public class DelegatingResultSet extends AbandonedTrace implements ResultSet {
 62  
 
 63  
     /** My delegate. **/
 64  
     private ResultSet _res;
 65  
 
 66  
     /** The Statement that created me, if any. **/
 67  
     private Statement _stmt;
 68  
 
 69  
     /** The Connection that created me, if any. **/
 70  
     private Connection _conn;
 71  
 
 72  
     /**
 73  
      * Create a wrapper for the ResultSet which traces this
 74  
      * ResultSet to the Statement which created it and the
 75  
      * code which created it.
 76  
      *
 77  
      * @param stmt Statement which created this ResultSet
 78  
      * @param res ResultSet to wrap
 79  
      */
 80  
     public DelegatingResultSet(Statement stmt, ResultSet res) {
 81  54809
         super((AbandonedTrace)stmt);
 82  54809
         this._stmt = stmt;
 83  54809
         this._res = res;
 84  54809
     }
 85  
     
 86  
     /**
 87  
      * Create a wrapper for the ResultSet which traces this
 88  
      * ResultSet to the Connection which created it (via, for
 89  
      * example DatabaseMetadata, and the code which created it.
 90  
      *
 91  
      * @param conn Connection which created this ResultSet
 92  
      * @param res ResultSet to wrap
 93  
      */
 94  
     public DelegatingResultSet(Connection conn, ResultSet res) {
 95  2
         super((AbandonedTrace)conn);
 96  2
         this._conn = conn;
 97  2
         this._res = res;
 98  2
     }
 99  
     
 100  
     public static ResultSet wrapResultSet(Statement stmt, ResultSet rset) {
 101  54815
         if(null == rset) {
 102  6
             return null;
 103  
         } else {
 104  54809
             return new DelegatingResultSet(stmt,rset);
 105  
         }
 106  
     }
 107  
 
 108  
     public static ResultSet wrapResultSet(Connection conn, ResultSet rset) {
 109  2
         if(null == rset) {
 110  0
             return null;
 111  
         } else {
 112  2
             return new DelegatingResultSet(conn,rset);
 113  
         }
 114  
     }
 115  
 
 116  
     public ResultSet getDelegate() {
 117  52672
         return _res;
 118  
     }
 119  
 
 120  
     public boolean equals(Object obj) {
 121  53999
         ResultSet delegate = getInnermostDelegate();
 122  53999
         if (delegate == null) {
 123  0
             return false;
 124  
         }
 125  53999
         if (obj instanceof DelegatingResultSet) {
 126  53997
             DelegatingResultSet s = (DelegatingResultSet) obj;
 127  53997
             return delegate.equals(s.getInnermostDelegate());
 128  
         }
 129  
         else {
 130  2
             return delegate.equals(obj);
 131  
         }
 132  
     }
 133  
 
 134  
     public int hashCode() {
 135  0
         Object obj = getInnermostDelegate();
 136  0
         if (obj == null) {
 137  0
             return 0;
 138  
         }
 139  0
         return obj.hashCode();
 140  
     }
 141  
 
 142  
     /**
 143  
      * If my underlying {@link ResultSet} is not a
 144  
      * <tt>DelegatingResultSet</tt>, returns it,
 145  
      * otherwise recursively invokes this method on
 146  
      * my delegate.
 147  
      * <p>
 148  
      * Hence this method will return the first
 149  
      * delegate that is not a <tt>DelegatingResultSet</tt>,
 150  
      * or <tt>null</tt> when no non-<tt>DelegatingResultSet</tt>
 151  
      * delegate can be found by transversing this chain.
 152  
      * <p>
 153  
      * This method is useful when you may have nested
 154  
      * <tt>DelegatingResultSet</tt>s, and you want to make
 155  
      * sure to obtain a "genuine" {@link ResultSet}.
 156  
      */
 157  
     public ResultSet getInnermostDelegate() {
 158  107996
         ResultSet r = _res;
 159  160668
         while(r != null && r instanceof DelegatingResultSet) {
 160  52672
             r = ((DelegatingResultSet)r).getDelegate();
 161  52672
             if(this == r) {
 162  0
                 return null;
 163  
             }
 164  
         }
 165  107996
         return r;
 166  
     }
 167  
     
 168  
     public Statement getStatement() throws SQLException {
 169  1026
         return _stmt;
 170  
     }
 171  
 
 172  
     /**
 173  
      * Wrapper for close of ResultSet which removes this
 174  
      * result set from being traced then calls close on
 175  
      * the original ResultSet.
 176  
      */
 177  
     public void close() throws SQLException {
 178  
         try {
 179  54181
             if(_stmt != null) {
 180  53995
                 ((AbandonedTrace)_stmt).removeTrace(this);
 181  53995
                 _stmt = null;
 182  
             }
 183  54181
             if(_conn != null) {
 184  2
                 ((AbandonedTrace)_conn).removeTrace(this);
 185  2
                 _conn = null;
 186  
             }
 187  54181
             _res.close();
 188  
         }
 189  0
         catch (SQLException e) {
 190  0
             handleException(e);
 191  54181
         }
 192  54181
     }
 193  
 
 194  
     protected void handleException(SQLException e) throws SQLException {
 195  1986
         if ((_stmt != null) && (_stmt instanceof DelegatingStatement)) {
 196  720
             ((DelegatingStatement)_stmt).handleException(e);
 197  
         }
 198  1266
         else if ((_conn != null) && (_conn instanceof DelegatingConnection)) {
 199  0
             ((DelegatingConnection)_conn).handleException(e);
 200  
         }
 201  
         else {
 202  1266
             throw e;
 203  
         }
 204  0
     }
 205  
 
 206  
     public boolean next() throws SQLException 
 207  29777
     { try { return _res.next(); } catch (SQLException e) { handleException(e); return false; } }
 208  
 
 209  
     public boolean wasNull() throws SQLException
 210  0
     { try { return _res.wasNull(); } catch (SQLException e) { handleException(e); return false; } }
 211  
 
 212  
     public String getString(int columnIndex) throws SQLException
 213  12
     { try { return _res.getString(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 214  
 
 215  
     public boolean getBoolean(int columnIndex) throws SQLException
 216  0
     { try { return _res.getBoolean(columnIndex); } catch (SQLException e) { handleException(e); return false; } }
 217  
 
 218  
     public byte getByte(int columnIndex) throws SQLException
 219  0
     { try { return _res.getByte(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 220  
 
 221  
     public short getShort(int columnIndex) throws SQLException
 222  0
     { try { return _res.getShort(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 223  
 
 224  
     public int getInt(int columnIndex) throws SQLException
 225  0
     { try { return _res.getInt(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 226  
 
 227  
     public long getLong(int columnIndex) throws SQLException
 228  0
     { try { return _res.getLong(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 229  
 
 230  
     public float getFloat(int columnIndex) throws SQLException
 231  0
     { try { return _res.getFloat(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 232  
 
 233  
     public double getDouble(int columnIndex) throws SQLException
 234  0
     { try { return _res.getDouble(columnIndex); } catch (SQLException e) { handleException(e); return 0; } }
 235  
 
 236  
     /** @deprecated */
 237  
     public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
 238  0
     { try { return _res.getBigDecimal(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 239  
 
 240  
     public byte[] getBytes(int columnIndex) throws SQLException
 241  0
     { try { return _res.getBytes(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 242  
 
 243  
     public Date getDate(int columnIndex) throws SQLException
 244  0
     { try { return _res.getDate(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 245  
 
 246  
     public Time getTime(int columnIndex) throws SQLException
 247  0
     { try { return _res.getTime(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 248  
 
 249  
     public Timestamp getTimestamp(int columnIndex) throws SQLException
 250  0
     { try { return _res.getTimestamp(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 251  
 
 252  
     public InputStream getAsciiStream(int columnIndex) throws SQLException
 253  0
     { try { return _res.getAsciiStream(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 254  
 
 255  
     /** @deprecated */
 256  
     public InputStream getUnicodeStream(int columnIndex) throws SQLException
 257  0
     { try { return _res.getUnicodeStream(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 258  
 
 259  
     public InputStream getBinaryStream(int columnIndex) throws SQLException
 260  0
     { try { return _res.getBinaryStream(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 261  
 
 262  
     public String getString(String columnName) throws SQLException
 263  0
     { try { return _res.getString(columnName); } catch (SQLException e) { handleException(e); return null; } }
 264  
 
 265  
     public boolean getBoolean(String columnName) throws SQLException
 266  0
     { try { return _res.getBoolean(columnName); } catch (SQLException e) { handleException(e); return false; } }
 267  
 
 268  
     public byte getByte(String columnName) throws SQLException
 269  0
     { try { return _res.getByte(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 270  
 
 271  
     public short getShort(String columnName) throws SQLException
 272  0
     { try { return _res.getShort(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 273  
 
 274  
     public int getInt(String columnName) throws SQLException
 275  0
     { try { return _res.getInt(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 276  
 
 277  
     public long getLong(String columnName) throws SQLException
 278  0
     { try { return _res.getLong(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 279  
 
 280  
     public float getFloat(String columnName) throws SQLException
 281  0
     { try { return _res.getFloat(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 282  
 
 283  
     public double getDouble(String columnName) throws SQLException
 284  0
     { try { return _res.getDouble(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 285  
 
 286  
     /** @deprecated */
 287  
     public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
 288  0
     { try { return _res.getBigDecimal(columnName); } catch (SQLException e) { handleException(e); return null; } }
 289  
 
 290  
     public byte[] getBytes(String columnName) throws SQLException
 291  0
     { try { return _res.getBytes(columnName); } catch (SQLException e) { handleException(e); return null; } }
 292  
 
 293  
     public Date getDate(String columnName) throws SQLException
 294  0
     { try { return _res.getDate(columnName); } catch (SQLException e) { handleException(e); return null; } }
 295  
 
 296  
     public Time getTime(String columnName) throws SQLException
 297  0
     { try { return _res.getTime(columnName); } catch (SQLException e) { handleException(e); return null; } }
 298  
 
 299  
     public Timestamp getTimestamp(String columnName) throws SQLException
 300  0
     { try { return _res.getTimestamp(columnName); } catch (SQLException e) { handleException(e); return null; } }
 301  
 
 302  
     public InputStream getAsciiStream(String columnName) throws SQLException
 303  0
     { try { return _res.getAsciiStream(columnName); } catch (SQLException e) { handleException(e); return null; } }
 304  
 
 305  
     /** @deprecated */
 306  
     public InputStream getUnicodeStream(String columnName) throws SQLException
 307  0
     { try { return _res.getUnicodeStream(columnName); } catch (SQLException e) { handleException(e); return null; } }
 308  
 
 309  
     public InputStream getBinaryStream(String columnName) throws SQLException
 310  0
     { try { return _res.getBinaryStream(columnName); } catch (SQLException e) { handleException(e); return null; } }
 311  
 
 312  
     public SQLWarning getWarnings() throws SQLException
 313  3968
     { try { return _res.getWarnings(); } catch (SQLException e) { handleException(e); return null; } }
 314  
 
 315  
     public void clearWarnings() throws SQLException
 316  0
     { try { _res.clearWarnings(); } catch (SQLException e) { handleException(e); } }
 317  
 
 318  
     public String getCursorName() throws SQLException
 319  0
     { try { return _res.getCursorName(); } catch (SQLException e) { handleException(e); return null; } }
 320  
 
 321  
     public ResultSetMetaData getMetaData() throws SQLException
 322  0
     { try { return _res.getMetaData(); } catch (SQLException e) { handleException(e); return null; } }
 323  
 
 324  
     public Object getObject(int columnIndex) throws SQLException
 325  0
     { try { return _res.getObject(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 326  
 
 327  
     public Object getObject(String columnName) throws SQLException
 328  0
     { try { return _res.getObject(columnName); } catch (SQLException e) { handleException(e); return null; } }
 329  
 
 330  
     public int findColumn(String columnName) throws SQLException
 331  0
     { try { return _res.findColumn(columnName); } catch (SQLException e) { handleException(e); return 0; } }
 332  
 
 333  
     public Reader getCharacterStream(int columnIndex) throws SQLException
 334  0
     { try { return _res.getCharacterStream(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 335  
 
 336  
     public Reader getCharacterStream(String columnName) throws SQLException
 337  0
     { try { return _res.getCharacterStream(columnName); } catch (SQLException e) { handleException(e); return null; } }
 338  
 
 339  
     public BigDecimal getBigDecimal(int columnIndex) throws SQLException
 340  0
     { try { return _res.getBigDecimal(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 341  
 
 342  
     public BigDecimal getBigDecimal(String columnName) throws SQLException
 343  0
     { try { return _res.getBigDecimal(columnName); } catch (SQLException e) { handleException(e); return null; } }
 344  
 
 345  
     public boolean isBeforeFirst() throws SQLException
 346  0
     { try { return _res.isBeforeFirst(); } catch (SQLException e) { handleException(e); return false; } }
 347  
 
 348  
     public boolean isAfterLast() throws SQLException
 349  0
     { try { return _res.isAfterLast(); } catch (SQLException e) { handleException(e); return false; } }
 350  
 
 351  
     public boolean isFirst() throws SQLException
 352  0
     { try { return _res.isFirst(); } catch (SQLException e) { handleException(e); return false; } }
 353  
 
 354  
     public boolean isLast() throws SQLException
 355  0
     { try { return _res.isLast(); } catch (SQLException e) { handleException(e); return false; } }
 356  
 
 357  
     public void beforeFirst() throws SQLException
 358  0
     { try { _res.beforeFirst(); } catch (SQLException e) { handleException(e); } }
 359  
 
 360  
     public void afterLast() throws SQLException
 361  0
     { try { _res.afterLast(); } catch (SQLException e) { handleException(e); } }
 362  
 
 363  
     public boolean first() throws SQLException
 364  0
     { try { return _res.first(); } catch (SQLException e) { handleException(e); return false; } }
 365  
 
 366  
     public boolean last() throws SQLException
 367  0
     { try { return _res.last(); } catch (SQLException e) { handleException(e); return false; } }
 368  
 
 369  
     public int getRow() throws SQLException
 370  0
     { try { return _res.getRow(); } catch (SQLException e) { handleException(e); return 0; } }
 371  
 
 372  
     public boolean absolute(int row) throws SQLException
 373  0
     { try { return _res.absolute(row); } catch (SQLException e) { handleException(e); return false; } }
 374  
 
 375  
     public boolean relative(int rows) throws SQLException
 376  0
     { try { return _res.relative(rows); } catch (SQLException e) { handleException(e); return false; } }
 377  
 
 378  
     public boolean previous() throws SQLException
 379  0
     { try { return _res.previous(); } catch (SQLException e) { handleException(e); return false; } }
 380  
 
 381  
     public void setFetchDirection(int direction) throws SQLException
 382  0
     { try { _res.setFetchDirection(direction); } catch (SQLException e) { handleException(e); } }
 383  
 
 384  
     public int getFetchDirection() throws SQLException
 385  0
     { try { return _res.getFetchDirection(); } catch (SQLException e) { handleException(e); return 0; } }
 386  
 
 387  
     public void setFetchSize(int rows) throws SQLException
 388  0
     { try { _res.setFetchSize(rows); } catch (SQLException e) { handleException(e); } }
 389  
 
 390  
     public int getFetchSize() throws SQLException
 391  0
     { try { return _res.getFetchSize(); } catch (SQLException e) { handleException(e); return 0; } }
 392  
 
 393  
     public int getType() throws SQLException
 394  46
     { try { return _res.getType(); } catch (SQLException e) { handleException(e); return 0; } }
 395  
 
 396  
     public int getConcurrency() throws SQLException
 397  46
     { try { return _res.getConcurrency(); } catch (SQLException e) { handleException(e); return 0; } }
 398  
 
 399  
     public boolean rowUpdated() throws SQLException
 400  0
     { try { return _res.rowUpdated(); } catch (SQLException e) { handleException(e); return false; } }
 401  
 
 402  
     public boolean rowInserted() throws SQLException
 403  0
     { try { return _res.rowInserted(); } catch (SQLException e) { handleException(e); return false; } }
 404  
 
 405  
     public boolean rowDeleted() throws SQLException
 406  0
     { try { return _res.rowDeleted(); } catch (SQLException e) { handleException(e); return false; } }
 407  
 
 408  
     public void updateNull(int columnIndex) throws SQLException
 409  0
     { try { _res.updateNull(columnIndex); } catch (SQLException e) { handleException(e); } }
 410  
 
 411  
     public void updateBoolean(int columnIndex, boolean x) throws SQLException
 412  0
     { try { _res.updateBoolean(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 413  
 
 414  
     public void updateByte(int columnIndex, byte x) throws SQLException
 415  0
     { try { _res.updateByte(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 416  
 
 417  
     public void updateShort(int columnIndex, short x) throws SQLException
 418  0
     { try { _res.updateShort(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 419  
 
 420  
     public void updateInt(int columnIndex, int x) throws SQLException
 421  0
     { try { _res.updateInt(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 422  
 
 423  
     public void updateLong(int columnIndex, long x) throws SQLException
 424  0
     { try { _res.updateLong(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 425  
 
 426  
     public void updateFloat(int columnIndex, float x) throws SQLException
 427  0
     { try { _res.updateFloat(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 428  
 
 429  
     public void updateDouble(int columnIndex, double x) throws SQLException
 430  0
     { try { _res.updateDouble(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 431  
 
 432  
     public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
 433  0
     { try { _res.updateBigDecimal(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 434  
 
 435  
     public void updateString(int columnIndex, String x) throws SQLException
 436  0
     { try { _res.updateString(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 437  
 
 438  
     public void updateBytes(int columnIndex, byte[] x) throws SQLException
 439  0
     { try { _res.updateBytes(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 440  
 
 441  
     public void updateDate(int columnIndex, Date x) throws SQLException
 442  0
     { try { _res.updateDate(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 443  
 
 444  
     public void updateTime(int columnIndex, Time x) throws SQLException
 445  0
     { try { _res.updateTime(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 446  
 
 447  
     public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException
 448  0
     { try { _res.updateTimestamp(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 449  
 
 450  
     public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
 451  0
     { try { _res.updateAsciiStream(columnIndex, x, length); } catch (SQLException e) { handleException(e); } }
 452  
 
 453  
     public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException
 454  0
     { try { _res.updateBinaryStream(columnIndex, x, length); } catch (SQLException e) { handleException(e); } }
 455  
 
 456  
     public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException
 457  0
     { try { _res.updateCharacterStream(columnIndex, x, length); } catch (SQLException e) { handleException(e); } }
 458  
 
 459  
     public void updateObject(int columnIndex, Object x, int scale) throws SQLException
 460  0
     { try { _res.updateObject(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 461  
 
 462  
     public void updateObject(int columnIndex, Object x) throws SQLException
 463  0
     { try { _res.updateObject(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 464  
 
 465  
     public void updateNull(String columnName) throws SQLException
 466  0
     { try { _res.updateNull(columnName); } catch (SQLException e) { handleException(e); } }
 467  
 
 468  
     public void updateBoolean(String columnName, boolean x) throws SQLException
 469  0
     { try { _res.updateBoolean(columnName, x); } catch (SQLException e) { handleException(e); } }
 470  
 
 471  
     public void updateByte(String columnName, byte x) throws SQLException
 472  0
     { try { _res.updateByte(columnName, x); } catch (SQLException e) { handleException(e); } }
 473  
 
 474  
     public void updateShort(String columnName, short x) throws SQLException
 475  0
     { try { _res.updateShort(columnName, x); } catch (SQLException e) { handleException(e); } }
 476  
 
 477  
     public void updateInt(String columnName, int x) throws SQLException
 478  0
     { try { _res.updateInt(columnName, x); } catch (SQLException e) { handleException(e); } }
 479  
 
 480  
     public void updateLong(String columnName, long x) throws SQLException
 481  0
     { try { _res.updateLong(columnName, x); } catch (SQLException e) { handleException(e); } }
 482  
 
 483  
     public void updateFloat(String columnName, float x) throws SQLException
 484  0
     { try { _res.updateFloat(columnName, x); } catch (SQLException e) { handleException(e); } }
 485  
 
 486  
     public void updateDouble(String columnName, double x) throws SQLException
 487  0
     { try { _res.updateDouble(columnName, x); } catch (SQLException e) { handleException(e); } }
 488  
 
 489  
     public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
 490  0
     { try { _res.updateBigDecimal(columnName, x); } catch (SQLException e) { handleException(e); } }
 491  
 
 492  
     public void updateString(String columnName, String x) throws SQLException
 493  0
     { try { _res.updateString(columnName, x); } catch (SQLException e) { handleException(e); } }
 494  
 
 495  
     public void updateBytes(String columnName, byte[] x) throws SQLException
 496  0
     { try { _res.updateBytes(columnName, x); } catch (SQLException e) { handleException(e); } }
 497  
 
 498  
     public void updateDate(String columnName, Date x) throws SQLException
 499  0
     { try { _res.updateDate(columnName, x); } catch (SQLException e) { handleException(e); } }
 500  
 
 501  
     public void updateTime(String columnName, Time x) throws SQLException
 502  0
     { try { _res.updateTime(columnName, x); } catch (SQLException e) { handleException(e); } }
 503  
 
 504  
     public void updateTimestamp(String columnName, Timestamp x) throws SQLException
 505  0
     { try { _res.updateTimestamp(columnName, x); } catch (SQLException e) { handleException(e); } }
 506  
 
 507  
     public void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
 508  0
     { try { _res.updateAsciiStream(columnName, x, length); } catch (SQLException e) { handleException(e); } }
 509  
 
 510  
     public void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
 511  0
     { try { _res.updateBinaryStream(columnName, x, length); } catch (SQLException e) { handleException(e); } }
 512  
 
 513  
     public void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
 514  0
     { try { _res.updateCharacterStream(columnName, reader, length); } catch (SQLException e) { handleException(e); } }
 515  
 
 516  
     public void updateObject(String columnName, Object x, int scale) throws SQLException
 517  0
     { try { _res.updateObject(columnName, x); } catch (SQLException e) { handleException(e); } }
 518  
 
 519  
     public void updateObject(String columnName, Object x) throws SQLException
 520  0
     { try { _res.updateObject(columnName, x); } catch (SQLException e) { handleException(e); } }
 521  
 
 522  
     public void insertRow() throws SQLException
 523  0
     { try { _res.insertRow(); } catch (SQLException e) { handleException(e); } }
 524  
 
 525  
     public void updateRow() throws SQLException
 526  0
     { try { _res.updateRow(); } catch (SQLException e) { handleException(e); } }
 527  
 
 528  
     public void deleteRow() throws SQLException
 529  0
     { try { _res.deleteRow(); } catch (SQLException e) { handleException(e); } }
 530  
 
 531  
     public void refreshRow() throws SQLException
 532  0
     { try { _res.refreshRow(); } catch (SQLException e) { handleException(e); } }
 533  
 
 534  
     public void cancelRowUpdates() throws SQLException
 535  0
     { try { _res.cancelRowUpdates(); } catch (SQLException e) { handleException(e); } }
 536  
 
 537  
     public void moveToInsertRow() throws SQLException
 538  0
     { try { _res.moveToInsertRow(); } catch (SQLException e) { handleException(e); } }
 539  
 
 540  
     public void moveToCurrentRow() throws SQLException
 541  0
     { try { _res.moveToCurrentRow(); } catch (SQLException e) { handleException(e); } }
 542  
 
 543  
     public Object getObject(int i, Map map) throws SQLException
 544  0
     { try { return _res.getObject(i, map); } catch (SQLException e) { handleException(e); return null; } }
 545  
 
 546  
     public Ref getRef(int i) throws SQLException
 547  0
     { try { return _res.getRef(i); } catch (SQLException e) { handleException(e); return null; } }
 548  
 
 549  
     public Blob getBlob(int i) throws SQLException
 550  0
     { try { return _res.getBlob(i); } catch (SQLException e) { handleException(e); return null; } }
 551  
 
 552  
     public Clob getClob(int i) throws SQLException
 553  0
     { try { return _res.getClob(i); } catch (SQLException e) { handleException(e); return null; } }
 554  
 
 555  
     public Array getArray(int i) throws SQLException
 556  0
     { try { return _res.getArray(i); } catch (SQLException e) { handleException(e); return null; } }
 557  
 
 558  
     public Object getObject(String colName, Map map) throws SQLException
 559  0
     { try { return _res.getObject(colName, map); } catch (SQLException e) { handleException(e); return null; } }
 560  
 
 561  
     public Ref getRef(String colName) throws SQLException
 562  0
     { try { return _res.getRef(colName); } catch (SQLException e) { handleException(e); return null; } }
 563  
 
 564  
     public Blob getBlob(String colName) throws SQLException
 565  0
     { try { return _res.getBlob(colName); } catch (SQLException e) { handleException(e); return null; } }
 566  
 
 567  
     public Clob getClob(String colName) throws SQLException
 568  0
     { try { return _res.getClob(colName); } catch (SQLException e) { handleException(e); return null; } }
 569  
 
 570  
     public Array getArray(String colName) throws SQLException
 571  0
     { try { return _res.getArray(colName); } catch (SQLException e) { handleException(e); return null; } }
 572  
 
 573  
     public Date getDate(int columnIndex, Calendar cal) throws SQLException
 574  0
     { try { return _res.getDate(columnIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
 575  
 
 576  
     public Date getDate(String columnName, Calendar cal) throws SQLException
 577  0
     { try { return _res.getDate(columnName, cal); } catch (SQLException e) { handleException(e); return null; } }
 578  
 
 579  
     public Time getTime(int columnIndex, Calendar cal) throws SQLException
 580  0
     { try { return _res.getTime(columnIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
 581  
 
 582  
     public Time getTime(String columnName, Calendar cal) throws SQLException
 583  0
     { try { return _res.getTime(columnName, cal); } catch (SQLException e) { handleException(e); return null; } }
 584  
 
 585  
     public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
 586  0
     { try { return _res.getTimestamp(columnIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
 587  
 
 588  
     public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
 589  0
     { try { return _res.getTimestamp(columnName, cal); } catch (SQLException e) { handleException(e); return null; } }
 590  
 
 591  
 
 592  
     public java.net.URL getURL(int columnIndex) throws SQLException
 593  0
     { try { return _res.getURL(columnIndex); } catch (SQLException e) { handleException(e); return null; } }
 594  
 
 595  
     public java.net.URL getURL(String columnName) throws SQLException
 596  0
     { try { return _res.getURL(columnName); } catch (SQLException e) { handleException(e); return null; } }
 597  
 
 598  
     public void updateRef(int columnIndex, java.sql.Ref x) throws SQLException
 599  0
     { try { _res.updateRef(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 600  
 
 601  
     public void updateRef(String columnName, java.sql.Ref x) throws SQLException
 602  0
     { try { _res.updateRef(columnName, x); } catch (SQLException e) { handleException(e); } }
 603  
 
 604  
     public void updateBlob(int columnIndex, java.sql.Blob x) throws SQLException
 605  0
     { try { _res.updateBlob(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 606  
 
 607  
     public void updateBlob(String columnName, java.sql.Blob x) throws SQLException
 608  0
     { try { _res.updateBlob(columnName, x); } catch (SQLException e) { handleException(e); } }
 609  
 
 610  
     public void updateClob(int columnIndex, java.sql.Clob x) throws SQLException
 611  0
     { try { _res.updateClob(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 612  
 
 613  
     public void updateClob(String columnName, java.sql.Clob x) throws SQLException
 614  0
     { try { _res.updateClob(columnName, x); } catch (SQLException e) { handleException(e); } }
 615  
 
 616  
     public void updateArray(int columnIndex, java.sql.Array x) throws SQLException
 617  0
     { try { _res.updateArray(columnIndex, x); } catch (SQLException e) { handleException(e); } }
 618  
 
 619  
     public void updateArray(String columnName, java.sql.Array x) throws SQLException
 620  0
     { try { _res.updateArray(columnName, x); } catch (SQLException e) { handleException(e); } }
 621  
 
 622  
 /* JDBC_4_ANT_KEY_BEGIN */
 623  
 
 624  
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
 625  0
         return iface.isAssignableFrom(getClass()) || _res.isWrapperFor(iface);
 626  
     }
 627  
 
 628  
     public <T> T unwrap(Class<T> iface) throws SQLException {
 629  0
         if (iface.isAssignableFrom(getClass())) {
 630  0
             return iface.cast(this);
 631  0
         } else if (iface.isAssignableFrom(_res.getClass())) {
 632  0
             return iface.cast(_res);
 633  
         } else {
 634  0
             return _res.unwrap(iface);
 635  
         }
 636  
     }
 637  
 
 638  
     public RowId getRowId(int columnIndex) throws SQLException {
 639  
         try {
 640  0
             return _res.getRowId(columnIndex);
 641  
         }
 642  0
         catch (SQLException e) {
 643  0
             handleException(e);
 644  0
             return null;
 645  
         }
 646  
     }
 647  
 
 648  
     public RowId getRowId(String columnLabel) throws SQLException {
 649  
         try {
 650  0
             return _res.getRowId(columnLabel);
 651  
         }
 652  0
         catch (SQLException e) {
 653  0
             handleException(e);
 654  0
             return null;
 655  
         }
 656  
     }
 657  
 
 658  
     public void updateRowId(int columnIndex, RowId value) throws SQLException {
 659  
         try {
 660  0
             _res.updateRowId(columnIndex, value);
 661  
         }
 662  0
         catch (SQLException e) {
 663  0
             handleException(e);
 664  0
         }
 665  0
     }
 666  
 
 667  
     public void updateRowId(String columnLabel, RowId value) throws SQLException {
 668  
         try {
 669  0
             _res.updateRowId(columnLabel, value);
 670  
         }
 671  0
         catch (SQLException e) {
 672  0
             handleException(e);
 673  0
         }
 674  0
     }
 675  
 
 676  
     public int getHoldability() throws SQLException {
 677  
         try {
 678  0
             return _res.getHoldability();
 679  
         }
 680  0
         catch (SQLException e) {
 681  0
             handleException(e);
 682  0
             return 0;
 683  
         }
 684  
     }
 685  
 
 686  
     public boolean isClosed() throws SQLException {
 687  
         try {
 688  4
             return _res.isClosed();
 689  
         }
 690  0
         catch (SQLException e) {
 691  0
             handleException(e);
 692  0
             return false;
 693  
         }
 694  
     }
 695  
 
 696  
     public void updateNString(int columnIndex, String value) throws SQLException {
 697  
         try {
 698  0
             _res.updateNString(columnIndex, value);
 699  
         }
 700  0
         catch (SQLException e) {
 701  0
             handleException(e);
 702  0
         }
 703  0
     }
 704  
 
 705  
     public void updateNString(String columnLabel, String value) throws SQLException {
 706  
         try {
 707  0
             _res.updateNString(columnLabel, value);
 708  
         }
 709  0
         catch (SQLException e) {
 710  0
             handleException(e);
 711  0
         }
 712  0
     }
 713  
 
 714  
     public void updateNClob(int columnIndex, NClob value) throws SQLException {
 715  
         try {
 716  0
             _res.updateNClob(columnIndex, value);
 717  
         }
 718  0
         catch (SQLException e) {
 719  0
             handleException(e);
 720  0
         }
 721  0
     }
 722  
 
 723  
     public void updateNClob(String columnLabel, NClob value) throws SQLException {
 724  
         try {
 725  0
             _res.updateNClob(columnLabel, value);
 726  
         }
 727  0
         catch (SQLException e) {
 728  0
             handleException(e);
 729  0
         }
 730  0
     }
 731  
 
 732  
     public NClob getNClob(int columnIndex) throws SQLException {
 733  
         try {
 734  0
             return _res.getNClob(columnIndex);
 735  
         }
 736  0
         catch (SQLException e) {
 737  0
             handleException(e);
 738  0
             return null;
 739  
         }
 740  
     }
 741  
 
 742  
     public NClob getNClob(String columnLabel) throws SQLException {
 743  
         try {
 744  0
             return _res.getNClob(columnLabel);
 745  
         }
 746  0
         catch (SQLException e) {
 747  0
             handleException(e);
 748  0
             return null;
 749  
         }
 750  
     }
 751  
 
 752  
     public SQLXML getSQLXML(int columnIndex) throws SQLException {
 753  
         try {
 754  0
             return _res.getSQLXML(columnIndex);
 755  
         }
 756  0
         catch (SQLException e) {
 757  0
             handleException(e);
 758  0
             return null;
 759  
         }
 760  
     }
 761  
 
 762  
     public SQLXML getSQLXML(String columnLabel) throws SQLException {
 763  
         try {
 764  0
             return _res.getSQLXML(columnLabel);
 765  
         }
 766  0
         catch (SQLException e) {
 767  0
             handleException(e);
 768  0
             return null;
 769  
         }
 770  
     }
 771  
 
 772  
     public void updateSQLXML(int columnIndex, SQLXML value) throws SQLException {
 773  
         try {
 774  0
             _res.updateSQLXML(columnIndex, value);
 775  
         }
 776  0
         catch (SQLException e) {
 777  0
             handleException(e);
 778  0
         }
 779  0
     }
 780  
 
 781  
     public void updateSQLXML(String columnLabel, SQLXML value) throws SQLException {
 782  
         try {
 783  0
             _res.updateSQLXML(columnLabel, value);
 784  
         }
 785  0
         catch (SQLException e) {
 786  0
             handleException(e);
 787  0
         }
 788  0
     }
 789  
 
 790  
     public String getNString(int columnIndex) throws SQLException {
 791  
         try {
 792  0
             return _res.getNString(columnIndex);
 793  
         }
 794  0
         catch (SQLException e) {
 795  0
             handleException(e);
 796  0
             return null;
 797  
         }
 798  
     }
 799  
 
 800  
     public String getNString(String columnLabel) throws SQLException {
 801  
         try {
 802  0
             return _res.getNString(columnLabel);
 803  
         }
 804  0
         catch (SQLException e) {
 805  0
             handleException(e);
 806  0
             return null;
 807  
         }
 808  
     }
 809  
 
 810  
     public Reader getNCharacterStream(int columnIndex) throws SQLException {
 811  
         try {
 812  0
             return _res.getNCharacterStream(columnIndex);
 813  
         }
 814  0
         catch (SQLException e) {
 815  0
             handleException(e);
 816  0
             return null;
 817  
         }
 818  
     }
 819  
 
 820  
     public Reader getNCharacterStream(String columnLabel) throws SQLException {
 821  
         try {
 822  0
             return _res.getNCharacterStream(columnLabel);
 823  
         }
 824  0
         catch (SQLException e) {
 825  0
             handleException(e);
 826  0
             return null;
 827  
         }
 828  
     }
 829  
 
 830  
     public void updateNCharacterStream(int columnIndex, Reader reader, long length) throws SQLException {
 831  
         try {
 832  0
             _res.updateNCharacterStream(columnIndex, reader, length);
 833  
         }
 834  0
         catch (SQLException e) {
 835  0
             handleException(e);
 836  0
         }
 837  0
     }
 838  
 
 839  
     public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
 840  
         try {
 841  0
             _res.updateNCharacterStream(columnLabel, reader, length);
 842  
         }
 843  0
         catch (SQLException e) {
 844  0
             handleException(e);
 845  0
         }
 846  0
     }
 847  
 
 848  
     public void updateAsciiStream(int columnIndex, InputStream inputStream, long length) throws SQLException {
 849  
         try {
 850  0
             _res.updateAsciiStream(columnIndex, inputStream, length);
 851  
         }
 852  0
         catch (SQLException e) {
 853  0
             handleException(e);
 854  0
         }
 855  0
     }
 856  
 
 857  
     public void updateBinaryStream(int columnIndex, InputStream inputStream, long length) throws SQLException {
 858  
         try {
 859  0
             _res.updateBinaryStream(columnIndex, inputStream, length);
 860  
         }
 861  0
         catch (SQLException e) {
 862  0
             handleException(e);
 863  0
         }
 864  0
     }
 865  
 
 866  
     public void updateCharacterStream(int columnIndex, Reader reader, long length) throws SQLException {
 867  
         try {
 868  0
             _res.updateCharacterStream(columnIndex, reader, length);
 869  
         }
 870  0
         catch (SQLException e) {
 871  0
             handleException(e);
 872  0
         }
 873  0
     }
 874  
 
 875  
     public void updateAsciiStream(String columnLabel, InputStream inputStream, long length) throws SQLException {
 876  
         try {
 877  0
             _res.updateAsciiStream(columnLabel, inputStream, length);
 878  
         }
 879  0
         catch (SQLException e) {
 880  0
             handleException(e);
 881  0
         }
 882  0
     }
 883  
 
 884  
     public void updateBinaryStream(String columnLabel, InputStream inputStream, long length) throws SQLException {
 885  
         try {
 886  0
             _res.updateBinaryStream(columnLabel, inputStream, length);
 887  
         }
 888  0
         catch (SQLException e) {
 889  0
             handleException(e);
 890  0
         }
 891  0
     }
 892  
 
 893  
     public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
 894  
         try {
 895  0
             _res.updateCharacterStream(columnLabel, reader, length);
 896  
         }
 897  0
         catch (SQLException e) {
 898  0
             handleException(e);
 899  0
         }
 900  0
     }
 901  
 
 902  
     public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
 903  
         try {
 904  0
             _res.updateBlob(columnIndex, inputStream, length);
 905  
         }
 906  0
         catch (SQLException e) {
 907  0
             handleException(e);
 908  0
         }
 909  0
     }
 910  
 
 911  
     public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
 912  
         try {
 913  0
             _res.updateBlob(columnLabel, inputStream, length);
 914  
         }
 915  0
         catch (SQLException e) {
 916  0
             handleException(e);
 917  0
         }
 918  0
     }
 919  
 
 920  
     public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
 921  
         try {
 922  0
             _res.updateClob(columnIndex, reader, length);
 923  
         }
 924  0
         catch (SQLException e) {
 925  0
             handleException(e);
 926  0
         }
 927  0
     }
 928  
 
 929  
     public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
 930  
         try {
 931  0
             _res.updateClob(columnLabel, reader, length);
 932  
         }
 933  0
         catch (SQLException e) {
 934  0
             handleException(e);
 935  0
         }
 936  0
     }
 937  
 
 938  
     public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
 939  
         try {
 940  0
             _res.updateNClob(columnIndex, reader, length);
 941  
         }
 942  0
         catch (SQLException e) {
 943  0
             handleException(e);
 944  0
         }
 945  0
     }
 946  
 
 947  
     public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
 948  
         try {
 949  0
             _res.updateNClob(columnLabel, reader, length);
 950  
         }
 951  0
         catch (SQLException e) {
 952  0
             handleException(e);
 953  0
         }
 954  0
     }
 955  
 
 956  
     public void updateNCharacterStream(int columnIndex, Reader reader) throws SQLException {
 957  
         try {
 958  0
             _res.updateNCharacterStream(columnIndex, reader);
 959  
         }
 960  0
         catch (SQLException e) {
 961  0
             handleException(e);
 962  0
         }
 963  0
     }
 964  
 
 965  
     public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
 966  
         try {
 967  0
             _res.updateNCharacterStream(columnLabel, reader);
 968  
         }
 969  0
         catch (SQLException e) {
 970  0
             handleException(e);
 971  0
         }
 972  0
     }
 973  
 
 974  
     public void updateAsciiStream(int columnIndex, InputStream inputStream) throws SQLException {
 975  
         try {
 976  0
             _res.updateAsciiStream(columnIndex, inputStream);
 977  
         }
 978  0
         catch (SQLException e) {
 979  0
             handleException(e);
 980  0
         }
 981  0
     }
 982  
 
 983  
     public void updateBinaryStream(int columnIndex, InputStream inputStream) throws SQLException {
 984  
         try {
 985  0
             _res.updateBinaryStream(columnIndex, inputStream);
 986  
         }
 987  0
         catch (SQLException e) {
 988  0
             handleException(e);
 989  0
         }
 990  0
     }
 991  
 
 992  
     public void updateCharacterStream(int columnIndex, Reader reader) throws SQLException {
 993  
         try {
 994  0
             _res.updateCharacterStream(columnIndex, reader);
 995  
         }
 996  0
         catch (SQLException e) {
 997  0
             handleException(e);
 998  0
         }
 999  0
     }
 1000  
 
 1001  
     public void updateAsciiStream(String columnLabel, InputStream inputStream) throws SQLException {
 1002  
         try {
 1003  0
             _res.updateAsciiStream(columnLabel, inputStream);
 1004  
         }
 1005  0
         catch (SQLException e) {
 1006  0
             handleException(e);
 1007  0
         }
 1008  0
     }
 1009  
 
 1010  
     public void updateBinaryStream(String columnLabel, InputStream inputStream) throws SQLException {
 1011  
         try {
 1012  0
             _res.updateBinaryStream(columnLabel, inputStream);
 1013  
         }
 1014  0
         catch (SQLException e) {
 1015  0
             handleException(e);
 1016  0
         }
 1017  0
     }
 1018  
 
 1019  
     public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
 1020  
         try {
 1021  0
             _res.updateCharacterStream(columnLabel, reader);
 1022  
         }
 1023  0
         catch (SQLException e) {
 1024  0
             handleException(e);
 1025  0
         }
 1026  0
     }
 1027  
 
 1028  
     public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
 1029  
         try {
 1030  0
             _res.updateBlob(columnIndex, inputStream);
 1031  
         }
 1032  0
         catch (SQLException e) {
 1033  0
             handleException(e);
 1034  0
         }
 1035  0
     }
 1036  
 
 1037  
     public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
 1038  
         try {
 1039  0
             _res.updateBlob(columnLabel, inputStream);
 1040  
         }
 1041  0
         catch (SQLException e) {
 1042  0
             handleException(e);
 1043  0
         }
 1044  0
     }
 1045  
 
 1046  
     public void updateClob(int columnIndex, Reader reader) throws SQLException {
 1047  
         try {
 1048  0
             _res.updateClob(columnIndex, reader);
 1049  
         }
 1050  0
         catch (SQLException e) {
 1051  0
             handleException(e);
 1052  0
         }
 1053  0
     }
 1054  
 
 1055  
     public void updateClob(String columnLabel, Reader reader) throws SQLException {
 1056  
         try {
 1057  0
             _res.updateClob(columnLabel, reader);
 1058  
         }
 1059  0
         catch (SQLException e) {
 1060  0
             handleException(e);
 1061  0
         }
 1062  0
     }
 1063  
 
 1064  
     public void updateNClob(int columnIndex, Reader reader) throws SQLException {
 1065  
         try {
 1066  0
             _res.updateNClob(columnIndex, reader);
 1067  
         }
 1068  0
         catch (SQLException e) {
 1069  0
             handleException(e);
 1070  0
         }
 1071  0
     }
 1072  
 
 1073  
     public void updateNClob(String columnLabel, Reader reader) throws SQLException {
 1074  
         try {
 1075  0
             _res.updateNClob(columnLabel, reader);
 1076  
         }
 1077  0
         catch (SQLException e) {
 1078  0
             handleException(e);
 1079  0
         }
 1080  0
     }
 1081  
 /* JDBC_4_ANT_KEY_END */
 1082  
 }