OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 180 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
17 ilm 1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
182 ilm 4
 * Copyright 2011-2019 OpenConcerto, by ILM Informatique. All rights reserved.
17 ilm 5
 *
6
 * The contents of this file are subject to the terms of the GNU General Public License Version 3
7
 * only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
8
 * copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
9
 * language governing permissions and limitations under the License.
10
 *
11
 * When distributing the software, include this License Header Notice in each file.
12
 */
144 ilm 13
 
14
 package org.openconcerto.sql.model;
17 ilm 15
 
180 ilm 16
import org.openconcerto.utils.cc.CachedTransformer;
17
 
17 ilm 18
import java.io.InputStream;
19
import java.io.Reader;
20
import java.math.BigDecimal;
21
import java.net.URL;
22
import java.sql.Array;
23
import java.sql.Blob;
24
import java.sql.Clob;
25
import java.sql.Date;
26
import java.sql.NClob;
27
import java.sql.Ref;
28
import java.sql.ResultSet;
29
import java.sql.ResultSetMetaData;
30
import java.sql.RowId;
31
import java.sql.SQLException;
32
import java.sql.SQLWarning;
33
import java.sql.SQLXML;
34
import java.sql.Statement;
35
import java.sql.Time;
36
import java.sql.Timestamp;
182 ilm 37
import java.util.ArrayList;
17 ilm 38
import java.util.Calendar;
182 ilm 39
import java.util.Collection;
40
import java.util.Collections;
17 ilm 41
import java.util.HashMap;
182 ilm 42
import java.util.List;
17 ilm 43
import java.util.Map;
44
 
45
/**
144 ilm 46
 * A resultSet that wraps onto another one, caching name to index translation, and using a
47
 * ResultSetFullnameHelper.
17 ilm 48
 *
49
 * @author Sylvain
50
 */
