Project

General

Profile

Download (39.7 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.cdm.io.common;
11

    
12
import java.io.InputStream;
13
import java.io.Reader;
14
import java.math.BigDecimal;
15
import java.net.URL;
16
import java.sql.Array;
17
import java.sql.Blob;
18
import java.sql.Clob;
19
import java.sql.Date;
20
import java.sql.NClob;
21
import java.sql.Ref;
22
import java.sql.ResultSet;
23
import java.sql.ResultSetMetaData;
24
import java.sql.RowId;
25
import java.sql.SQLException;
26
import java.sql.SQLWarning;
27
import java.sql.SQLXML;
28
import java.sql.Statement;
29
import java.sql.Time;
30
import java.sql.Timestamp;
31
import java.util.Calendar;
32
import java.util.HashMap;
33
import java.util.Map;
34

    
35
import org.apache.log4j.Logger;
36

    
37
/**
38
 * Some ResultSets do not allow asking twice for the same column value. This proxy solves this
39
 * problem by storing all values to a value map. When moving to another record the value map is
40
 * emptied.
41
 *
42
 * @author a.mueller
43
 * @since 24.08.2010
44
 */
45
public class ResultSetProxy implements ResultSet {
46
	@SuppressWarnings("unused")
47
    private static final Logger logger = Logger.getLogger(ResultSetProxy.class);
48

    
49
// ************************** FACTORY METHODS *********************************/
50

    
51
	public static ResultSetProxy NewInstance(ResultSet resultSet){
52
		return new ResultSetProxy(resultSet);
53
	}
54

    
55
// **************************** VARIABLES ************************************************/
56

    
57
	private ResultSet resultSet;
58

    
59
	private Map<String, Object> proxyMap;
60

    
61
	private Object NULL = new Object();
62

    
63
// ********************** CONSTRUCTORS ****************************************************/
64

    
65
	public ResultSetProxy(ResultSet resultSet) {
66
		this.resultSet = resultSet;
67
		newProxyMap();
68
	}
69

    
70
// ************************* METHODS ********************************************/
71

    
72
	private void newProxyMap() {
73
		proxyMap = new HashMap<>();
74
	}
75

    
76
// ******************************* DELEGATES ****************************/
77

    
78
	@Override
79
	public boolean absolute(int row) throws SQLException {
80
		newProxyMap();
81
		return resultSet.absolute(row);
82
	}
83

    
84
	@Override
85
	public void afterLast() throws SQLException {
86
		newProxyMap();
87
		resultSet.afterLast();
88
	}
89

    
90
	@Override
91
	public void beforeFirst() throws SQLException {
92
		newProxyMap();
93
		resultSet.beforeFirst();
94
	}
95

    
96
	@Override
97
	public void cancelRowUpdates() throws SQLException {
98
		resultSet.cancelRowUpdates();
99
	}
100

    
101
	@Override
102
	public void clearWarnings() throws SQLException {
103
		resultSet.clearWarnings();
104
	}
105

    
106
	@Override
107
	public void close() throws SQLException {
108
		newProxyMap();
109
		resultSet.close();
110
	}
111

    
112
	@Override
113
	public void deleteRow() throws SQLException {
114
		newProxyMap();
115
		resultSet.deleteRow();
116
	}
117

    
118
	@Override
119
	public int findColumn(String columnLabel) throws SQLException {
120
		return resultSet.findColumn(columnLabel);
121
	}
122

    
123
	@Override
124
	public boolean first() throws SQLException {
125
		newProxyMap();
126
		return resultSet.first();
127
	}
128

    
129
	@Override
130
	public Array getArray(int columnIndex) throws SQLException {
131
		return resultSet.getArray(columnIndex);
132
	}
133

    
134
	@Override
135
	public Array getArray(String columnLabel) throws SQLException {
136
		return resultSet.getArray(columnLabel);
137
	}
138

    
139
	@Override
140
	public InputStream getAsciiStream(int columnIndex) throws SQLException {
141
		return resultSet.getAsciiStream(columnIndex);
142
	}
143

    
144
	@Override
145
	public InputStream getAsciiStream(String columnLabel) throws SQLException {
146
		return resultSet.getAsciiStream(columnLabel);
147
	}
148

    
149
	@Override
150
	@Deprecated
151
	public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
152
		return resultSet.getBigDecimal(columnIndex, scale);
153
	}
154

    
155
	@Override
156
	public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
157
		return resultSet.getBigDecimal(columnIndex);
158
	}
159

    
160
	@Override
161
	public BigDecimal getBigDecimal(String columnLabel, int scale)
162
			throws SQLException {
163
		return resultSet.getBigDecimal(columnLabel, scale);
164
	}
165

    
166
	@Override
167
	public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
168
		return resultSet.getBigDecimal(columnLabel);
169
	}
170

    
171
	@Override
172
	public InputStream getBinaryStream(int columnIndex) throws SQLException {
173
		return resultSet.getBinaryStream(columnIndex);
174
	}
175

    
176
	@Override
177
	public InputStream getBinaryStream(String columnLabel) throws SQLException {
178
		return resultSet.getBinaryStream(columnLabel);
179
	}
180

    
181
	@Override
182
	public Blob getBlob(int columnIndex) throws SQLException {
183
		return resultSet.getBlob(columnIndex);
184
	}
185

    
186
	@Override
187
	public Blob getBlob(String columnLabel) throws SQLException {
188
		return resultSet.getBlob(columnLabel);
189
	}
190

    
191
	@Override
192
	public boolean getBoolean(int columnIndex) throws SQLException {
193
		return resultSet.getBoolean(columnIndex);
194
	}
195

    
196
	@Override
197
	public boolean getBoolean(String columnLabel) throws SQLException {
198
		if (proxyMap.get(columnLabel) != null){
199
			return (Boolean)proxyMap.get(columnLabel);
200
		}else{
201
			Boolean result = resultSet.getBoolean(columnLabel);
202
			proxyMap.put(columnLabel, result);
203
			return result;
204
		}
205
	}
206

    
207
	@Override
208
	public byte getByte(int columnIndex) throws SQLException {
209
		return resultSet.getByte(columnIndex);
210
	}
211

    
212
	@Override
