View Javadoc
1   package org.davidmoten.rx.jdbc.pool.internal;
2   
3   import java.io.InputStream;
4   import java.io.Reader;
5   import java.math.BigDecimal;
6   import java.net.URL;
7   import java.sql.Array;
8   import java.sql.Blob;
9   import java.sql.CallableStatement;
10  import java.sql.Clob;
11  import java.sql.Connection;
12  import java.sql.Date;
13  import java.sql.NClob;
14  import java.sql.ParameterMetaData;
15  import java.sql.Ref;
16  import java.sql.ResultSet;
17  import java.sql.ResultSetMetaData;
18  import java.sql.RowId;
19  import java.sql.SQLException;
20  import java.sql.SQLWarning;
21  import java.sql.SQLXML;
22  import java.sql.Time;
23  import java.sql.Timestamp;
24  import java.util.Calendar;
25  import java.util.Map;
26  
27  public final class ConnectionNonBlockingMemberCallableStatement implements CallableStatement {
28  
29      private final CallableStatement stmt;
30      private final Connection con;
31  
32      public ConnectionNonBlockingMemberCallableStatement(CallableStatement stmt,
33              Connection connection) {
34          this.stmt = stmt;
35          this.con = connection;
36      }
37  
38      @Override
39      public <T> T unwrap(Class<T> iface) throws SQLException {
40          return stmt.unwrap(iface);
41      }
42  
43      @Override
44      public ResultSet executeQuery(String sql) throws SQLException {
45          return stmt.executeQuery(sql);
46      }
47  
48      @Override
49      public ResultSet executeQuery() throws SQLException {
50          return stmt.executeQuery();
51      }
52  
53      @Override
54      public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException {
55          stmt.registerOutParameter(parameterIndex, sqlType);
56      }
57  
58      @Override
59      public boolean isWrapperFor(Class<?> iface) throws SQLException {
60          return stmt.isWrapperFor(iface);
61      }
62  
63      @Override
64      public int executeUpdate(String sql) throws SQLException {
65          return stmt.executeUpdate(sql);
66      }
67  
68      @Override
69      public int executeUpdate() throws SQLException {
70          return stmt.executeUpdate();
71      }
72  
73      @Override
74      public void setNull(int parameterIndex, int sqlType) throws SQLException {
75          stmt.setNull(parameterIndex, sqlType);
76      }
77  
78      @Override
79      public void close() throws SQLException {
80          stmt.close();
81      }
82  
83      @Override
84      public void registerOutParameter(int parameterIndex, int sqlType, int scale)
85              throws SQLException {
86          stmt.registerOutParameter(parameterIndex, sqlType, scale);
87      }
88  
89      @Override
90      public int getMaxFieldSize() throws SQLException {
91          return stmt.getMaxFieldSize();
92      }
93  
94      @Override
95      public void setBoolean(int parameterIndex, boolean x) throws SQLException {
96          stmt.setBoolean(parameterIndex, x);
97      }
98  
99      @Override
100     public void setByte(int parameterIndex, byte x) throws SQLException {
101         stmt.setByte(parameterIndex, x);
102     }
103 
104     @Override
105     public void setMaxFieldSize(int max) throws SQLException {
106         stmt.setMaxFieldSize(max);
107     }
108 
109     @Override
110     public boolean wasNull() throws SQLException {
111         return stmt.wasNull();
112     }
113 
114     @Override
115     public void setShort(int parameterIndex, short x) throws SQLException {
116         stmt.setShort(parameterIndex, x);
117     }
118 
119     @Override
120     public String getString(int parameterIndex) throws SQLException {
121         return stmt.getString(parameterIndex);
122     }
123 
124     @Override
125     public int getMaxRows() throws SQLException {
126         return stmt.getMaxRows();
127     }
128 
129     @Override
130     public void setInt(int parameterIndex, int x) throws SQLException {
131         stmt.setInt(parameterIndex, x);
132     }
133 
134     @Override
135     public void setMaxRows(int max) throws SQLException {
136         stmt.setMaxRows(max);
137     }
138 
139     @Override
140     public void setLong(int parameterIndex, long x) throws SQLException {
141         stmt.setLong(parameterIndex, x);
142     }
143 
144     @Override
145     public boolean getBoolean(int parameterIndex) throws SQLException {
146         return stmt.getBoolean(parameterIndex);
147     }
148 
149     @Override
150     public void setFloat(int parameterIndex, float x) throws SQLException {
151         stmt.setFloat(parameterIndex, x);
152     }
153 
154     @Override
155     public void setEscapeProcessing(boolean enable) throws SQLException {
156         stmt.setEscapeProcessing(enable);
157     }
158 
159     @Override
160     public byte getByte(int parameterIndex) throws SQLException {
161         return stmt.getByte(parameterIndex);
162     }
163 
164     @Override
165     public void setDouble(int parameterIndex, double x) throws SQLException {
166         stmt.setDouble(parameterIndex, x);
167     }
168 
169     @Override
170     public short getShort(int parameterIndex) throws SQLException {
171         return stmt.getShort(parameterIndex);
172     }
173 
174     @Override
175     public int getQueryTimeout() throws SQLException {
176         return stmt.getQueryTimeout();
177     }
178 
179     @Override
180     public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
181         stmt.setBigDecimal(parameterIndex, x);
182     }
183 
184     @Override
185     public int getInt(int parameterIndex) throws SQLException {
186         return stmt.getInt(parameterIndex);
187     }
188 
189     @Override
190     public void setQueryTimeout(int seconds) throws SQLException {
191         stmt.setQueryTimeout(seconds);
192     }
193 
194     @Override
195     public void setString(int parameterIndex, String x) throws SQLException {
196         stmt.setString(parameterIndex, x);
197     }
198 
199     @Override
200     public long getLong(int parameterIndex) throws SQLException {
201         return stmt.getLong(parameterIndex);
202     }
203 
204     @Override
205     public void setBytes(int parameterIndex, byte[] x) throws SQLException {
206         stmt.setBytes(parameterIndex, x);
207     }
208 
209     @Override
210     public float getFloat(int parameterIndex) throws SQLException {
211         return stmt.getFloat(parameterIndex);
212     }
213 
214     @Override
215     public void cancel() throws SQLException {
216         stmt.cancel();
217     }
218 
219     @Override
220     public double getDouble(int parameterIndex) throws SQLException {
221         return stmt.getDouble(parameterIndex);
222     }
223 
224     @Override
225     public void setDate(int parameterIndex, Date x) throws SQLException {
226         stmt.setDate(parameterIndex, x);
227     }
228 
229     @Override
230     public SQLWarning getWarnings() throws SQLException {
231         return stmt.getWarnings();
232     }
233 
234     @Override
235     @Deprecated
236     public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException {
237         return stmt.getBigDecimal(parameterIndex, scale);
238     }
239 
240     @Override
241     public void setTime(int parameterIndex, Time x) throws SQLException {
242         stmt.setTime(parameterIndex, x);
243     }
244 
245     @Override
246     public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
247         stmt.setTimestamp(parameterIndex, x);
248     }
249 
250     @Override
251     public void clearWarnings() throws SQLException {
252         stmt.clearWarnings();
253     }
254 
255     @Override
256     public byte[] getBytes(int parameterIndex) throws SQLException {
257         return stmt.getBytes(parameterIndex);
258     }
259 
260     @Override
261     public void setCursorName(String name) throws SQLException {
262         stmt.setCursorName(name);
263     }
264 
265     @Override
266     public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
267         stmt.setAsciiStream(parameterIndex, x, length);
268     }
269 
270     @Override
271     public Date getDate(int parameterIndex) throws SQLException {
272         return stmt.getDate(parameterIndex);
273     }
274 
275     @Override
276     public Time getTime(int parameterIndex) throws SQLException {
277         return stmt.getTime(parameterIndex);
278     }
279 
280     @Override
281     @Deprecated
282     public void setUnicodeStream(int parameterIndex, InputStream x, int length)
283             throws SQLException {
284         stmt.setUnicodeStream(parameterIndex, x, length);
285     }
286 
287     @Override
288     public boolean execute(String sql) throws SQLException {
289         return stmt.execute(sql);
290     }
291 
292     @Override
293     public Timestamp getTimestamp(int parameterIndex) throws SQLException {
294         return stmt.getTimestamp(parameterIndex);
295     }
296 
297     @Override
298     public Object getObject(int parameterIndex) throws SQLException {
299         return stmt.getObject(parameterIndex);
300     }
301 
302     @Override
303     public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
304         stmt.setBinaryStream(parameterIndex, x, length);
305     }
306 
307     @Override
308     public ResultSet getResultSet() throws SQLException {
309         return stmt.getResultSet();
310     }
311 
312     @Override
313     public BigDecimal getBigDecimal(int parameterIndex) throws SQLException {
314         return stmt.getBigDecimal(parameterIndex);
315     }
316 
317     @Override
318     public int getUpdateCount() throws SQLException {
319         return stmt.getUpdateCount();
320     }
321 
322     @Override
323     public void clearParameters() throws SQLException {
324         stmt.clearParameters();
325     }
326 
327     @Override
328     public Object getObject(int parameterIndex, Map<String, Class<?>> map) throws SQLException {
329         return stmt.getObject(parameterIndex, map);
330     }
331 
332     @Override
333     public boolean getMoreResults() throws SQLException {
334         return stmt.getMoreResults();
335     }
336 
337     @Override
338     public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
339         stmt.setObject(parameterIndex, x, targetSqlType);
340     }
341 
342     @Override
343     public void setFetchDirection(int direction) throws SQLException {
344         stmt.setFetchDirection(direction);
345     }
346 
347     @Override
348     public Ref getRef(int parameterIndex) throws SQLException {
349         return stmt.getRef(parameterIndex);
350     }
351 
352     @Override
353     public void setObject(int parameterIndex, Object x) throws SQLException {
354         stmt.setObject(parameterIndex, x);
355     }
356 
357     @Override
358     public int getFetchDirection() throws SQLException {
359         return stmt.getFetchDirection();
360     }
361 
362     @Override
363     public Blob getBlob(int parameterIndex) throws SQLException {
364         return stmt.getBlob(parameterIndex);
365     }
366 
367     @Override
368     public void setFetchSize(int rows) throws SQLException {
369         stmt.setFetchSize(rows);
370     }
371 
372     @Override
373     public Clob getClob(int parameterIndex) throws SQLException {
374         return stmt.getClob(parameterIndex);
375     }
376 
377     @Override
378     public int getFetchSize() throws SQLException {
379         return stmt.getFetchSize();
380     }
381 
382     @Override
383     public boolean execute() throws SQLException {
384         return stmt.execute();
385     }
386 
387     @Override
388     public Array getArray(int parameterIndex) throws SQLException {
389         return stmt.getArray(parameterIndex);
390     }
391 
392     @Override
393     public int getResultSetConcurrency() throws SQLException {
394         return stmt.getResultSetConcurrency();
395     }
396 
397     @Override
398     public Date getDate(int parameterIndex, Calendar cal) throws SQLException {
399         return stmt.getDate(parameterIndex, cal);
400     }
401 
402     @Override
403     public int getResultSetType() throws SQLException {
404         return stmt.getResultSetType();
405     }
406 
407     @Override
408     public void addBatch(String sql) throws SQLException {
409         stmt.addBatch(sql);
410     }
411 
412     @Override
413     public void addBatch() throws SQLException {
414         stmt.addBatch();
415     }
416 
417     @Override
418     public void setCharacterStream(int parameterIndex, Reader reader, int length)
419             throws SQLException {
420         stmt.setCharacterStream(parameterIndex, reader, length);
421     }
422 
423     @Override
424     public Time getTime(int parameterIndex, Calendar cal) throws SQLException {
425         return stmt.getTime(parameterIndex, cal);
426     }
427 
428     @Override
429     public void clearBatch() throws SQLException {
430         stmt.clearBatch();
431     }
432 
433     @Override
434     public int[] executeBatch() throws SQLException {
435         return stmt.executeBatch();
436     }
437 
438     @Override
439     public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException {
440         return stmt.getTimestamp(parameterIndex, cal);
441     }
442 
443     @Override
444     public void setRef(int parameterIndex, Ref x) throws SQLException {
445         stmt.setRef(parameterIndex, x);
446     }
447 
448     @Override
449     public void setBlob(int parameterIndex, Blob x) throws SQLException {
450         stmt.setBlob(parameterIndex, x);
451     }
452 
453     @Override
454     public void registerOutParameter(int parameterIndex, int sqlType, String typeName)
455             throws SQLException {
456         stmt.registerOutParameter(parameterIndex, sqlType, typeName);
457     }
458 
459     @Override
460     public void setClob(int parameterIndex, Clob x) throws SQLException {
461         stmt.setClob(parameterIndex, x);
462     }
463 
464     @Override
465     public void setArray(int parameterIndex, Array x) throws SQLException {
466         stmt.setArray(parameterIndex, x);
467     }
468 
469     @Override
470     public Connection getConnection() throws SQLException {
471         // overriden so can return a connection that when close is called only returns
472         // the connection to the pool
473         return con;
474     }
475 
476     @Override
477     public ResultSetMetaData getMetaData() throws SQLException {
478         return stmt.getMetaData();
479     }
480 
481     @Override
482     public void registerOutParameter(String parameterName, int sqlType) throws SQLException {
483         stmt.registerOutParameter(parameterName, sqlType);
484     }
485 
486     @Override
487     public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
488         stmt.setDate(parameterIndex, x, cal);
489     }
490 
491     @Override
492     public boolean getMoreResults(int current) throws SQLException {
493         return stmt.getMoreResults(current);
494     }
495 
496     @Override
497     public void registerOutParameter(String parameterName, int sqlType, int scale)
498             throws SQLException {
499         stmt.registerOutParameter(parameterName, sqlType, scale);
500     }
501 
502     @Override
503     public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
504         stmt.setTime(parameterIndex, x, cal);
505     }
506 
507     @Override
508     public ResultSet getGeneratedKeys() throws SQLException {
509         return stmt.getGeneratedKeys();
510     }
511 
512     @Override
513     public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
514         stmt.setTimestamp(parameterIndex, x, cal);
515     }
516 
517     @Override
518     public void registerOutParameter(String parameterName, int sqlType, String typeName)
519             throws SQLException {
520         stmt.registerOutParameter(parameterName, sqlType, typeName);
521     }
522 
523     @Override
524     public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
525         return stmt.executeUpdate(sql, autoGeneratedKeys);
526     }
527 
528     @Override
529     public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
530         stmt.setNull(parameterIndex, sqlType, typeName);
531     }
532 
533     @Override
534     public URL getURL(int parameterIndex) throws SQLException {
535         return stmt.getURL(parameterIndex);
536     }
537 
538     @Override
539     public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
540         return stmt.executeUpdate(sql, columnIndexes);
541     }
542 
543     @Override
544     public void setURL(int parameterIndex, URL x) throws SQLException {
545         stmt.setURL(parameterIndex, x);
546     }
547 
548     @Override
549     public void setURL(String parameterName, URL val) throws SQLException {
550         stmt.setURL(parameterName, val);
551     }
552 
553     @Override
554     public ParameterMetaData getParameterMetaData() throws SQLException {
555         return stmt.getParameterMetaData();
556     }
557 
558     @Override
559     public void setNull(String parameterName, int sqlType) throws SQLException {
560         stmt.setNull(parameterName, sqlType);
561     }
562 
563     @Override
564     public void setRowId(int parameterIndex, RowId x) throws SQLException {
565         stmt.setRowId(parameterIndex, x);
566     }
567 
568     @Override
569     public int executeUpdate(String sql, String[] columnNames) throws SQLException {
570         return stmt.executeUpdate(sql, columnNames);
571     }
572 
573     @Override
574     public void setBoolean(String parameterName, boolean x) throws SQLException {
575         stmt.setBoolean(parameterName, x);
576     }
577 
578     @Override
579     public void setNString(int parameterIndex, String value) throws SQLException {
580         stmt.setNString(parameterIndex, value);
581     }
582 
583     @Override
584     public void setByte(String parameterName, byte x) throws SQLException {
585         stmt.setByte(parameterName, x);
586     }
587 
588     @Override
589     public void setShort(String parameterName, short x) throws SQLException {
590         stmt.setShort(parameterName, x);
591     }
592 
593     @Override
594     public void setNCharacterStream(int parameterIndex, Reader value, long length)
595             throws SQLException {
596         stmt.setNCharacterStream(parameterIndex, value, length);
597     }
598 
599     @Override
600     public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
601         return stmt.execute(sql, autoGeneratedKeys);
602     }
603 
604     @Override
605     public void setInt(String parameterName, int x) throws SQLException {
606         stmt.setInt(parameterName, x);
607     }
608 
609     @Override
610     public void setNClob(int parameterIndex, NClob value) throws SQLException {
611         stmt.setNClob(parameterIndex, value);
612     }
613 
614     @Override
615     public void setLong(String parameterName, long x) throws SQLException {
616         stmt.setLong(parameterName, x);
617     }
618 
619     @Override
620     public void setFloat(String parameterName, float x) throws SQLException {
621         stmt.setFloat(parameterName, x);
622     }
623 
624     @Override
625     public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
626         stmt.setClob(parameterIndex, reader, length);
627     }
628 
629     @Override
630     public void setDouble(String parameterName, double x) throws SQLException {
631         stmt.setDouble(parameterName, x);
632     }
633 
634     @Override
635     public boolean execute(String sql, int[] columnIndexes) throws SQLException {
636         return stmt.execute(sql, columnIndexes);
637     }
638 
639     @Override
640     public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException {
641         stmt.setBigDecimal(parameterName, x);
642     }
643 
644     @Override
645     public void setBlob(int parameterIndex, InputStream inputStream, long length)
646             throws SQLException {
647         stmt.setBlob(parameterIndex, inputStream, length);
648     }
649 
650     @Override
651     public void setString(String parameterName, String x) throws SQLException {
652         stmt.setString(parameterName, x);
653     }
654 
655     @Override
656     public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
657         stmt.setNClob(parameterIndex, reader, length);
658     }
659 
660     @Override
661     public void setBytes(String parameterName, byte[] x) throws SQLException {
662         stmt.setBytes(parameterName, x);
663     }
664 
665     @Override
666     public void setDate(String parameterName, Date x) throws SQLException {
667         stmt.setDate(parameterName, x);
668     }
669 
670     @Override
671     public boolean execute(String sql, String[] columnNames) throws SQLException {
672         return stmt.execute(sql, columnNames);
673     }
674 
675     @Override
676     public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
677         stmt.setSQLXML(parameterIndex, xmlObject);
678     }
679 
680     @Override
681     public void setTime(String parameterName, Time x) throws SQLException {
682         stmt.setTime(parameterName, x);
683     }
684 
685     @Override
686     public void setTimestamp(String parameterName, Timestamp x) throws SQLException {
687         stmt.setTimestamp(parameterName, x);
688     }
689 
690     @Override
691     public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
692             throws SQLException {
693         stmt.setObject(parameterIndex, x, targetSqlType, scaleOrLength);
694     }
695 
696     @Override
697     public void setAsciiStream(String parameterName, InputStream x, int length)
698             throws SQLException {
699         stmt.setAsciiStream(parameterName, x, length);
700     }
701 
702     @Override
703     public int getResultSetHoldability() throws SQLException {
704         return stmt.getResultSetHoldability();
705     }
706 
707     @Override
708     public boolean isClosed() throws SQLException {
709         return stmt.isClosed();
710     }
711 
712     @Override
713     public void setBinaryStream(String parameterName, InputStream x, int length)
714             throws SQLException {
715         stmt.setBinaryStream(parameterName, x, length);
716     }
717 
718     @Override
719     public void setPoolable(boolean poolable) throws SQLException {
720         stmt.setPoolable(poolable);
721     }
722 
723     @Override
724     public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
725         stmt.setAsciiStream(parameterIndex, x, length);
726     }
727 
728     @Override
729     public void setObject(String parameterName, Object x, int targetSqlType, int scale)
730             throws SQLException {
731         stmt.setObject(parameterName, x, targetSqlType, scale);
732     }
733 
734     @Override
735     public boolean isPoolable() throws SQLException {
736         return stmt.isPoolable();
737     }
738 
739     @Override
740     public void closeOnCompletion() throws SQLException {
741         stmt.closeOnCompletion();
742     }
743 
744     @Override
745     public void setBinaryStream(int parameterIndex, InputStream x, long length)
746             throws SQLException {
747         stmt.setBinaryStream(parameterIndex, x, length);
748     }
749 
750     @Override
751     public boolean isCloseOnCompletion() throws SQLException {
752         return stmt.isCloseOnCompletion();
753     }
754 
755     @Override
756     public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException {
757         stmt.setObject(parameterName, x, targetSqlType);
758     }
759 
760     @Override
761     public void setCharacterStream(int parameterIndex, Reader reader, long length)
762             throws SQLException {
763         stmt.setCharacterStream(parameterIndex, reader, length);
764     }
765 
766     @Override
767     public void setObject(String parameterName, Object x) throws SQLException {
768         stmt.setObject(parameterName, x);
769     }
770 
771     @Override
772     public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
773         stmt.setAsciiStream(parameterIndex, x);
774     }
775 
776     @Override
777     public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
778         stmt.setBinaryStream(parameterIndex, x);
779     }
780 
781     @Override
782     public void setCharacterStream(String parameterName, Reader reader, int length)
783             throws SQLException {
784         stmt.setCharacterStream(parameterName, reader, length);
785     }
786 
787     @Override
788     public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
789         stmt.setCharacterStream(parameterIndex, reader);
790     }
791 
792     @Override
793     public void setDate(String parameterName, Date x, Calendar cal) throws SQLException {
794         stmt.setDate(parameterName, x, cal);
795     }
796 
797     @Override
798     public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
799         stmt.setNCharacterStream(parameterIndex, value);
800     }
801 
802     @Override
803     public void setTime(String parameterName, Time x, Calendar cal) throws SQLException {
804         stmt.setTime(parameterName, x, cal);
805     }
806 
807     @Override
808     public void setClob(int parameterIndex, Reader reader) throws SQLException {
809         stmt.setClob(parameterIndex, reader);
810     }
811 
812     @Override
813     public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException {
814         stmt.setTimestamp(parameterName, x, cal);
815     }
816 
817     @Override
818     public void setNull(String parameterName, int sqlType, String typeName) throws SQLException {
819         stmt.setNull(parameterName, sqlType, typeName);
820     }
821 
822     @Override
823     public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
824         stmt.setBlob(parameterIndex, inputStream);
825     }
826 
827     @Override
828     public void setNClob(int parameterIndex, Reader reader) throws SQLException {
829         stmt.setNClob(parameterIndex, reader);
830     }
831 
832     @Override
833     public String getString(String parameterName) throws SQLException {
834         return stmt.getString(parameterName);
835     }
836 
837     @Override
838     public boolean getBoolean(String parameterName) throws SQLException {
839         return stmt.getBoolean(parameterName);
840     }
841 
842     @Override
843     public byte getByte(String parameterName) throws SQLException {
844         return stmt.getByte(parameterName);
845     }
846 
847     @Override
848     public short getShort(String parameterName) throws SQLException {
849         return stmt.getShort(parameterName);
850     }
851 
852     @Override
853     public int getInt(String parameterName) throws SQLException {
854         return stmt.getInt(parameterName);
855     }
856 
857     @Override
858     public long getLong(String parameterName) throws SQLException {
859         return stmt.getLong(parameterName);
860     }
861 
862     @Override
863     public float getFloat(String parameterName) throws SQLException {
864         return stmt.getFloat(parameterName);
865     }
866 
867     @Override
868     public double getDouble(String parameterName) throws SQLException {
869         return stmt.getDouble(parameterName);
870     }
871 
872     @Override
873     public byte[] getBytes(String parameterName) throws SQLException {
874         return stmt.getBytes(parameterName);
875     }
876 
877     @Override
878     public Date getDate(String parameterName) throws SQLException {
879         return stmt.getDate(parameterName);
880     }
881 
882     @Override
883     public Time getTime(String parameterName) throws SQLException {
884         return stmt.getTime(parameterName);
885     }
886 
887     @Override
888     public Timestamp getTimestamp(String parameterName) throws SQLException {
889         return stmt.getTimestamp(parameterName);
890     }
891 
892     @Override
893     public Object getObject(String parameterName) throws SQLException {
894         return stmt.getObject(parameterName);
895     }
896 
897     @Override
898     public BigDecimal getBigDecimal(String parameterName) throws SQLException {
899         return stmt.getBigDecimal(parameterName);
900     }
901 
902     @Override
903     public Object getObject(String parameterName, Map<String, Class<?>> map) throws SQLException {
904         return stmt.getObject(parameterName, map);
905     }
906 
907     @Override
908     public Ref getRef(String parameterName) throws SQLException {
909         return stmt.getRef(parameterName);
910     }
911 
912     @Override
913     public Blob getBlob(String parameterName) throws SQLException {
914         return stmt.getBlob(parameterName);
915     }
916 
917     @Override
918     public Clob getClob(String parameterName) throws SQLException {
919         return stmt.getClob(parameterName);
920     }
921 
922     @Override
923     public Array getArray(String parameterName) throws SQLException {
924         return stmt.getArray(parameterName);
925     }
926 
927     @Override
928     public Date getDate(String parameterName, Calendar cal) throws SQLException {
929         return stmt.getDate(parameterName, cal);
930     }
931 
932     @Override
933     public Time getTime(String parameterName, Calendar cal) throws SQLException {
934         return stmt.getTime(parameterName, cal);
935     }
936 
937     @Override
938     public Timestamp getTimestamp(String parameterName, Calendar cal) throws SQLException {
939         return stmt.getTimestamp(parameterName, cal);
940     }
941 
942     @Override
943     public URL getURL(String parameterName) throws SQLException {
944         return stmt.getURL(parameterName);
945     }
946 
947     @Override
948     public RowId getRowId(int parameterIndex) throws SQLException {
949         return stmt.getRowId(parameterIndex);
950     }
951 
952     @Override
953     public RowId getRowId(String parameterName) throws SQLException {
954         return stmt.getRowId(parameterName);
955     }
956 
957     @Override
958     public void setRowId(String parameterName, RowId x) throws SQLException {
959         stmt.setRowId(parameterName, x);
960     }
961 
962     @Override
963     public void setNString(String parameterName, String value) throws SQLException {
964         stmt.setNString(parameterName, value);
965     }
966 
967     @Override
968     public void setNCharacterStream(String parameterName, Reader value, long length)
969             throws SQLException {
970         stmt.setNCharacterStream(parameterName, value, length);
971     }
972 
973     @Override
974     public void setNClob(String parameterName, NClob value) throws SQLException {
975         stmt.setNClob(parameterName, value);
976     }
977 
978     @Override
979     public void setClob(String parameterName, Reader reader, long length) throws SQLException {
980         stmt.setClob(parameterName, reader, length);
981     }
982 
983     @Override
984     public void setBlob(String parameterName, InputStream inputStream, long length)
985             throws SQLException {
986         stmt.setBlob(parameterName, inputStream, length);
987     }
988 
989     @Override
990     public void setNClob(String parameterName, Reader reader, long length) throws SQLException {
991         stmt.setNClob(parameterName, reader, length);
992     }
993 
994     @Override
995     public NClob getNClob(int parameterIndex) throws SQLException {
996         return stmt.getNClob(parameterIndex);
997     }
998 
999     @Override
1000     public NClob getNClob(String parameterName) throws SQLException {
1001         return stmt.getNClob(parameterName);
1002     }
1003 
1004     @Override
1005     public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException {
1006         stmt.setSQLXML(parameterName, xmlObject);
1007     }
1008 
1009     @Override
1010     public SQLXML getSQLXML(int parameterIndex) throws SQLException {
1011         return stmt.getSQLXML(parameterIndex);
1012     }
1013 
1014     @Override
1015     public SQLXML getSQLXML(String parameterName) throws SQLException {
1016         return stmt.getSQLXML(parameterName);
1017     }
1018 
1019     @Override
1020     public String getNString(int parameterIndex) throws SQLException {
1021         return stmt.getNString(parameterIndex);
1022     }
1023 
1024     @Override
1025     public String getNString(String parameterName) throws SQLException {
1026         return stmt.getNString(parameterName);
1027     }
1028 
1029     @Override
1030     public Reader getNCharacterStream(int parameterIndex) throws SQLException {
1031         return stmt.getNCharacterStream(parameterIndex);
1032     }
1033 
1034     @Override
1035     public Reader getNCharacterStream(String parameterName) throws SQLException {
1036         return stmt.getNCharacterStream(parameterName);
1037     }
1038 
1039     @Override
1040     public Reader getCharacterStream(int parameterIndex) throws SQLException {
1041         return stmt.getCharacterStream(parameterIndex);
1042     }
1043 
1044     @Override
1045     public Reader getCharacterStream(String parameterName) throws SQLException {
1046         return stmt.getCharacterStream(parameterName);
1047     }
1048 
1049     @Override
1050     public void setBlob(String parameterName, Blob x) throws SQLException {
1051         stmt.setBlob(parameterName, x);
1052     }
1053 
1054     @Override
1055     public void setClob(String parameterName, Clob x) throws SQLException {
1056         stmt.setClob(parameterName, x);
1057     }
1058 
1059     @Override
1060     public void setAsciiStream(String parameterName, InputStream x, long length)
1061             throws SQLException {
1062         stmt.setAsciiStream(parameterName, x, length);
1063     }
1064 
1065     @Override
1066     public void setBinaryStream(String parameterName, InputStream x, long length)
1067             throws SQLException {
1068         stmt.setBinaryStream(parameterName, x, length);
1069     }
1070 
1071     @Override
1072     public void setCharacterStream(String parameterName, Reader reader, long length)
1073             throws SQLException {
1074         stmt.setCharacterStream(parameterName, reader, length);
1075     }
1076 
1077     @Override
1078     public void setAsciiStream(String parameterName, InputStream x) throws SQLException {
1079         stmt.setAsciiStream(parameterName, x);
1080     }
1081 
1082     @Override
1083     public void setBinaryStream(String parameterName, InputStream x) throws SQLException {
1084         stmt.setBinaryStream(parameterName, x);
1085     }
1086 
1087     @Override
1088     public void setCharacterStream(String parameterName, Reader reader) throws SQLException {
1089         stmt.setCharacterStream(parameterName, reader);
1090     }
1091 
1092     @Override
1093     public void setNCharacterStream(String parameterName, Reader value) throws SQLException {
1094         stmt.setNCharacterStream(parameterName, value);
1095     }
1096 
1097     @Override
1098     public void setClob(String parameterName, Reader reader) throws SQLException {
1099         stmt.setClob(parameterName, reader);
1100     }
1101 
1102     @Override
1103     public void setBlob(String parameterName, InputStream inputStream) throws SQLException {
1104         stmt.setBlob(parameterName, inputStream);
1105     }
1106 
1107     @Override
1108     public void setNClob(String parameterName, Reader reader) throws SQLException {
1109         stmt.setNClob(parameterName, reader);
1110     }
1111 
1112     @Override
1113     public <T> T getObject(int parameterIndex, Class<T> type) throws SQLException {
1114         return stmt.getObject(parameterIndex, type);
1115     }
1116 
1117     @Override
1118     public <T> T getObject(String parameterName, Class<T> type) throws SQLException {
1119         return stmt.getObject(parameterName, type);
1120     }
1121 
1122 }