51
public class SQLResultSet implements ResultSet {
52
 
182 ilm 53
    // useful since some JDBC drivers (e.g. PgResultSet) implement getObject(col, clazz) by the
54
    // equivalent of clazz.cast(getObject(col)). I.e. getObject(col, Long.class) will fail if col
55
    // is an int.
144 ilm 56
    static public final <T> T getValue(final ResultSet rs, final Class<T> clz, final int columnIndex) throws SQLException {
57
        final Object res;
58
        if (clz == Object.class)
59
            res = rs.getObject(columnIndex);
60
        else if (Integer.class.isAssignableFrom(clz))
61
            res = rs.getInt(columnIndex);
62
        else if (Long.class.isAssignableFrom(clz))
63
            res = rs.getLong(columnIndex);
64
        else if (String.class.isAssignableFrom(clz))
65
            res = rs.getString(columnIndex);
66
        else if (Boolean.class.isAssignableFrom(clz))
67
            res = rs.getBoolean(columnIndex);
68
        else if (java.sql.Date.class.isAssignableFrom(clz))
69
            res = rs.getDate(columnIndex);
70
        else if (java.util.Date.class.isAssignableFrom(clz))
71
            res = rs.getTimestamp(columnIndex);
72
        else if (Short.class.isAssignableFrom(clz))
73
            res = rs.getShort(columnIndex);
74
        else if (Byte.class.isAssignableFrom(clz))
75
            res = rs.getByte(columnIndex);
76
        else if (Double.class.isAssignableFrom(clz))
77
            res = rs.getDouble(columnIndex);
78
        else if (Float.class.isAssignableFrom(clz))
79
            res = rs.getFloat(columnIndex);
80
        else if (Time.class.isAssignableFrom(clz))
81
            res = rs.getTime(columnIndex);
82
        else
182 ilm 83
            res = rs.getObject(columnIndex, clz);
144 ilm 84
        return clz.cast(res);
85
    }
17 ilm 86
 
182 ilm 87
    // see above comment
144 ilm 88
    static public final <T> T getValue(final ResultSet rs, final Class<T> clz, final String columnLabel) throws SQLException {
89
        final Object res;
90
        if (clz == Object.class)
91
            res = rs.getObject(columnLabel);
92
        else if (Integer.class.isAssignableFrom(clz))
93
            res = rs.getInt(columnLabel);
94
        else if (Long.class.isAssignableFrom(clz))
95
            res = rs.getLong(columnLabel);
96
        else if (String.class.isAssignableFrom(clz))
97
            res = rs.getString(columnLabel);
98
        else if (Boolean.class.isAssignableFrom(clz))
99
            res = rs.getBoolean(columnLabel);
100
        else if (java.sql.Date.class.isAssignableFrom(clz))
101
            res = rs.getDate(columnLabel);
102
        else if (java.util.Date.class.isAssignableFrom(clz))
103
            res = rs.getTimestamp(columnLabel);
104
        else if (Short.class.isAssignableFrom(clz))
105
            res = rs.getShort(columnLabel);
106
        else if (Byte.class.isAssignableFrom(clz))
107
            res = rs.getByte(columnLabel);
108
        else if (Double.class.isAssignableFrom(clz))
109
            res = rs.getDouble(columnLabel);
110
        else if (Float.class.isAssignableFrom(clz))
111
            res = rs.getFloat(columnLabel);
112
        else if (Time.class.isAssignableFrom(clz))
113
            res = rs.getTime(columnLabel);
114
        else
182 ilm 115
            res = rs.getObject(columnLabel, clz);
144 ilm 116
        return clz.cast(res);
117
    }
17 ilm 118
 
144 ilm 119
    static public final int getRowProcessedCount(final ResultSet rs) {
120
        if (rs instanceof SQLResultSet) {
121
            return ((SQLResultSet) rs).getRowProcessedCount();
122
        } else {
123
            // ResultSet.getRow() always return 0 after the last row
124
            return 0;
125
        }
126
    }
17 ilm 127
 
182 ilm 128
    static public final <T> List<T> getList(final ResultSet rs, int column, final Class<? extends T> itemType) throws SQLException {
129
        final Array array = rs.getArray(column);
130
        try {
131
            return Collections.unmodifiableList(readArray(array, itemType, new ArrayList<>()));
132
        } finally {
133
            array.free();
134
        }
135
    }
136
 
137
    static public final <T, C extends Collection<T>> C readArray(final Array array, final Class<? extends T> itemType, final C res) throws SQLException {
138
        final ResultSet rs = array.getResultSet();
139
        while (rs.next()) {
140
            // 1 is the index
141
            res.add(getValue(rs, itemType, 2));
142
        }
143
        return res;
144
    }
145
 
144 ilm 146
    private final ResultSet delegate;
147
    private final ResultSetFullnameHelper helper;
180 ilm 148
    private final CachedTransformer<String, Integer, SQLException> indexes;
144 ilm 149
    private int rowProcessedCount;
17 ilm 150
 
144 ilm 151
    public SQLResultSet(ResultSet delegate) {
152
        this.delegate = delegate;
153
        this.helper = new ResultSetFullnameHelper(this);
180 ilm 154
        this.indexes = new CachedTransformer<>(new HashMap<>(), this::doFindColumn);
144 ilm 155
    }
17 ilm 156
 
144 ilm 157
    private ResultSet getDelegate() {
158
        return this.delegate;
159
    }
17 ilm 160
 
144 ilm 161
    public boolean absolute(int row) throws SQLException {
162
        return getDelegate().absolute(row);
163
    }
17 ilm 164
 
144 ilm 165
    public void afterLast() throws SQLException {
166
        getDelegate().afterLast();
167
    }
17 ilm 168
 
144 ilm 169
    public void beforeFirst() throws SQLException {
170
        getDelegate().beforeFirst();
171
    }
17 ilm 172
 
144 ilm 173
    public void cancelRowUpdates() throws SQLException {
174
        getDelegate().cancelRowUpdates();
175
    }
17 ilm 176
 
144 ilm 177
    public void clearWarnings() throws SQLException {
178
        getDelegate().clearWarnings();
179
    }
17 ilm 180
 
144 ilm 181
    public void close() throws SQLException {
182
        getDelegate().close();
183
    }
17 ilm 184
 
144 ilm 185
    public void deleteRow() throws SQLException {
186
        getDelegate().deleteRow();
187
    }
17 ilm 188
 
144 ilm 189
    public int findColumn(String columnName) throws SQLException {
180 ilm 190
        final int index = this.indexes.get(columnName).intValue();
191
        if (index < 1)
192
            throw new SQLException(columnName + " not found");
193
        else
194
            return index;
144 ilm 195
    }
17 ilm 196
 
144 ilm 197
    private int doFindColumn(String columnName) throws SQLException {
198
        try {
199
            return getDelegate().findColumn(columnName);
200
        } catch (SQLException e) {
201
            try {
202
                return this.helper.getIndex(columnName);
203
            } catch (Exception exn) {
204
                throw e;
205
            }
206
        }
207
    }
17 ilm 208
 
144 ilm 209
    public boolean first() throws SQLException {
210
        return getDelegate().first();
211
    }
17 ilm 212
 
144 ilm 213
    public Array getArray(int i) throws SQLException {
214
        return getDelegate().getArray(i);
215
    }
17 ilm 216
 
144 ilm 217
    public Array getArray(String colName) throws SQLException {
218
        return getDelegate().getArray(colName);
219
    }
17 ilm 220
 
144 ilm 221
    public InputStream getAsciiStream(int columnIndex) throws SQLException {
222
        return getDelegate().getAsciiStream(columnIndex);
223
    }
17 ilm 224
 
144 ilm 225
    public InputStream getAsciiStream(String columnName) throws SQLException {
226
        return getDelegate().getAsciiStream(this.findColumn(columnName));
227
    }
17 ilm 228
 
144 ilm 229
    public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
230
        return getDelegate().getBigDecimal(columnIndex, scale);
231
    }