213
	public byte getByte(String columnLabel) throws SQLException {
214
		return resultSet.getByte(columnLabel);
215
	}
216

    
217
	@Override
218
	public byte[] getBytes(int columnIndex) throws SQLException {
219
		return resultSet.getBytes(columnIndex);
220
	}
221

    
222
	@Override
223
	public byte[] getBytes(String columnLabel) throws SQLException {
224
		return resultSet.getBytes(columnLabel);
225
	}
226

    
227
	@Override
228
	public Reader getCharacterStream(int columnIndex) throws SQLException {
229
		return resultSet.getCharacterStream(columnIndex);
230
	}
231

    
232
	@Override
233
	public Reader getCharacterStream(String columnLabel) throws SQLException {
234
		return resultSet.getCharacterStream(columnLabel);
235
	}
236

    
237
	@Override
238
	public Clob getClob(int columnIndex) throws SQLException {
239
		return resultSet.getClob(columnIndex);
240
	}
241

    
242
	@Override
243
	public Clob getClob(String columnLabel) throws SQLException {
244
		return resultSet.getClob(columnLabel);
245
	}
246

    
247
	@Override
248
	public int getConcurrency() throws SQLException {
249
		return resultSet.getConcurrency();
250
	}
251

    
252
	@Override
253
	public String getCursorName() throws SQLException {
254
		return resultSet.getCursorName();
255
	}
256

    
257
	@Override
258
	public Date getDate(int columnIndex, Calendar cal) throws SQLException {
259
		return resultSet.getDate(columnIndex, cal);
260
	}
261

    
262
	@Override
263
	public Date getDate(int columnIndex) throws SQLException {
264
		return resultSet.getDate(columnIndex);
265
	}
266

    
267
	@Override
268
	public Date getDate(String columnLabel, Calendar cal) throws SQLException {
269
		return resultSet.getDate(columnLabel, cal);
270
	}
271

    
272
	@Override
273
	public Date getDate(String columnLabel) throws SQLException {
274
		return resultSet.getDate(columnLabel);
275
	}
276

    
277
	@Override
278
	public double getDouble(int columnIndex) throws SQLException {
279
		return resultSet.getDouble(columnIndex);
280
	}
281

    
282
	@Override
283
	public double getDouble(String columnLabel) throws SQLException {
284
		return resultSet.getDouble(columnLabel);
285
	}
286

    
287
	@Override
288
	public int getFetchDirection() throws SQLException {
289
		return resultSet.getFetchDirection();
290
	}
291

    
292
	@Override
293
	public int getFetchSize() throws SQLException {
294
		return resultSet.getFetchSize();
295
	}
296

    
297
	@Override
298
	public float getFloat(int columnIndex) throws SQLException {
299
		return resultSet.getFloat(columnIndex);
300
	}
301

    
302
	@Override
303
	public float getFloat(String columnLabel) throws SQLException {
304
		return resultSet.getFloat(columnLabel);
305
	}
306

    
307
	@Override
308
	public int getHoldability() throws SQLException {
309
		return resultSet.getHoldability();
310
	}
311

    
312
	@Override
313
	public int getInt(int columnIndex) throws SQLException {
314
		return resultSet.getInt(columnIndex);
315
	}
316

    
317
	@Override
318
	public int getInt(String columnLabel) throws SQLException {
319
		if (proxyMap.get(columnLabel) != null){
320
			return (Integer)proxyMap.get(columnLabel);
321
		}else{
322
			int result = resultSet.getInt(columnLabel);
323
			proxyMap.put(columnLabel, result);
324
			return result;
325
		}
326

    
327
	}
328

    
329
	@Override
330
	public long getLong(int columnIndex) throws SQLException {
331
		return resultSet.getLong(columnIndex);
332
	}
333

    
334
	@Override
335
	public long getLong(String columnLabel) throws SQLException {
336
		if (proxyMap.get(columnLabel) != null){
337
			return (Long)proxyMap.get(columnLabel);
338
		}else{
339
			long result = resultSet.getLong(columnLabel);
340
			proxyMap.put(columnLabel, result);
341
			return result;
342
		}
343
	}
344

    
345
	@Override
346
	public ResultSetMetaData getMetaData() throws SQLException {
347
		return resultSet.getMetaData();
348
	}
349

    
350
	@Override
351
	public Reader getNCharacterStream(int columnIndex) throws SQLException {
352
		return resultSet.getNCharacterStream(columnIndex);
353
	}
354

    
355
	@Override
356
	public Reader getNCharacterStream(String columnLabel) throws SQLException {
357
		return resultSet.getNCharacterStream(columnLabel);
358
	}
359

    
360
	@Override
361
	public NClob getNClob(int columnIndex) throws SQLException {
362
		return resultSet.getNClob(columnIndex);
363
	}
364

    
365
	@Override
366
	public NClob getNClob(String columnLabel) throws SQLException {
367
		if (proxyMap.get(columnLabel) != null){
368
			return (NClob)proxyMap.get(columnLabel);
369
		}else{
370
			NClob result = resultSet.getNClob(columnLabel);
371
			proxyMap.put(columnLabel, result);
372
			return result;
373
		}
374
	}
375

    
376
	@Override
377
	public String getNString(int columnIndex) throws SQLException {
378
		return resultSet.getNString(columnIndex);
379
	}
380

    
381
	@Override
382
	public String getNString(String columnLabel) throws SQLException {
383
		if (proxyMap.get(columnLabel) != null){
384
			return (String)proxyMap.get(columnLabel);
385
		}else{
386
			String result = resultSet.getNString(columnLabel);
387
			proxyMap.put(columnLabel, result);
388
			return result;
389
		}
390
	}
391

    
392
	@Override
393
	public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
394
		return resultSet.getObject(columnIndex, map);
395
	}
396

    
397
	@Override
398
	public Object getObject(int columnIndex) throws SQLException {
399
		return resultSet.getObject(columnIndex);
400
	}
401

    
402
	@Override
403
	public Object getObject(String columnLabel, Map<String, Class<?>> map) throws SQLException {
404
		return resultSet.getObject(columnLabel, map);
405
	}
406

    
407

    
408
	/* (non-Javadoc)
409
	 * @see java.sql.ResultSet#getObject(java.lang.String)
410
	 */
