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
39
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 }