17 ilm 232
 
144 ilm 233
    public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
234
        return getDelegate().getBigDecimal(columnIndex);
235
    }
17 ilm 236
 
144 ilm 237
    public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException {
238
        return getDelegate().getBigDecimal(columnName, scale);
239
    }
17 ilm 240
 
144 ilm 241
    public BigDecimal getBigDecimal(String columnName) throws SQLException {
242
        return getDelegate().getBigDecimal(this.findColumn(columnName));
243
    }
17 ilm 244
 
144 ilm 245
    public InputStream getBinaryStream(int columnIndex) throws SQLException {
246
        return getDelegate().getBinaryStream(columnIndex);
247
    }
17 ilm 248
 
144 ilm 249
    public InputStream getBinaryStream(String columnName) throws SQLException {
250
        return getDelegate().getBinaryStream(this.findColumn(columnName));
251
    }
17 ilm 252
 
144 ilm 253
    public Blob getBlob(int i) throws SQLException {
254
        return getDelegate().getBlob(i);
255
    }
17 ilm 256
 
144 ilm 257
    public Blob getBlob(String colName) throws SQLException {
258
        return getDelegate().getBlob(colName);
259
    }
17 ilm 260
 
144 ilm 261
    public boolean getBoolean(int columnIndex) throws SQLException {
262
        return getDelegate().getBoolean(columnIndex);
263
    }
17 ilm 264
 
144 ilm 265
    public boolean getBoolean(String columnName) throws SQLException {
266
        return getDelegate().getBoolean(this.findColumn(columnName));
267
    }
17 ilm 268
 
144 ilm 269
    public byte getByte(int columnIndex) throws SQLException {
270
        return getDelegate().getByte(columnIndex);
271
    }
17 ilm 272
 
144 ilm 273
    public byte getByte(String columnName) throws SQLException {
274
        return getDelegate().getByte(this.findColumn(columnName));
275
    }
17 ilm 276
 
144 ilm 277
    public byte[] getBytes(int columnIndex) throws SQLException {
278
        return getDelegate().getBytes(columnIndex);
279
    }
17 ilm 280
 
144 ilm 281
    public byte[] getBytes(String columnName) throws SQLException {
282
        return getDelegate().getBytes(this.findColumn(columnName));
283
    }
17 ilm 284
 
144 ilm 285
    public Reader getCharacterStream(int columnIndex) throws SQLException {
286
        return getDelegate().getCharacterStream(columnIndex);
287
    }
17 ilm 288
 
144 ilm 289
    public Reader getCharacterStream(String columnName) throws SQLException {
290
        return getDelegate().getCharacterStream(this.findColumn(columnName));
291
    }
17 ilm 292
 
144 ilm 293
    public Clob getClob(int i) throws SQLException {
294
        return getDelegate().getClob(i);
295
    }
17 ilm 296
 
144 ilm 297
    public Clob getClob(String colName) throws SQLException {
298
        return getDelegate().getClob(colName);
299
    }
17 ilm 300
 
144 ilm 301
    public int getConcurrency() throws SQLException {
302
        return getDelegate().getConcurrency();
303
    }
17 ilm 304
 
144 ilm 305
    public String getCursorName() throws SQLException {
306
        return getDelegate().getCursorName();
307
    }
17 ilm 308
 
144 ilm 309
    public Date getDate(int columnIndex, Calendar cal) throws SQLException {
310
        return getDelegate().getDate(columnIndex, cal);
311
    }
17 ilm 312
 
144 ilm 313
    public Date getDate(int columnIndex) throws SQLException {
314
        return getDelegate().getDate(columnIndex);
315
    }
17 ilm 316
 
144 ilm 317
    public Date getDate(String columnName, Calendar cal) throws SQLException {
318
        return getDelegate().getDate(columnName, cal);
319
    }
17 ilm 320
 
144 ilm 321
    public Date getDate(String columnName) throws SQLException {
322
        return getDelegate().getDate(this.findColumn(columnName));
323
    }
17 ilm 324
 
144 ilm 325
    public double getDouble(int columnIndex) throws SQLException {
326
        return getDelegate().getDouble(columnIndex);
327
    }
17 ilm 328
 
144 ilm 329
    public double getDouble(String columnName) throws SQLException {
330
        return getDelegate().getDouble(this.findColumn(columnName));
331
    }
17 ilm 332
 
144 ilm 333
    public int getFetchDirection() throws SQLException {
334
        return getDelegate().getFetchDirection();
335
    }
17 ilm 336
 
144 ilm 337
    public int getFetchSize() throws SQLException {
338
        return getDelegate().getFetchSize();
339
    }
17 ilm 340
 
144 ilm 341
    public float getFloat(int columnIndex) throws SQLException {
342
        return getDelegate().getFloat(columnIndex);
343
    }
17 ilm 344
 
144 ilm 345
    public float getFloat(String columnName) throws SQLException {
346
        return getDelegate().getFloat(this.findColumn(columnName));
347
    }