411
	@Override
412
	public Object getObject(String columnLabel) throws SQLException {
413
		Object mapValue = proxyMap.get(columnLabel);
414
		if (mapValue != null){
415
			if (mapValue == NULL){
416
				return null;
417
			}else{
418
				return mapValue;
419
			}
420
		}else{
421
			Object result = resultSet.getObject(columnLabel);
422
			if (result == null){
423
				mapValue = NULL;
424
			}else{
425
				mapValue = result;
426
			}
427
			proxyMap.put(columnLabel, mapValue);
428
			return result;
429
		}
430
	}
431

    
432

    
433
	/* (non-Javadoc)
434
	 * @see java.sql.ResultSet#getRef(int)
435
	 */
436
	@Override
437
	public Ref getRef(int columnIndex) throws SQLException {
438
		return resultSet.getRef(columnIndex);
439
	}
440

    
441

    
442
	/* (non-Javadoc)
443
	 * @see java.sql.ResultSet#getRef(java.lang.String)
444
	 */
445
	@Override
446
	public Ref getRef(String columnLabel) throws SQLException {
447
		return resultSet.getRef(columnLabel);
448
	}
449

    
450

    
451
	/* (non-Javadoc)
452
	 * @see java.sql.ResultSet#getRow()
453
	 */
454
	@Override
455
	public int getRow() throws SQLException {
456
		return resultSet.getRow();
457
	}
458

    
459

    
460
	/* (non-Javadoc)
461
	 * @see java.sql.ResultSet#getRowId(int)
462
	 */
463
	@Override
464
	public RowId getRowId(int columnIndex) throws SQLException {
465
		return resultSet.getRowId(columnIndex);
466
	}
467

    
468

    
469
	/* (non-Javadoc)
470
	 * @see java.sql.ResultSet#getRowId(java.lang.String)
471
	 */
472
	@Override
473
	public RowId getRowId(String columnLabel) throws SQLException {
474
		return resultSet.getRowId(columnLabel);
475
	}
476

    
477

    
478
	/* (non-Javadoc)
479
	 * @see java.sql.ResultSet#getShort(int)
480
	 */
481
	@Override
482
	public short getShort(int columnIndex) throws SQLException {
483
		return resultSet.getShort(columnIndex);
484
	}
485

    
486

    
487
	/* (non-Javadoc)
488
	 * @see java.sql.ResultSet#getShort(java.lang.String)
489
	 */
490
	@Override
491
	public short getShort(String columnLabel) throws SQLException {
492
		return resultSet.getShort(columnLabel);
493
	}
494

    
495

    
496
	/* (non-Javadoc)
497
	 * @see java.sql.ResultSet#getSQLXML(int)
498
	 */
499
	@Override
500
	public SQLXML getSQLXML(int columnIndex) throws SQLException {
501
		return resultSet.getSQLXML(columnIndex);
502
	}
503

    
504

    
505
	/* (non-Javadoc)
506
	 * @see java.sql.ResultSet#getSQLXML(java.lang.String)
507
	 */
508
	@Override
509
	public SQLXML getSQLXML(String columnLabel) throws SQLException {
510
		return resultSet.getSQLXML(columnLabel);
511
	}
512

    
513

    
514
	/* (non-Javadoc)
515
	 * @see java.sql.ResultSet#getStatement()
516
	 */
517
	@Override
518
	public Statement getStatement() throws SQLException {
519
		return resultSet.getStatement();
520
	}
521

    
522

    
523
	/* (non-Javadoc)
524
	 * @see java.sql.ResultSet#getString(int)
525
	 */
526
	@Override
527
	public String getString(int columnIndex) throws SQLException {
528
		return resultSet.getString(columnIndex);
529
	}
530

    
531

    
532
	/* (non-Javadoc)
533
	 * @see java.sql.ResultSet#getString(java.lang.String)
534
	 */
535
	@Override
536
	public String getString(String columnLabel) throws SQLException {
537
		Object mapValue = proxyMap.get(columnLabel);
538
		if (mapValue != null){
539
			if (mapValue == NULL){
540
				return null;
541
			}else{
542
				return (String)mapValue;
543
			}
544
		}else{
545
			String result = resultSet.getString(columnLabel);
546
			if (result == null){
547
				mapValue = NULL;
548
			}else{
549
				mapValue = result;
550
			}
551
			proxyMap.put(columnLabel, mapValue);
552
			return result;
553
		}
554
	}
555

    
556

    
557
	/* (non-Javadoc)
558
	 * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
559
	 */
560
	@Override
561
	public Time getTime(int columnIndex, Calendar cal) throws SQLException {
562
		return resultSet.getTime(columnIndex, cal);
563
	}
564

    
565

    
566
	/* (non-Javadoc)
567
	 * @see java.sql.ResultSet#getTime(int)
568
	 */
569
	@Override
570
	public Time getTime(int columnIndex) throws SQLException {
571
		return resultSet.getTime(columnIndex);
572
	}
573

    
574

    
575
	/* (non-Javadoc)
576
	 * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
577
	 */
578
	@Override
579
	public Time getTime(String columnLabel, Calendar cal) throws SQLException {
580
		return resultSet.getTime(columnLabel, cal);
581
	}
582

    
583

    
584
	/* (non-Javadoc)
585
	 * @see java.sql.ResultSet#getTime(java.lang.String)
586
	 */
587
	@Override
588
	public Time getTime(String columnLabel) throws SQLException {
589
		return resultSet.getTime(columnLabel);
590
	}
591

    
592

    
593
	/* (non-Javadoc)
594
	 * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
595
	 */
596
	@Override
597
	public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
598
		return resultSet.getTimestamp(columnIndex, cal);
599
	}
600

    
601

    
602
	/* (non-Javadoc)
603
	 * @see java.sql.ResultSet#getTimestamp(int)
604
	 */
605
	@Override
606
	public Timestamp getTimestamp(int columnIndex) throws SQLException {
607
		return resultSet.getTimestamp(columnIndex);
608
	}
609

    
610

    
611
	/* (non-Javadoc)
612
	 * @see java.sql.ResultSet#getTimestamp(java.lang.String, java.util.Calendar)
613
	 */
614
	@Override
