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.Clob;
10  import java.sql.Connection;
11  import java.sql.Date;
12  import java.sql.NClob;
13  import java.sql.ParameterMetaData;
14  import java.sql.PreparedStatement;
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  
26  public final class ConnectionNonBlockingMemberPreparedStatement implements PreparedStatement {
27  
28      private final PreparedStatement ps;
29      private final Connection con;
30  
31      public ConnectionNonBlockingMemberPreparedStatement(PreparedStatement ps, Connection con) {
32          this.ps = ps;
33          this.con = con;
34      }
35  
36      @Override
37      public Connection getConnection() throws SQLException {
38          // overriden so can return a connection that when close is called only returns
39          // the connection to the pool
40          return con;
41      }
42  
43      @Override
44      public <T> T unwrap(Class<T> iface) throws SQLException {
45          return ps.unwrap(iface);
46      }
47  
48      @Override
49      public ResultSet executeQuery(String sql) throws SQLException {
50          return ps.executeQuery(sql);
51      }
52  
53      @Override
54      public ResultSet executeQuery() throws SQLException {
55          return ps.executeQuery();
56      }
57  
58      @Override
59      public boolean isWrapperFor(Class<?> iface) throws SQLException {
60          return ps.isWrapperFor(iface);
61      }
62  
63      @Override
64      public int executeUpdate(String sql) throws SQLException {
65          return ps.executeUpdate(sql);
66      }
67  
68      @Override
69      public int executeUpdate() throws SQLException {
70          return ps.executeUpdate();
71      }
72  
73      @Override
74      public void setNull(int parameterIndex, int sqlType) throws SQLException {
75          ps.setNull(parameterIndex, sqlType);
76      }
77  
78      @Override
79      public void close() throws SQLException {
80          ps.close();
81      }
82  
83      @Override
84      public int getMaxFieldSize() throws SQLException {
85          return ps.getMaxFieldSize();
86      }
87  
88      @Override
89      public void setBoolean(int parameterIndex, boolean x) throws SQLException {
90          ps.setBoolean(parameterIndex, x);
91      }
92  
93      @Override
94      public void setByte(int parameterIndex, byte x) throws SQLException {
95          ps.setByte(parameterIndex, x);
96      }
97  
98      @Override
99      public void setMaxFieldSize(int max) throws SQLException {
100         ps.setMaxFieldSize(max);
101     }
102 
103     @Override
104     public void setShort(int parameterIndex, short x) throws SQLException {
105         ps.setShort(parameterIndex, x);
106     }
107 
108     @Override
109     public int getMaxRows() throws SQLException {
110         return ps.getMaxRows();
111     }
112 
113     @Override
114     public void setInt(int parameterIndex, int x) throws SQLException {
115         ps.setInt(parameterIndex, x);
116     }
117 
118     @Override
119     public void setMaxRows(int max) throws SQLException {
120         ps.setMaxRows(max);
121     }
122 
123     @Override
124     public void setLong(int parameterIndex, long x) throws SQLException {
125         ps.setLong(parameterIndex, x);
126     }
127 
128     @Override
129     public void setFloat(int parameterIndex, float x) throws SQLException {
130         ps.setFloat(parameterIndex, x);
131     }
132 
133     @Override
134     public void setEscapeProcessing(boolean enable) throws SQLException {
135         ps.setEscapeProcessing(enable);
136     }
137 
138     @Override
139     public void setDouble(int parameterIndex, double x) throws SQLException {
140         ps.setDouble(parameterIndex, x);
141     }
142 
143     @Override
144     public int getQueryTimeout() throws SQLException {
145         return ps.getQueryTimeout();
146     }
147 
148     @Override
149     public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
150         ps.setBigDecimal(parameterIndex, x);
151     }
152 
153     @Override
154     public void setQueryTimeout(int seconds) throws SQLException {
155         ps.setQueryTimeout(seconds);
156     }
157 
158     @Override
159     public void setString(int parameterIndex, String x) throws SQLException {
160         ps.setString(parameterIndex, x);
161     }
162 
163     @Override
164     public void setBytes(int parameterIndex, byte[] x) throws SQLException {
165         ps.setBytes(parameterIndex, x);
166     }
167 
168     @Override
169     public void cancel() throws SQLException {
170         ps.cancel();
171     }
172 
173     @Override
174     public void setDate(int parameterIndex, Date x) throws SQLException {
175         ps.setDate(parameterIndex, x);
176     }
177 
178     @Override
179     public SQLWarning getWarnings() throws SQLException {
180         return ps.getWarnings();
181     }
182 
183     @Override
184     public void setTime(int parameterIndex, Time x) throws SQLException {
185         ps.setTime(parameterIndex, x);
186     }
187 
188     @Override
189     public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
190         ps.setTimestamp(parameterIndex, x);
191     }
192 
193     @Override
194     public void clearWarnings() throws SQLException {
195         ps.clearWarnings();
196     }
197 
198     @Override
199     public void setCursorName(String name) throws SQLException {
200         ps.setCursorName(name);
201     }
202 
203     @Override
204     public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
205         ps.setAsciiStream(parameterIndex, x, length);
206     }
207 
208     @Override
209     @Deprecated
210     public void setUnicodeStream(int parameterIndex, InputStream x, int length)
211             throws SQLException {
212         ps.setUnicodeStream(parameterIndex, x, length);
213     }
214 
215     @Override
216     public boolean execute(String sql) throws SQLException {
217         return ps.execute(sql);
218     }
219 
220     @Override
221     public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
222         ps.setBinaryStream(parameterIndex, x, length);
223     }
224 
225     @Override
226     public ResultSet getResultSet() throws SQLException {
227         return ps.getResultSet();
228     }
229 
230     @Override
231     public int getUpdateCount() throws SQLException {
232         return ps.getUpdateCount();
233     }
234 
235     @Override
236     public void clearParameters() throws SQLException {
237         ps.clearParameters();
238     }
239 
240     @Override
241     public boolean getMoreResults() throws SQLException {
242         return ps.getMoreResults();
243     }
244 
245     @Override
246     public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
247         ps.setObject(parameterIndex, x, targetSqlType);
248     }
249 
250     @Override
251     public void setFetchDirection(int direction) throws SQLException {
252         ps.setFetchDirection(direction);
253     }
254 
255     @Override
256     public void setObject(int parameterIndex, Object x) throws SQLException {
257         ps.setObject(parameterIndex, x);
258     }
259 
260     @Override
261     public int getFetchDirection() throws SQLException {
262         return ps.getFetchDirection();
263     }
264 
265     @Override
266     public void setFetchSize(int rows) throws SQLException {
267         ps.setFetchSize(rows);
268     }
269 
270     @Override
271     public int getFetchSize() throws SQLException {
272         return ps.getFetchSize();
273     }
274 
275     @Override
276     public boolean execute() throws SQLException {
277         return ps.execute();
278     }
279 
280     @Override
281     public int getResultSetConcurrency() throws SQLException {
282         return ps.getResultSetConcurrency();
283     }
284 
285     @Override
286     public int getResultSetType() throws SQLException {
287         return ps.getResultSetType();
288     }
289 
290     @Override
291     public void addBatch(String sql) throws SQLException {
292         ps.addBatch(sql);
293     }
294 
295     @Override
296     public void addBatch() throws SQLException {
297         ps.addBatch();
298     }
299 
300     @Override
301     public void setCharacterStream(int parameterIndex, Reader reader, int length)
302             throws SQLException {
303         ps.setCharacterStream(parameterIndex, reader, length);
304     }
305 
306     @Override
307     public void clearBatch() throws SQLException {
308         ps.clearBatch();
309     }
310 
311     @Override
312     public int[] executeBatch() throws SQLException {
313         return ps.executeBatch();
314     }
315 
316     @Override
317     public void setRef(int parameterIndex, Ref x) throws SQLException {
318         ps.setRef(parameterIndex, x);
319     }
320 
321     @Override
322     public void setBlob(int parameterIndex, Blob x) throws SQLException {
323         ps.setBlob(parameterIndex, x);
324     }
325 
326     @Override
327     public void setClob(int parameterIndex, Clob x) throws SQLException {
328         ps.setClob(parameterIndex, x);
329     }
330 
331     @Override
332     public void setArray(int parameterIndex, Array x) throws SQLException {
333         ps.setArray(parameterIndex, x);
334     }
335 
336     @Override
337     public ResultSetMetaData getMetaData() throws SQLException {
338         return ps.getMetaData();
339     }
340 
341     @Override
342     public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
343         ps.setDate(parameterIndex, x, cal);
344     }
345 
346     @Override
347     public boolean getMoreResults(int current) throws SQLException {
348         return ps.getMoreResults(current);
349     }
350 
351     @Override
352     public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
353         ps.setTime(parameterIndex, x, cal);
354     }
355 
356     @Override
357     public ResultSet getGeneratedKeys() throws SQLException {
358         return ps.getGeneratedKeys();
359     }
360 
361     @Override
362     public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
363         ps.setTimestamp(parameterIndex, x, cal);
364     }
365 
366     @Override
367     public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
368         return ps.executeUpdate(sql, autoGeneratedKeys);
369     }
370 
371     @Override
372     public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
373         ps.setNull(parameterIndex, sqlType, typeName);
374     }
375 
376     @Override
377     public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
378         return ps.executeUpdate(sql, columnIndexes);
379     }
380 
381     @Override
382     public void setURL(int parameterIndex, URL x) throws SQLException {
383         ps.setURL(parameterIndex, x);
384     }
385 
386     @Override
387     public ParameterMetaData getParameterMetaData() throws SQLException {
388         return ps.getParameterMetaData();
389     }
390 
391     @Override
392     public void setRowId(int parameterIndex, RowId x) throws SQLException {
393         ps.setRowId(parameterIndex, x);
394     }
395 
396     @Override
397     public int executeUpdate(String sql, String[] columnNames) throws SQLException {
398         return ps.executeUpdate(sql, columnNames);
399     }
400 
401     @Override
402     public void setNString(int parameterIndex, String value) throws SQLException {
403         ps.setNString(parameterIndex, value);
404     }
405 
406     @Override
407     public void setNCharacterStream(int parameterIndex, Reader value, long length)
408             throws SQLException {
409         ps.setNCharacterStream(parameterIndex, value, length);
410     }
411 
412     @Override
413     public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
414         return ps.execute(sql, autoGeneratedKeys);
415     }
416 
417     @Override
418     public void setNClob(int parameterIndex, NClob value) throws SQLException {
419         ps.setNClob(parameterIndex, value);
420     }
421 
422     @Override
423     public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
424         ps.setClob(parameterIndex, reader, length);
425     }
426 
427     @Override
428     public boolean execute(String sql, int[] columnIndexes) throws SQLException {
429         return ps.execute(sql, columnIndexes);
430     }
431 
432     @Override
433     public void setBlob(int parameterIndex, InputStream inputStream, long length)
434             throws SQLException {
435         ps.setBlob(parameterIndex, inputStream, length);
436     }
437 
438     @Override
439     public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
440         ps.setNClob(parameterIndex, reader, length);
441     }
442 
443     @Override
444     public boolean execute(String sql, String[] columnNames) throws SQLException {
445         return ps.execute(sql, columnNames);
446     }
447 
448     @Override
449     public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
450         ps.setSQLXML(parameterIndex, xmlObject);
451     }
452 
453     @Override
454     public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
455             throws SQLException {
456         ps.setObject(parameterIndex, x, targetSqlType, scaleOrLength);
457     }
458 
459     @Override
460     public int getResultSetHoldability() throws SQLException {
461         return ps.getResultSetHoldability();
462     }
463 
464     @Override
465     public boolean isClosed() throws SQLException {
466         return ps.isClosed();
467     }
468 
469     @Override
470     public void setPoolable(boolean poolable) throws SQLException {
471         ps.setPoolable(poolable);
472     }
473 
474     @Override
475     public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
476         ps.setAsciiStream(parameterIndex, x, length);
477     }
478 
479     @Override
480     public boolean isPoolable() throws SQLException {
481         return ps.isPoolable();
482     }
483 
484     @Override
485     public void closeOnCompletion() throws SQLException {
486         ps.closeOnCompletion();
487     }
488 
489     @Override
490     public void setBinaryStream(int parameterIndex, InputStream x, long length)
491             throws SQLException {
492         ps.setBinaryStream(parameterIndex, x, length);
493     }
494 
495     @Override
496     public boolean isCloseOnCompletion() throws SQLException {
497         return ps.isCloseOnCompletion();
498     }
499 
500     @Override
501     public void setCharacterStream(int parameterIndex, Reader reader, long length)
502             throws SQLException {
503         ps.setCharacterStream(parameterIndex, reader, length);
504     }
505 
506     @Override
507     public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
508         ps.setAsciiStream(parameterIndex, x);
509     }
510 
511     @Override
512     public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
513         ps.setBinaryStream(parameterIndex, x);
514     }
515 
516     @Override
517     public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
518         ps.setCharacterStream(parameterIndex, reader);
519     }
520 
521     @Override
522     public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
523         ps.setNCharacterStream(parameterIndex, value);
524     }
525 
526     @Override
527     public void setClob(int parameterIndex, Reader reader) throws SQLException {
528         ps.setClob(parameterIndex, reader);
529     }
530 
531     @Override
532     public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
533         ps.setBlob(parameterIndex, inputStream);
534     }
535 
536     @Override
537     public void setNClob(int parameterIndex, Reader reader) throws SQLException {
538         ps.setNClob(parameterIndex, reader);
539     }
540 
541 }