17 ilm 348
 
144 ilm 349
    public int getInt(int columnIndex) throws SQLException {
350
        return getDelegate().getInt(columnIndex);
351
    }
17 ilm 352
 
144 ilm 353
    public int getInt(String columnName) throws SQLException {
354
        return getDelegate().getInt(this.findColumn(columnName));
355
    }
17 ilm 356
 
144 ilm 357
    public long getLong(int columnIndex) throws SQLException {
358
        return getDelegate().getLong(columnIndex);
359
    }
17 ilm 360
 
144 ilm 361
    public long getLong(String columnName) throws SQLException {
362
        return getDelegate().getLong(this.findColumn(columnName));
363
    }
17 ilm 364
 
144 ilm 365
    public ResultSetMetaData getMetaData() throws SQLException {
366
        return new SQLResultSetMetadata(getDelegate().getMetaData());
367
    }
17 ilm 368
 
144 ilm 369
    public Object getObject(int arg0, Map arg1) throws SQLException {
370
        return getDelegate().getObject(arg0, arg1);
371
    }
17 ilm 372
 
144 ilm 373
    public Object getObject(int columnIndex) throws SQLException {
374
        return getDelegate().getObject(columnIndex);
375
    }
17 ilm 376
 
144 ilm 377
    public Object getObject(String arg0, Map arg1) throws SQLException {
378
        return getDelegate().getObject(arg0, arg1);
379
    }
17 ilm 380
 
144 ilm 381
    public Object getObject(String columnName) throws SQLException {
382
        return getDelegate().getObject(this.findColumn(columnName));
383
    }
17 ilm 384
 
144 ilm 385
    public Ref getRef(int i) throws SQLException {
386
        return getDelegate().getRef(i);
387
    }
17 ilm 388
 
144 ilm 389
    public Ref getRef(String colName) throws SQLException {
390
        return getDelegate().getRef(colName);
391
    }
17 ilm 392
 
144 ilm 393
    public int getRow() throws SQLException {
394
        return getDelegate().getRow();
395
    }
17 ilm 396
 
144 ilm 397
    public short getShort(int columnIndex) throws SQLException {
398
        return getDelegate().getShort(columnIndex);
399
    }
17 ilm 400
 
144 ilm 401
    public short getShort(String columnName) throws SQLException {
402
        return getDelegate().getShort(this.findColumn(columnName));
403
    }
17 ilm 404
 
144 ilm 405
    public Statement getStatement() throws SQLException {
406
        return getDelegate().getStatement();
407
    }
17 ilm 408
 
144 ilm 409
    public String getString(int columnIndex) throws SQLException {
410
        return getDelegate().getString(columnIndex);
411
    }
17 ilm 412
 
144 ilm 413
    public String getString(String columnName) throws SQLException {
414
        return getDelegate().getString(this.findColumn(columnName));
415
    }
17 ilm 416
 
144 ilm 417
    public Time getTime(int columnIndex, Calendar cal) throws SQLException {
418
        return getDelegate().getTime(columnIndex, cal);
419
    }
17 ilm 420
 
144 ilm 421
    public Time getTime(int columnIndex) throws SQLException {
422
        return getDelegate().getTime(columnIndex);
423
    }
17 ilm 424
 
144 ilm 425
    public Time getTime(String columnName, Calendar cal) throws SQLException {
426
        return getDelegate().getTime(columnName, cal);
427
    }
17 ilm 428
 
144 ilm 429
    public Time getTime(String columnName) throws SQLException {
430
        return getDelegate().getTime(this.findColumn(columnName));
431
    }
17 ilm 432
 
144 ilm 433
    public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
434
        return getDelegate().getTimestamp(columnIndex, cal);
435
    }
17 ilm 436
 
144 ilm 437
    public Timestamp getTimestamp(int columnIndex) throws SQLException {
438
        return getDelegate().getTimestamp(columnIndex);
439
    }
17 ilm 440
 
144 ilm 441
    public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException {
442
        return getDelegate().getTimestamp(columnName, cal);
443
    }
17 ilm 444
 
144 ilm 445
    public Timestamp getTimestamp(String columnName) throws SQLException {
446
        return getDelegate().getTimestamp(this.findColumn(columnName));
447
    }
17 ilm 448
 
144 ilm 449
    public int getType() throws SQLException {
450
        return getDelegate().getType();
451
    }
17 ilm 452
 
144 ilm 453
    public InputStream getUnicodeStream(int columnIndex) throws SQLException {
454
        return getDelegate().getUnicodeStream(columnIndex);
455
    }
17 ilm 456
 
144 ilm 457
    public InputStream getUnicodeStream(String columnName) throws SQLException {
458
        return getDelegate().getUnicodeStream(this.findColumn(columnName));
459
    }
17 ilm 460
 
144 ilm 461
    public URL getURL(int columnIndex) throws SQLException {
462
        return getDelegate().getURL(columnIndex);
463
    }