615
	public Timestamp getTimestamp(String columnLabel, Calendar cal)
616
			throws SQLException {
617
		return resultSet.getTimestamp(columnLabel, cal);
618
	}
619

    
620

    
621
	/* (non-Javadoc)
622
	 * @see java.sql.ResultSet#getTimestamp(java.lang.String)
623
	 */
624
	@Override
625
	public Timestamp getTimestamp(String columnLabel) throws SQLException {
626
		return resultSet.getTimestamp(columnLabel);
627
	}
628

    
629

    
630
	/* (non-Javadoc)
631
	 * @see java.sql.ResultSet#getType()
632
	 */
633
	@Override
634
	public int getType() throws SQLException {
635
		return resultSet.getType();
636
	}
637

    
638

    
639
	/* (non-Javadoc)
640
	 * @see java.sql.ResultSet#getUnicodeStream(int)
641
	 */
642
	@Override
643
	@Deprecated
644
	public InputStream getUnicodeStream(int columnIndex) throws SQLException {
645
		return resultSet.getUnicodeStream(columnIndex);
646
	}
647

    
648

    
649
	/* (non-Javadoc)
650
	 * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
651
	 */
652
	@Override
653
	@Deprecated
654
	public InputStream getUnicodeStream(String columnLabel) throws SQLException {
655
		return resultSet.getUnicodeStream(columnLabel);
656
	}
657

    
658

    
659
	/* (non-Javadoc)
660
	 * @see java.sql.ResultSet#getURL(int)
661
	 */
662
	@Override
663
	public URL getURL(int columnIndex) throws SQLException {
664
		return resultSet.getURL(columnIndex);
665
	}
666

    
667

    
668
	/* (non-Javadoc)
669
	 * @see java.sql.ResultSet#getURL(java.lang.String)
670
	 */
671
	@Override
672
	public URL getURL(String columnLabel) throws SQLException {
673
		return resultSet.getURL(columnLabel);
674
	}
675

    
676

    
677
	/* (non-Javadoc)
678
	 * @see java.sql.ResultSet#getWarnings()
679
	 */
680
	@Override
681
	public SQLWarning getWarnings() throws SQLException {
682
		return resultSet.getWarnings();
683
	}
684

    
685

    
686
	/* (non-Javadoc)
687
	 * @see java.sql.ResultSet#insertRow()
688
	 */
689
	@Override
690
	public void insertRow() throws SQLException {
691
		resultSet.insertRow();
692
	}
693

    
694

    
695
	/* (non-Javadoc)
696
	 * @see java.sql.ResultSet#isAfterLast()
697
	 */
698
	@Override
699
	public boolean isAfterLast() throws SQLException {
700
		return resultSet.isAfterLast();
701
	}
702

    
703

    
704
	/* (non-Javadoc)
705
	 * @see java.sql.ResultSet#isBeforeFirst()
706
	 */
707
	@Override
708
	public boolean isBeforeFirst() throws SQLException {
709
		return resultSet.isBeforeFirst();
710
	}
711

    
712

    
713
	/* (non-Javadoc)
714
	 * @see java.sql.ResultSet#isClosed()
715
	 */
716
	@Override
717
	public boolean isClosed() throws SQLException {
718
		return resultSet.isClosed();
719
	}
720

    
721

    
722
	/* (non-Javadoc)
723
	 * @see java.sql.ResultSet#isFirst()
724
	 */
725
	@Override
726
	public boolean isFirst() throws SQLException {
727
		return resultSet.isFirst();
728
	}
729

    
730

    
731
	/* (non-Javadoc)
732
	 * @see java.sql.ResultSet#isLast()
733
	 */
734
	@Override
735
	public boolean isLast() throws SQLException {
736
		return resultSet.isLast();
737
	}
738

    
739

    
740
	/* (non-Javadoc)
741
	 * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
742
	 */
743
	@Override
744
	public boolean isWrapperFor(Class<?> iface) throws SQLException {
745
		return resultSet.isWrapperFor(iface);
746
	}
747

    
748

    
749
	/* (non-Javadoc)
750
	 * @see java.sql.ResultSet#last()
751
	 */
752
	@Override
753
	public boolean last() throws SQLException {
754
		newProxyMap();
755
		return resultSet.last();
756
	}
757

    
758

    
759
	/* (non-Javadoc)
760
	 * @see java.sql.ResultSet#moveToCurrentRow()
761
	 */
762
	@Override
763
	public void moveToCurrentRow() throws SQLException {
764
		newProxyMap();
765
		resultSet.moveToCurrentRow();
766
	}
767

    
768

    
769
	/* (non-Javadoc)
770
	 * @see java.sql.ResultSet#moveToInsertRow()
771
	 */
772
	@Override
773
	public void moveToInsertRow() throws SQLException {
774
		newProxyMap();
775
		resultSet.moveToInsertRow();
776
	}
777

    
778

    
779
	/* (non-Javadoc)
780
	 * @see java.sql.ResultSet#next()
781
	 */
782
	@Override
783
	public boolean next() throws SQLException {
784
		newProxyMap();
785
		return resultSet.next();
786
	}
787

    
788

    
789

    
790
	/* (non-Javadoc)
791
	 * @see java.sql.ResultSet#previous()
792
	 */
793
	@Override
794
	public boolean previous() throws SQLException {
795
		newProxyMap();
796
		return resultSet.previous();
797
	}
798

    
799

    
800
	/* (non-Javadoc)
801
	 * @see java.sql.ResultSet#refreshRow()
802
	 */
803
	@Override
804
	public void refreshRow() throws SQLException {
805
		newProxyMap();
806
		resultSet.refreshRow();
807
	}
808

    
809

    
810
	/* (non-Javadoc)
811
	 * @see java.sql.ResultSet#relative(int)
812
	 */
813
	@Override
814
	public boolean relative(int rows) throws SQLException {
815
		newProxyMap();
816
		return resultSet.relative(rows);
817
	}
818

    
819

    
820
	/* (non-Javadoc)
821
	 * @see java.sql.ResultSet#rowDeleted()
822
	 */
823
	@Override
824
	public boolean rowDeleted() throws SQLException {
825
		return resultSet.rowDeleted();
826
	}
827

    
828

    
829
	/* (non-Javadoc)
830
	 * @see java.sql.ResultSet#rowInserted()
831
	 */
832
	@Override
833
	public boolean rowInserted() throws SQLException {
834
		return resultSet.rowInserted();
835
	}
836

    
837

    
838
	/* (non-Javadoc)
839
	 * @see java.sql.ResultSet#rowUpdated()
840
	 */
841
	@Override
842
	public boolean rowUpdated() throws SQLException {
843
		return resultSet.rowUpdated();
844
	}
845

    
846

    
847
	/* (non-Javadoc)
848
	 * @see java.sql.ResultSet#setFetchDirection(int)
849
	 */
850
	@Override
851
	public void setFetchDirection(int direction) throws SQLException {
852
		resultSet.setFetchDirection(direction);
853
	}
854

    
855

    
856
	/* (non-Javadoc)
857
	 * @see java.sql.ResultSet#setFetchSize(int)
858
	 */
859
	@Override
860
	public void setFetchSize(int rows) throws SQLException {
861
		resultSet.setFetchSize(rows);
862
	}
863

    
864

    
865
	/* (non-Javadoc)
866
	 * @see java.sql.Wrapper#unwrap(java.lang.Class)
867
	 */
868
	@Override
869
	public <T> T unwrap(Class<T> iface) throws SQLException {
870
		return resultSet.unwrap(iface);
871
	}
872

    
873

    
874
	/* (non-Javadoc)
875
	 * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
876
	 */
877
	@Override
878
	public void updateArray(int columnIndex, Array x) throws SQLException {
879
		resultSet.updateArray(columnIndex, x);
880
	}
881

    
882

    
883
	/* (non-Javadoc)
884
	 * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
885
	 */
886
	@Override
887
	public void updateArray(String columnLabel, Array x) throws SQLException {
888
		resultSet.updateArray(columnLabel, x);
889
	}
890

    
891

    
892
	/* (non-Javadoc)
893
	 * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
894
	 */
895
	@Override
896
	public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
897
		resultSet.updateAsciiStream(columnIndex, x, length);
898
	}
899

    
900

    
901
	/* (non-Javadoc)
902
	 * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, long)
903
	 */
904
	@Override
905
	public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
906
		resultSet.updateAsciiStream(columnIndex, x, length);
907
	}
908

    
909

    
910
	/* (non-Javadoc)
911
	 * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream)
912
	 */
913
	@Override
914
	public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
915
		resultSet.updateAsciiStream(columnIndex, x);
916
	}
917

    
918

    
919
	/* (non-Javadoc)
920
	 * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, int)
921
	 */
922
	@Override
923
	public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
924
		resultSet.updateAsciiStream(columnLabel, x, length);
925
	}
926

    
927

    
928
	/* (non-Javadoc)
929
	 * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, long)
930
	 */
931
	@Override
932
	public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
933
		resultSet.updateAsciiStream(columnLabel, x, length);
934
	}
935

    
936

    
937
	/* (non-Javadoc)
938
	 * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream)
939
	 */
940
	@Override
941
	public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
942
		resultSet.updateAsciiStream(columnLabel, x);
943
	}
944

    
945

    
946
	/* (non-Javadoc)
947
	 * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
948
	 */
949
	@Override
950
	public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
951
		resultSet.updateBigDecimal(columnIndex, x);
952
	}
953

    
954

    
955
	/* (non-Javadoc)
956
	 * @see java.sql.ResultSet#updateBigDecimal(java.lang.String, java.math.BigDecimal)
957
	 */
958
	@Override
959
	public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
960
		resultSet.updateBigDecimal(columnLabel, x);
961
	}
962

    
963

    
964
	/* (non-Javadoc)
965
	 * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
966
	 */
967
	@Override
968
	public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
969
		resultSet.updateBinaryStream(columnIndex, x, length);
970
	}
971

    
972

    
973
	/* (non-Javadoc)
974
	 * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, long)
975
	 */
976
	@Override
977
	public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
978
		resultSet.updateBinaryStream(columnIndex, x, length);
979
	}
980

    
981

    
982
	/* (non-Javadoc)
983
	 * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream)
984
	 */
985
	@Override
986
	public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
987
		resultSet.updateBinaryStream(columnIndex, x);
988
	}
989

    
990

    
991
	/* (non-Javadoc)
992
	 * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, int)
993
	 */
994
	@Override
995
	public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
996
		resultSet.updateBinaryStream(columnLabel, x, length);
997
	}
998

    
999

    
1000
	/* (non-Javadoc)
1001
	 * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, long)
1002
	 */
1003
	@Override
1004
	public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
1005
		resultSet.updateBinaryStream(columnLabel, x, length);
1006
	}
1007

    
1008

    
1009
	/* (non-Javadoc)
1010
	 * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream)
1011
	 */
1012
	@Override
1013
	public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
1014
		resultSet.updateBinaryStream(columnLabel, x);
1015
	}
1016

    
1017

    
1018
	/* (non-Javadoc)
1019
	 * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
1020
	 */
1021
	@Override
1022
	public void updateBlob(int columnIndex, Blob x) throws SQLException {
1023
		resultSet.updateBlob(columnIndex, x);
1024
	}
1025

    
1026

    
1027
	/* (non-Javadoc)
1028
	 * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream, long)
1029
	 */
1030
	@Override
1031
	public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
1032
		resultSet.updateBlob(columnIndex, inputStream, length);
1033
	}
1034

    
1035

    
1036
	/* (non-Javadoc)
1037
	 * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream)
1038
	 */
1039
	@Override
1040
	public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
1041
		resultSet.updateBlob(columnIndex, inputStream);
1042
	}
1043

    
1044

    
1045
	/* (non-Javadoc)
1046
	 * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
1047
	 */
1048
	@Override
1049
	public void updateBlob(String columnLabel, Blob x) throws SQLException {
1050
		resultSet.updateBlob(columnLabel, x);
1051
	}
1052

    
1053

    
1054
	/* (non-Javadoc)
1055
	 * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream, long)
1056
	 */
1057
	@Override
1058
	public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
1059
		resultSet.updateBlob(columnLabel, inputStream, length);
1060
	}