17 ilm 464
 
144 ilm 465
    public URL getURL(String columnName) throws SQLException {
466
        return getDelegate().getURL(this.findColumn(columnName));
467
    }
17 ilm 468
 
144 ilm 469
    // **
17 ilm 470
 
144 ilm 471
    public SQLWarning getWarnings() throws SQLException {
472
        return getDelegate().getWarnings();
473
    }
17 ilm 474
 
144 ilm 475
    public void insertRow() throws SQLException {
476
        getDelegate().insertRow();
477
    }
17 ilm 478
 
144 ilm 479
    public boolean isAfterLast() throws SQLException {
480
        return getDelegate().isAfterLast();
481
    }
17 ilm 482
 
144 ilm 483
    public boolean isBeforeFirst() throws SQLException {
484
        return getDelegate().isBeforeFirst();
485
    }
17 ilm 486
 
144 ilm 487
    public boolean isFirst() throws SQLException {
488
        return getDelegate().isFirst();
489
    }
17 ilm 490
 
144 ilm 491
    public boolean isLast() throws SQLException {
492
        return getDelegate().isLast();
493
    }
17 ilm 494
 
144 ilm 495
    public boolean last() throws SQLException {
496
        return getDelegate().last();
497
    }
17 ilm 498
 
144 ilm 499
    public void moveToCurrentRow() throws SQLException {
500
        getDelegate().moveToCurrentRow();
501
    }
17 ilm 502
 
144 ilm 503
    public void moveToInsertRow() throws SQLException {
504
        getDelegate().moveToInsertRow();
505
    }
17 ilm 506
 
144 ilm 507
    public boolean next() throws SQLException {
508
        rowProcessedCount++;
509
        return getDelegate().next();
510
    }
17 ilm 511
 
144 ilm 512
    public int getRowProcessedCount() {
513
        return rowProcessedCount;
514
    }
17 ilm 515
 
144 ilm 516
    public boolean previous() throws SQLException {
517
        return getDelegate().previous();
518
    }
17 ilm 519
 
144 ilm 520
    public void refreshRow() throws SQLException {
521
        getDelegate().refreshRow();
522
    }
17 ilm 523
 
144 ilm 524
    public boolean relative(int rows) throws SQLException {
525
        return getDelegate().relative(rows);
526
    }
17 ilm 527
 
144 ilm 528
    public boolean rowDeleted() throws SQLException {
529
        return getDelegate().rowDeleted();
530
    }
17 ilm 531
 
144 ilm 532
    public boolean rowInserted() throws SQLException {
533
        return getDelegate().rowInserted();
534
    }
17 ilm 535
 
144 ilm 536
    public boolean rowUpdated() throws SQLException {
537
        return getDelegate().rowUpdated();
538
    }
17 ilm 539
 
144 ilm 540
    public void setFetchDirection(int direction) throws SQLException {
541
        getDelegate().setFetchDirection(direction);
542
    }
17 ilm 543
 
144 ilm 544
    public void setFetchSize(int rows) throws SQLException {
545
        getDelegate().setFetchSize(rows);
546
    }
17 ilm 547
 
144 ilm 548
    // update*
17 ilm 549
 
144 ilm 550
    public void updateArray(int columnIndex, Array x) throws SQLException {
551
        getDelegate().updateArray(columnIndex, x);
552
    }
17 ilm 553
 
144 ilm 554
    public void updateArray(String columnName, Array x) throws SQLException {
555
        getDelegate().updateArray(columnName, x);
556
    }
17 ilm 557
 
144 ilm 558
    public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
559
        getDelegate().updateAsciiStream(columnIndex, x, length);
560
    }
17 ilm 561
 
144 ilm 562
    public void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException {
563
        getDelegate().updateAsciiStream(columnName, x, length);
564
    }
17 ilm 565
 
144 ilm 566
    public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
567
        getDelegate().updateBigDecimal(columnIndex, x);
568
    }
17 ilm 569
 
144 ilm 570
    public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException {
571
        getDelegate().updateBigDecimal(columnName, x);
572
    }
17 ilm 573
 
144 ilm 574
    public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
575
        getDelegate().updateBinaryStream(columnIndex, x, length);
576
    }
17 ilm 577
 
144 ilm 578
    public void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException {
579
        getDelegate().updateBinaryStream(columnName, x, length);
580
    }
17 ilm 581
 
144 ilm 582
    public void updateBlob(int columnIndex, Blob x) throws SQLException {
583
        getDelegate().updateBlob(columnIndex, x);
584
    }
17 ilm 585
 
144 ilm 586
    public void updateBlob(String columnName, Blob x) throws SQLException {
587
        getDelegate().updateBlob(columnName, x);
588
    }
17 ilm 589
 
144 ilm 590
    public void updateBoolean(int columnIndex, boolean x) throws SQLException {
591
        getDelegate().updateBoolean(columnIndex, x);
592
    }
17 ilm 593
 
144 ilm 594
    public void updateBoolean(String columnName, boolean x) throws SQLException {
595
        getDelegate().updateBoolean(columnName, x);
596
    }
17 ilm 597
 
144 ilm 598
    public void updateByte(int columnIndex, byte x) throws SQLException {
599
        getDelegate().updateByte(columnIndex, x);
600
    }
17 ilm 601
 
144 ilm 602
    public void updateByte(String columnName, byte x) throws SQLException {
603
        getDelegate().updateByte(columnName, x);
604
    }
17 ilm 605
 
144 ilm 606
    public void updateBytes(int columnIndex, byte[] x) throws SQLException {
607
        getDelegate().updateBytes(columnIndex, x);
608
    }
17 ilm 609
 
144 ilm 610
    public void updateBytes(String columnName, byte[] x) throws SQLException {
611
        getDelegate().updateBytes(columnName, x);
612
    }
17 ilm 613
 
144 ilm 614
    public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
615
        getDelegate().updateCharacterStream(columnIndex, x, length);
616
    }
17 ilm 617
 
144 ilm 618
    public void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException {
619
        getDelegate().updateCharacterStream(columnName, reader, length);
620
    }
17 ilm 621
 
144 ilm 622
    public void updateClob(int columnIndex, Clob x) throws SQLException {
623
        getDelegate().updateClob(columnIndex, x);
624
    }
17 ilm 625
 
144 ilm 626
    public void updateClob(String columnName, Clob x) throws SQLException {
627
        getDelegate().updateClob(columnName, x);
628
    }
17 ilm 629
 
144 ilm 630
    public void updateDate(int columnIndex, Date x) throws SQLException {
631
        getDelegate().updateDate(columnIndex, x);
632
    }
17 ilm 633
 
144 ilm 634
    public void updateDate(String columnName, Date x) throws SQLException {
635
        getDelegate().updateDate(columnName, x);
636
    }
17 ilm 637
 
144 ilm 638
    public void updateDouble(int columnIndex, double x) throws SQLException {
639
        getDelegate().updateDouble(columnIndex, x);
640
    }
17 ilm 641
 
144 ilm 642
    public void updateDouble(String columnName, double x) throws SQLException {
643
        getDelegate().updateDouble(columnName, x);
644
    }
17 ilm 645
 
144 ilm 646
    public void updateFloat(int columnIndex, float x) throws SQLException {
647
        getDelegate().updateFloat(columnIndex, x);
648
    }
17 ilm 649
 
144 ilm 650
    public void updateFloat(String columnName, float x) throws SQLException {
651
        getDelegate().updateFloat(columnName, x);
652
    }
17 ilm 653
 
144 ilm 654
    public void updateInt(int columnIndex, int x) throws SQLException {
655
        getDelegate().updateInt(columnIndex, x);
656
    }
17 ilm 657
 
144 ilm 658
    public void updateInt(String columnName, int x) throws SQLException {
659
        getDelegate().updateInt(columnName, x);
660
    }
17 ilm 661
 
144 ilm 662
    public void updateLong(int columnIndex, long x) throws SQLException {
663
        getDelegate().updateLong(columnIndex, x);
664
    }
17 ilm 665
 
144 ilm 666
    public void updateLong(String columnName, long x) throws SQLException {
667
        getDelegate().updateLong(columnName, x);
668
    }
17 ilm 669
 
144 ilm 670
    public void updateNull(int columnIndex) throws SQLException {
671
        getDelegate().updateNull(columnIndex);
672
    }
17 ilm 673
 
144 ilm 674
    public void updateNull(String columnName) throws SQLException {
675
        getDelegate().updateNull(columnName);
676
    }
17 ilm 677
 
144 ilm 678
    public void updateObject(int columnIndex, Object x, int scale) throws SQLException {
679
        getDelegate().updateObject(columnIndex, x, scale);
680
    }
17 ilm 681
 
144 ilm 682
    public void updateObject(int columnIndex, Object x) throws SQLException {
683
        getDelegate().updateObject(columnIndex, x);
684
    }
17 ilm 685
 
144 ilm 686
    public void updateObject(String columnName, Object x, int scale) throws SQLException {
687
        getDelegate().updateObject(columnName, x, scale);
688
    }
17 ilm 689
 
144 ilm 690
    public void updateObject(String columnName, Object x) throws SQLException {
691
        getDelegate().updateObject(columnName, x);
692
    }
17 ilm 693
 
144 ilm 694
    public void updateRef(int columnIndex, Ref x) throws SQLException {
695
        getDelegate().updateRef(columnIndex, x);
696
    }
17 ilm 697
 
144 ilm 698
    public void updateRef(String columnName, Ref x) throws SQLException {
699
        getDelegate().updateRef(columnName, x);
700
    }
17 ilm 701
 
144 ilm 702
    public void updateRow() throws SQLException {
703
        getDelegate().updateRow();
704
    }
17 ilm 705
 