1061

    
1062

    
1063
	/* (non-Javadoc)
1064
	 * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream)
1065
	 */
1066
	@Override
1067
	public void updateBlob(String columnLabel, InputStream inputStream)	throws SQLException {
1068
		resultSet.updateBlob(columnLabel, inputStream);
1069
	}
1070

    
1071

    
1072
	/* (non-Javadoc)
1073
	 * @see java.sql.ResultSet#updateBoolean(int, boolean)
1074
	 */
1075
	@Override
1076
	public void updateBoolean(int columnIndex, boolean x) throws SQLException {
1077
		resultSet.updateBoolean(columnIndex, x);
1078
	}
1079

    
1080

    
1081
	/* (non-Javadoc)
1082
	 * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
1083
	 */
1084
	@Override
1085
	public void updateBoolean(String columnLabel, boolean x) throws SQLException {
1086
		resultSet.updateBoolean(columnLabel, x);
1087
	}
1088

    
1089

    
1090
	/* (non-Javadoc)
1091
	 * @see java.sql.ResultSet#updateByte(int, byte)
1092
	 */
1093
	@Override
1094
	public void updateByte(int columnIndex, byte x) throws SQLException {
1095
		resultSet.updateByte(columnIndex, x);
1096
	}
1097

    
1098

    
1099
	@Override
1100
	public void updateByte(String columnLabel, byte x) throws SQLException {
1101
		resultSet.updateByte(columnLabel, x);
1102
	}
1103

    
1104

    
1105
	/* (non-Javadoc)
1106
	 * @see java.sql.ResultSet#updateBytes(int, byte[])
1107
	 */
1108
	@Override
1109
	public void updateBytes(int columnIndex, byte[] x) throws SQLException {
1110
		resultSet.updateBytes(columnIndex, x);
1111
	}
1112

    
1113

    
1114
	/* (non-Javadoc)
1115
	 * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
1116
	 */
1117
	@Override
1118
	public void updateBytes(String columnLabel, byte[] x) throws SQLException {
1119
		resultSet.updateBytes(columnLabel, x);
1120
	}
1121

    
1122

    
1123
	/* (non-Javadoc)
1124
	 * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
1125
	 */
1126
	@Override
1127
	public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
1128
		resultSet.updateCharacterStream(columnIndex, x, length);
1129
	}
1130

    
1131

    
1132
	/* (non-Javadoc)
1133
	 * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, long)
1134
	 */
1135
	@Override
1136
	public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
1137
		resultSet.updateCharacterStream(columnIndex, x, length);
1138
	}
1139

    
1140

    
1141
	/* (non-Javadoc)
1142
	 * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader)
1143
	 */
1144
	@Override
1145
	public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
1146
		resultSet.updateCharacterStream(columnIndex, x);
1147
	}
1148

    
1149

    
1150
	/* (non-Javadoc)
1151
	 * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, int)
1152
	 */
1153
	@Override
1154
	public void updateCharacterStream(String columnLabel, Reader reader,
1155
			int length) throws SQLException {
1156
		resultSet.updateCharacterStream(columnLabel, reader, length);
1157
	}
1158

    
1159

    
1160
	/* (non-Javadoc)
1161
	 * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, long)
1162
	 */
1163
	@Override
1164
	public void updateCharacterStream(String columnLabel, Reader reader,
1165
			long length) throws SQLException {
1166
		resultSet.updateCharacterStream(columnLabel, reader, length);
1167
	}
1168

    
1169

    
1170
	/* (non-Javadoc)
1171
	 * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader)
1172
	 */
1173
	@Override
1174
	public void updateCharacterStream(String columnLabel, Reader reader)
1175
			throws SQLException {
1176
		resultSet.updateCharacterStream(columnLabel, reader);
1177
	}
1178

    
1179

    
1180
	/* (non-Javadoc)
1181
	 * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
1182
	 */
1183
	@Override
1184
	public void updateClob(int columnIndex, Clob x) throws SQLException {
1185
		resultSet.updateClob(columnIndex, x);
1186
	}
1187

    
1188

    
1189
	/* (non-Javadoc)
1190
	 * @see java.sql.ResultSet#updateClob(int, java.io.Reader, long)
1191
	 */
1192
	@Override
1193
	public void updateClob(int columnIndex, Reader reader, long length)
1194
			throws SQLException {
1195
		resultSet.updateClob(columnIndex, reader, length);
1196
	}
1197

    
1198

    
1199
	/* (non-Javadoc)
1200
	 * @see java.sql.ResultSet#updateClob(int, java.io.Reader)
1201
	 */
1202
	@Override
1203
	public void updateClob(int columnIndex, Reader reader) throws SQLException {
1204
		resultSet.updateClob(columnIndex, reader);
1205
	}
1206

    
1207

    
1208
	/* (non-Javadoc)
1209
	 * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
1210
	 */
1211
	@Override
1212
	public void updateClob(String columnLabel, Clob x) throws SQLException {
1213
		resultSet.updateClob(columnLabel, x);
1214
	}
1215

    
1216

    
1217
	/* (non-Javadoc)
1218
	 * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader, long)
1219
	 */
1220
	@Override
1221
	public void updateClob(String columnLabel, Reader reader, long length)
1222
			throws SQLException {
1223
		resultSet.updateClob(columnLabel, reader, length);
1224
	}
1225

    
1226

    
1227
	/* (non-Javadoc)
1228
	 * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader)
1229
	 */
1230
	@Override
1231
	public void updateClob(String columnLabel, Reader reader)
1232
			throws SQLException {
1233
		resultSet.updateClob(columnLabel, reader);
1234
	}
1235

    
1236

    
1237
	/* (non-Javadoc)
1238
	 * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
1239
	 */
1240
	@Override
1241
	public void updateDate(int columnIndex, Date x) throws SQLException {
1242
		resultSet.updateDate(columnIndex, x);
1243
	}
1244

    
1245

    
1246
	/* (non-Javadoc)
1247
	 * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
1248
	 */
1249
	@Override
1250
	public void updateDate(String columnLabel, Date x) throws SQLException {
1251
		resultSet.updateDate(columnLabel, x);
1252
	}
1253

    
1254

    
1255
	/* (non-Javadoc)
1256
	 * @see java.sql.ResultSet#updateDouble(int, double)
1257
	 */
1258
	@Override
1259
	public void updateDouble(int columnIndex, double x) throws SQLException {
1260
		resultSet.updateDouble(columnIndex, x);
1261
	}
1262

    
1263

    
1264
	/* (non-Javadoc)
1265
	 * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
1266
	 */
1267
	@Override
1268
	public void updateDouble(String columnLabel, double x) throws SQLException {
1269
		resultSet.updateDouble(columnLabel, x);
1270
	}
1271

    
1272

    
1273
	/* (non-Javadoc)
1274
	 * @see java.sql.ResultSet#updateFloat(int, float)
1275
	 */
1276
	@Override
1277
	public void updateFloat(int columnIndex, float x) throws SQLException {
1278
		resultSet.updateFloat(columnIndex, x);
1279
	}
1280

    
1281

    
1282
	/* (non-Javadoc)
1283
	 * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
1284
	 */
1285
	@Override
1286
	public void updateFloat(String columnLabel, float x) throws SQLException {
1287
		resultSet.updateFloat(columnLabel, x);
1288
	}
1289

    
1290

    
1291
	/* (non-Javadoc)
1292
	 * @see java.sql.ResultSet#updateInt(int, int)
1293
	 */
1294
	@Override
1295
	public void updateInt(int columnIndex, int x) throws SQLException {
1296
		resultSet.updateInt(columnIndex, x);
1297
	}
1298

    
1299

    
1300
	/* (non-Javadoc)
1301
	 * @see java.sql.ResultSet#updateInt(java.lang.String, int)
1302
	 */
1303
	@Override
1304
	public void updateInt(String columnLabel, int x) throws SQLException {
1305
		resultSet.updateInt(columnLabel, x);
1306
	}
1307

    
1308

    
1309
	/* (non-Javadoc)
1310
	 * @see java.sql.ResultSet#updateLong(int, long)
1311
	 */
1312
	@Override
1313
	public void updateLong(int columnIndex, long x) throws SQLException {
1314
		resultSet.updateLong(columnIndex, x);
1315
	}
1316

    
1317

    
1318
	/* (non-Javadoc)
1319
	 * @see java.sql.ResultSet#updateLong(java.lang.String, long)
1320
	 */
1321
	@Override
1322
	public void updateLong(String columnLabel, long x) throws SQLException {
1323
		resultSet.updateLong(columnLabel, x);
1324
	}
1325

    
1326

    
1327
	/* (non-Javadoc)
1328
	 * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader, long)
1329
	 */
1330
	@Override
1331
	public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
1332
		resultSet.updateNCharacterStream(columnIndex, x, length);
1333
	}
1334

    
1335

    
1336
	/* (non-Javadoc)
1337
	 * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader)
1338
	 */
1339
	@Override
1340
	public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
1341
		resultSet.updateNCharacterStream(columnIndex, x);
1342
	}
1343

    
1344

    
1345
	/* (non-Javadoc)
1346
	 * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader, long)
1347
	 */
1348
	@Override
1349
	public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
1350
		resultSet.updateNCharacterStream(columnLabel, reader, length);
1351
	}
1352

    
1353

    
1354
	/* (non-Javadoc)
1355
	 * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader)
1356
	 */
1357
	@Override
1358
	public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
1359
		resultSet.updateNCharacterStream(columnLabel, reader);
1360
	}
1361

    
1362

    
1363
	/* (non-Javadoc)
1364
	 * @see java.sql.ResultSet#updateNClob(int, java.sql.NClob)
1365
	 */
1366
	@Override
1367
	public void updateNClob(int columnIndex, NClob clob) throws SQLException {
1368
		resultSet.updateNClob(columnIndex, clob);
1369
	}
1370

    
1371

    
1372
	/* (non-Javadoc)
1373
	 * @see java.sql.ResultSet#updateNClob(int, java.io.Reader, long)
1374
	 */
1375
	@Override
1376
	public void updateNClob(int columnIndex, Reader reader, long length)
1377
			throws SQLException {
1378
		resultSet.updateNClob(columnIndex, reader, length);
1379
	}
1380

    
1381

    
1382
	/* (non-Javadoc)
1383
	 * @see java.sql.ResultSet#updateNClob(int, java.io.Reader)
1384
	 */
1385
	@Override
1386
	public void updateNClob(int columnIndex, Reader reader) throws SQLException {
1387
		resultSet.updateNClob(columnIndex, reader);
1388
	}
1389

    
1390

    
1391
	/* (non-Javadoc)
1392
	 * @see java.sql.ResultSet#updateNClob(java.lang.String, java.sql.NClob)
1393
	 */
1394
	@Override
1395
	public void updateNClob(String columnLabel, NClob clob) throws SQLException {
1396
		resultSet.updateNClob(columnLabel, clob);
1397
	}
1398

    
1399

    
1400
	/* (non-Javadoc)
1401
	 * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader, long)
1402
	 */
1403
	@Override
1404
	public void updateNClob(String columnLabel, Reader reader, long length)
1405
			throws SQLException {
1406
		resultSet.updateNClob(columnLabel, reader, length);
1407
	}
1408

    
1409

    
1410
	/* (non-Javadoc)
1411
	 * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader)
1412
	 */
1413
	@Override
1414
	public void updateNClob(String columnLabel, Reader reader)
1415
			throws SQLException {
1416
		resultSet.updateNClob(columnLabel, reader);
1417
	}
1418

    
1419

    
1420
	/* (non-Javadoc)
1421
	 * @see java.sql.ResultSet#updateNString(int, java.lang.String)
1422
	 */
1423
	@Override
1424
	public void updateNString(int columnIndex, String string)
1425
			throws SQLException {
1426
		resultSet.updateNString(columnIndex, string);
1427
	}
1428

    
1429

    
1430
	/* (non-Javadoc)
1431
	 * @see java.sql.ResultSet#updateNString(java.lang.String, java.lang.String)
1432
	 */
1433
	@Override
1434
	public void updateNString(String columnLabel, String string)
1435
			throws SQLException {
1436
		resultSet.updateNString(columnLabel, string);
1437
	}