144 ilm 706
    public void updateShort(int columnIndex, short x) throws SQLException {
707
        getDelegate().updateShort(columnIndex, x);
708
    }
17 ilm 709
 
144 ilm 710
    public void updateShort(String columnName, short x) throws SQLException {
711
        getDelegate().updateShort(columnName, x);
712
    }
17 ilm 713
 
144 ilm 714
    public void updateString(int columnIndex, String x) throws SQLException {
715
        getDelegate().updateString(columnIndex, x);
716
    }
17 ilm 717
 
144 ilm 718
    public void updateString(String columnName, String x) throws SQLException {
719
        getDelegate().updateString(columnName, x);
720
    }
17 ilm 721
 
144 ilm 722
    public void updateTime(int columnIndex, Time x) throws SQLException {
723
        getDelegate().updateTime(columnIndex, x);
724
    }
17 ilm 725
 
144 ilm 726
    public void updateTime(String columnName, Time x) throws SQLException {
727
        getDelegate().updateTime(columnName, x);
728
    }
17 ilm 729
 
144 ilm 730
    public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
731
        getDelegate().updateTimestamp(columnIndex, x);
732
    }
17 ilm 733
 
144 ilm 734
    public void updateTimestamp(String columnName, Timestamp x) throws SQLException {
735
        getDelegate().updateTimestamp(columnName, x);
736
    }
17 ilm 737
 
144 ilm 738
    public boolean wasNull() throws SQLException {
739
        return getDelegate().wasNull();
740
    }
17 ilm 741
 
144 ilm 742
    public int getHoldability() throws SQLException {
743
        return getDelegate().getHoldability();
744
    }
17 ilm 745
 
144 ilm 746
    public Reader getNCharacterStream(int columnIndex) throws SQLException {
747
        return getDelegate().getNCharacterStream(columnIndex);
748
    }
17 ilm 749
 
144 ilm 750
    public Reader getNCharacterStream(String columnLabel) throws SQLException {
751
        return getDelegate().getNCharacterStream(columnLabel);
752
    }
17 ilm 753
 
144 ilm 754
    public NClob getNClob(int columnIndex) throws SQLException {
755
        return getDelegate().getNClob(columnIndex);
756
    }
17 ilm 757
 
144 ilm 758
    public NClob getNClob(String columnLabel) throws SQLException {
759
        return getDelegate().getNClob(columnLabel);
760
    }
17 ilm 761
 
144 ilm 762
    public String getNString(int columnIndex) throws SQLException {
763
        return getDelegate().getNString(columnIndex);
764
    }
17 ilm 765
 
144 ilm 766
    public String getNString(String columnLabel) throws SQLException {
767
        return getDelegate().getNString(columnLabel);
768
    }
17 ilm 769
 
144 ilm 770
    public RowId getRowId(int columnIndex) throws SQLException {
771
        return getDelegate().getRowId(columnIndex);
772
    }
17 ilm 773
 
144 ilm 774
    public RowId getRowId(String columnLabel) throws SQLException {
775
        return getDelegate().getRowId(columnLabel);
776
    }
17 ilm 777
 
144 ilm 778
    public SQLXML getSQLXML(int columnIndex) throws SQLException {
779
        return getDelegate().getSQLXML(columnIndex);
780
    }
17 ilm 781
 
144 ilm 782
    public SQLXML getSQLXML(String columnLabel) throws SQLException {
783
        return getDelegate().getSQLXML(columnLabel);
784
    }
17 ilm 785
 
144 ilm 786
    public boolean isClosed() throws SQLException {
787
        return getDelegate().isClosed();
788
    }
17 ilm 789
 
144 ilm 790
    public boolean isWrapperFor(Class<?> iface) throws SQLException {
791
        return getDelegate().isWrapperFor(iface);
792
    }
17 ilm 793
 
144 ilm 794
    public <T> T unwrap(Class<T> iface) throws SQLException {
795
        return getDelegate().unwrap(iface);
796
    }
17 ilm 797
 
144 ilm 798
    public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
799
        getDelegate().updateAsciiStream(columnIndex, x, length);
800
    }
17 ilm 801
 
144 ilm 802
    public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
803
        getDelegate().updateAsciiStream(columnIndex, x);
804
    }
17 ilm 805
 
144 ilm 806
    public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
807
        getDelegate().updateAsciiStream(columnLabel, x, length);
808
    }
17 ilm 809
 
144 ilm 810
    public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
811
        getDelegate().updateAsciiStream(columnLabel, x);
812
    }
17 ilm 813
 
144 ilm 814
    public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
815
        getDelegate().updateBinaryStream(columnIndex, x, length);
816
    }
17 ilm 817
 
144 ilm 818
    public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
819
        getDelegate().updateBinaryStream(columnIndex, x);
820
    }
17 ilm 821
 
144 ilm 822
    public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
823
        getDelegate().updateBinaryStream(columnLabel, x, length);
824
    }
17 ilm 825
 
144 ilm 826
    public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
827
        getDelegate().updateBinaryStream(columnLabel, x);
828
    }
17 ilm 829
 
144 ilm 830
    public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
831
        getDelegate().updateBlob(columnIndex, inputStream, length);
832
    }
17 ilm 833
 
144 ilm 834
    public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
835
        getDelegate().updateBlob(columnIndex, inputStream);
836
    }
17 ilm 837
 
144 ilm 838
    public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
839
        getDelegate().updateBlob(columnLabel, inputStream, length);
840
    }
17 ilm 841
 
144 ilm 842
    public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
843
        getDelegate().updateBlob(columnLabel, inputStream);
844
    }
17 ilm 845
 
144 ilm 846
    public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
847
        getDelegate().updateCharacterStream(columnIndex, x, length);
848
    }
17 ilm 849
 
144 ilm 850
    public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
851
        getDelegate().updateCharacterStream(columnIndex, x);
852
    }
17 ilm 853
 
144 ilm 854
    public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
855
        getDelegate().updateCharacterStream(columnLabel, reader, length);
856
    }
17 ilm 857
 
144 ilm 858
    public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
859
        getDelegate().updateCharacterStream(columnLabel, reader);
860
    }
17 ilm 861
 
144 ilm 862
    public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
863
        getDelegate().updateClob(columnIndex, reader, length);
864
    }
17 ilm 865
 
144 ilm 866
    public void updateClob(int columnIndex, Reader reader) throws SQLException {
867
        getDelegate().updateClob(columnIndex, reader);
868
    }
17 ilm 869
 
144 ilm 870
    public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
871
        getDelegate().updateClob(columnLabel, reader, length);
872
    }
17 ilm 873
 
144 ilm 874
    public void updateClob(String columnLabel, Reader reader) throws SQLException {
875
        getDelegate().updateClob(columnLabel, reader);
876
    }
17 ilm 877
 
144 ilm 878
    public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
879
        getDelegate().updateNCharacterStream(columnIndex, x, length);
880
    }
17 ilm 881
 
144 ilm 882
    public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
883
        getDelegate().updateNCharacterStream(columnIndex, x);
884
    }
17 ilm 885
 
144 ilm 886
    public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
887
        getDelegate().updateNCharacterStream(columnLabel, reader, length);
888
    }
17 ilm 889
 
144 ilm 890
    public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
891
        getDelegate().updateNCharacterStream(columnLabel, reader);
892
    }
17 ilm 893
 
144 ilm 894
    public void updateNClob(int columnIndex, NClob clob) throws SQLException {
895
        getDelegate().updateNClob(columnIndex, clob);
896
    }
17 ilm 897
 
144 ilm 898
    public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
899
        getDelegate().updateNClob(columnIndex, reader, length);
900
    }
17 ilm 901
 
144 ilm 902
    public void updateNClob(int columnIndex, Reader reader) throws SQLException {
903
        getDelegate().updateNClob(columnIndex, reader);
904
    }
17 ilm 905
 
144 ilm 906
    public void updateNClob(String columnLabel, NClob clob) throws SQLException {
907
        getDelegate().updateNClob(columnLabel, clob);
908
    }
17 ilm 909
 
144 ilm 910
    public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
911
        getDelegate().updateNClob(columnLabel, reader, length);
912
    }
17 ilm 913
 
144 ilm 914
    public void updateNClob(String columnLabel, Reader reader) throws SQLException {
915
        getDelegate().updateNClob(columnLabel, reader);
916
    }
17 ilm 917
 
144 ilm 918
    public void updateNString(int columnIndex, String string) throws SQLException {
919
        getDelegate().updateNString(columnIndex, string);
920
    }
142 ilm 921
 
144 ilm 922
    public void updateNString(String columnLabel, String string) throws SQLException {
923
        getDelegate().updateNString(columnLabel, string);
924
    }
142 ilm 925
 
144 ilm 926
    public void updateRowId(int columnIndex, RowId x) throws SQLException {
927
        getDelegate().updateRowId(columnIndex, x);
928
    }
142 ilm 929
 
144 ilm 930
    public void updateRowId(String columnLabel, RowId x) throws SQLException {
931
        getDelegate().updateRowId(columnLabel, x);
932
    }
142 ilm 933
 
144 ilm 934
    public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
935
        getDelegate().updateSQLXML(columnIndex, xmlObject);
936
    }
142 ilm 937
 
144 ilm 938
    public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
939
        getDelegate().updateSQLXML(columnLabel, xmlObject);
940
    }
142 ilm 941
 
144 ilm 942
    // ------------------------- JDBC 4.1 -----------------------------------
142 ilm 943
 
144 ilm 944
    @Override
945
    public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
946
        return getDelegate().getObject(columnIndex, type);
947
    }
142 ilm 948
 
144 ilm 949
    @Override
950
    public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
951
        return getDelegate().getObject(columnLabel, type);
952
    }
17 ilm 953
}