1438

    
1439

    
1440
	/* (non-Javadoc)
1441
	 * @see java.sql.ResultSet#updateNull(int)
1442
	 */
1443
	@Override
1444
	public void updateNull(int columnIndex) throws SQLException {
1445
		resultSet.updateNull(columnIndex);
1446
	}
1447

    
1448

    
1449
	/* (non-Javadoc)
1450
	 * @see java.sql.ResultSet#updateNull(java.lang.String)
1451
	 */
1452
	@Override
1453
	public void updateNull(String columnLabel) throws SQLException {
1454
		resultSet.updateNull(columnLabel);
1455
	}
1456

    
1457

    
1458
	/* (non-Javadoc)
1459
	 * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
1460
	 */
1461
	@Override
1462
	public void updateObject(int columnIndex, Object x, int scaleOrLength)
1463
			throws SQLException {
1464
		resultSet.updateObject(columnIndex, x, scaleOrLength);
1465
	}
1466

    
1467

    
1468
	/* (non-Javadoc)
1469
	 * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
1470
	 */
1471
	@Override
1472
	public void updateObject(int columnIndex, Object x) throws SQLException {
1473
		resultSet.updateObject(columnIndex, x);
1474
	}
1475

    
1476

    
1477
	/* (non-Javadoc)
1478
	 * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object, int)
1479
	 */
1480
	@Override
1481
	public void updateObject(String columnLabel, Object x, int scaleOrLength)
1482
			throws SQLException {
1483
		resultSet.updateObject(columnLabel, x, scaleOrLength);
1484
	}
1485

    
1486

    
1487
	/* (non-Javadoc)
1488
	 * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
1489
	 */
1490
	@Override
1491
	public void updateObject(String columnLabel, Object x) throws SQLException {
1492
		resultSet.updateObject(columnLabel, x);
1493
	}
1494

    
1495

    
1496
	/* (non-Javadoc)
1497
	 * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
1498
	 */
1499
	@Override
1500
	public void updateRef(int columnIndex, Ref x) throws SQLException {
1501
		resultSet.updateRef(columnIndex, x);
1502
	}
1503

    
1504

    
1505
	/* (non-Javadoc)
1506
	 * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
1507
	 */
1508
	@Override
1509
	public void updateRef(String columnLabel, Ref x) throws SQLException {
1510
		resultSet.updateRef(columnLabel, x);
1511
	}
1512

    
1513

    
1514
	/* (non-Javadoc)
1515
	 * @see java.sql.ResultSet#updateRow()
1516
	 */
1517
	@Override
1518
	public void updateRow() throws SQLException {
1519
		resultSet.updateRow();
1520
	}
1521

    
1522

    
1523
	/* (non-Javadoc)
1524
	 * @see java.sql.ResultSet#updateRowId(int, java.sql.RowId)
1525
	 */
1526
	@Override
1527
	public void updateRowId(int columnIndex, RowId x) throws SQLException {
1528
		resultSet.updateRowId(columnIndex, x);
1529
	}
1530

    
1531

    
1532
	/* (non-Javadoc)
1533
	 * @see java.sql.ResultSet#updateRowId(java.lang.String, java.sql.RowId)
1534
	 */
1535
	@Override
1536
	public void updateRowId(String columnLabel, RowId x) throws SQLException {
1537
		resultSet.updateRowId(columnLabel, x);
1538
	}
1539

    
1540

    
1541
	@Override public void updateShort(int columnIndex, short x) throws SQLException {
1542
		resultSet.updateShort(columnIndex, x);
1543
	}
1544

    
1545

    
1546
	/* (non-Javadoc)
1547
	 * @see java.sql.ResultSet#updateShort(java.lang.String, short)
1548
	 */
1549
	@Override
1550
	public void updateShort(String columnLabel, short x) throws SQLException {
1551
		resultSet.updateShort(columnLabel, x);
1552
	}
1553

    
1554

    
1555
	/* (non-Javadoc)
1556
	 * @see java.sql.ResultSet#updateSQLXML(int, java.sql.SQLXML)
1557
	 */
1558
	@Override
1559
	public void updateSQLXML(int columnIndex, SQLXML xmlObject)
1560
			throws SQLException {
1561
		resultSet.updateSQLXML(columnIndex, xmlObject);
1562
	}
1563

    
1564
	@Override
1565
	public void updateSQLXML(String columnLabel, SQLXML xmlObject)
1566
			throws SQLException {
1567
		resultSet.updateSQLXML(columnLabel, xmlObject);
1568
	}
1569

    
1570
	@Override
1571
	public void updateString(int columnIndex, String x) throws SQLException {
1572
		resultSet.updateString(columnIndex, x);
1573
	}
1574

    
1575
	@Override
1576
	public void updateString(String columnLabel, String x) throws SQLException {
1577
		resultSet.updateString(columnLabel, x);
1578
	}
1579

    
1580
	@Override
1581
	public void updateTime(int columnIndex, Time x) throws SQLException {
1582
		resultSet.updateTime(columnIndex, x);
1583
	}
1584

    
1585
	@Override
1586
	public void updateTime(String columnLabel, Time x) throws SQLException {
1587
		resultSet.updateTime(columnLabel, x);
1588
	}
1589

    
1590
	@Override
1591
	public void updateTimestamp(int columnIndex, Timestamp x)
1592
			throws SQLException {
1593
		resultSet.updateTimestamp(columnIndex, x);
1594
	}
1595

    
1596
	@Override
1597
	public void updateTimestamp(String columnLabel, Timestamp x)
1598
			throws SQLException {
1599
		resultSet.updateTimestamp(columnLabel, x);
1600
	}
1601

    
1602
	@Override
1603
	public boolean wasNull() throws SQLException {
1604
		return resultSet.wasNull();
1605
	}
1606

    
1607
	// added for compatibility with Java 7
1608
	@Override
1609
    public <T> T getObject(int arg0, Class<T> arg1) throws SQLException {
1610
		// TODO Auto-generated method stub
1611
		return null;
1612
	}
1613

    
1614
	// added for compatibility with Java 7
1615
	@Override
1616
    public <T> T getObject(String arg0, Class<T> arg1) throws SQLException {
1617
		// TODO Auto-generated method stub
1618
		return null;
1619
	}
1620
}
(51-51/63)