annotate src/main/java/org/monetdb/jdbc/MonetResultSet.java @ 773:2bd1983f1c11

Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Wed, 09 Aug 2023 21:19:21 +0200 (21 months ago)
parents b6d113ee35ae
children e029af7551b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1 /*
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2 * This Source Code Form is subject to the terms of the Mozilla Public
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
5 *
716
aeb268156580 Updated Copyright year.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 714
diff changeset
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
7 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
8
391
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
9 package org.monetdb.jdbc;
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
10
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
11 import org.monetdb.mcl.parser.MCLParseException;
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
12 import org.monetdb.mcl.parser.TupleLineParser;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
13 import java.io.InputStream;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
14 import java.io.Reader;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
15 import java.math.BigDecimal;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
16 import java.net.URL;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
17 import java.sql.Array;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
18 import java.sql.Blob;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
19 import java.sql.Clob;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
20 import java.sql.Connection;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
21 import java.sql.DatabaseMetaData;
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
22 import java.sql.Date;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
23 import java.sql.NClob;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
24 import java.sql.Ref;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
25 import java.sql.ResultSet;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
26 import java.sql.ResultSetMetaData;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
27 import java.sql.RowId;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
28 import java.sql.SQLData;
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
29 import java.sql.SQLDataException;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
30 import java.sql.SQLException;
266
eefa7f625673 Resolve javadoc errors:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 262
diff changeset
31 import java.sql.SQLFeatureNotSupportedException;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
32 import java.sql.SQLInput;
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
33 import java.sql.SQLType; // new as of Java 1.8
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
34 import java.sql.SQLWarning;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
35 import java.sql.SQLXML;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
36 import java.sql.Statement;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
37 import java.sql.Time;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
38 import java.sql.Timestamp;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
39 import java.sql.Types;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
40 import java.text.SimpleDateFormat;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
41 import java.util.Calendar;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
42 import java.util.Map;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
43 import java.util.TimeZone;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
44
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
45 /**
451
3dfcd06fd8ba Correcting typos in documentation text. Also improved the readability of the generated javadoc documents.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 425
diff changeset
46 *<pre>
3dfcd06fd8ba Correcting typos in documentation text. Also improved the readability of the generated javadoc documents.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 425
diff changeset
47 * A {@link ResultSet} suitable for the MonetDB database.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
48 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
49 * A table of data representing a database result set, which is usually
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
50 * generated by executing a statement that queries the database.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
51 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
52 * A ResultSet object maintains a cursor pointing to its current row of data.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
53 * Initially the cursor is positioned before the first row. The next method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
54 * moves the cursor to the next row, and because it returns false when there
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
55 * are no more rows in the ResultSet object, it can be used in a while loop to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
56 * iterate through the result set.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
57 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
58 * The current state of this ResultSet is that it supports positioning in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
59 * result set, absolute and relative. A slight performance difference between
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
60 * FORWARD_ONLY or result sets scrollable in both directions can be noticed as
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
61 * for FORWARD_ONLY result sets the memory usage will be likely lower for large
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
62 * result sets.
451
3dfcd06fd8ba Correcting typos in documentation text. Also improved the readability of the generated javadoc documents.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 425
diff changeset
63 *</pre>
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
64 *
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
65 * @author Fabian Groffen
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
66 * @author Martin van Dinther
416
b3c876a0d61f Improved performance of ResultSetMetaData methods getSchemaName(), getTableName(), getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 415
diff changeset
67 * @version 1.0
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
68 */
164
7c9e386fe49a As of Java 1.7 implementations of JDBC interfaces Connection, Statement, PreparedStatement,
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 152
diff changeset
69 public class MonetResultSet
7c9e386fe49a As of Java 1.7 implementations of JDBC interfaces Connection, Statement, PreparedStatement,
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 152
diff changeset
70 extends MonetWrapper
7c9e386fe49a As of Java 1.7 implementations of JDBC interfaces Connection, Statement, PreparedStatement,
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 152
diff changeset
71 implements ResultSet, AutoCloseable
7c9e386fe49a As of Java 1.7 implementations of JDBC interfaces Connection, Statement, PreparedStatement,
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 152
diff changeset
72 {
292
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
73 static final int DEF_RESULTSETTYPE = ResultSet.TYPE_FORWARD_ONLY;
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
74 static final int DEF_FETCHDIRECTION = ResultSet.FETCH_FORWARD;
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
75 static final int DEF_CONCURRENCY = ResultSet.CONCUR_READ_ONLY;
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
76 static final int DEF_HOLDABILITY = ResultSet.HOLD_CURSORS_OVER_COMMIT;
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
77
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
78 /** The parental Statement object */
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
79 private final Statement statement;
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
80 /** A Header to retrieve lines from. Note: it will be null in case of a MonetVirtualResultSet ! */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
81 private final MonetConnection.ResultSetResponse header;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
82 /** The names of the columns in this ResultSet */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
83 private final String[] columns;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
84 /** The MonetDB types of the columns in this ResultSet */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
85 private final String[] types;
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
86 /** The JDBC SQL types of the columns in this ResultSet.
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
87 * The content will be derived once from the MonetDB String[] types */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
88 private final int[] JdbcSQLTypes;
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
89
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
90 /** A cache to reduce the number of ResultSetMetaData objects created by getMetaData() to maximum 1 per ResultSet */
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
91 private ResultSetMetaData rsmd;
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
92
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
93 // the following have protected access modifier for the MonetVirtualResultSet subclass
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
94 // they are accessed from MonetVirtualResultSet.absolute()
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
95 /** The current line of the buffer split in columns */
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
96 protected final TupleLineParser tlp;
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
97 /** The number of rows in this ResultSet */
377
8a813f5cef1b Extend StartOfHeaderParser with method getNextAsLong() and change type of tuplecount to long.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 376
diff changeset
98 protected final long tupleCount;
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
99 /** The current position of the cursor for this ResultSet object */
414
1e278695fe54 Small improvements: adding some final keywords, removing unnecesary initialisations, improve comments.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
100 protected int curRow;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
101
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
102 /** The type of this ResultSet (forward or scrollable) */
292
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
103 private int type = DEF_RESULTSETTYPE;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
104 /** The concurrency of this ResultSet (currently only read-only) */
292
b127164342c4 Introduce default general behavior settings DEF_... for MonetResultSets and use them
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 286
diff changeset
105 private int concurrency = DEF_CONCURRENCY;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
106 /** The warnings for this ResultSet object */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
107 private SQLWarning warnings;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
108 /** whether the last read field (via some getXyz() method) was NULL */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
109 private boolean lastReadWasNull = true;
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
110 /** to store the fetchsize set. */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
111 private int fetchSize;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
112
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
113 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
114 * Main constructor backed by the given Header.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
115 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
116 * @param statement the statement which created this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
117 * @param header a header containing the query, resultset type, etc.
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
118 * @throws IllegalArgumentException if called with null or invalid value for one of the arguments
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
119 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
120 MonetResultSet(
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
121 final Statement statement,
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
122 final MonetConnection.ResultSetResponse header)
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
123 throws IllegalArgumentException
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
124 {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
125 if (statement == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
126 throw new IllegalArgumentException("Statement may not be null!");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
127 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
128 if (header == null) {
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
129 throw new IllegalArgumentException("Header may not be null!");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
130 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
131 this.statement = statement;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
132 this.header = header;
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
133 type = header.getRSType();
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
134 concurrency = header.getRSConcur();
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
135 /* the fetchSize used for this result set is the header's cacheSize */
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
136 fetchSize = header.getCacheSize();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
137 columns = header.getNames();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
138 types = header.getTypes();
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
139 if (columns == null || types == null) {
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
140 throw new IllegalArgumentException("Missing Header metadata");
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
141 }
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
142 if (columns.length != types.length) {
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
143 throw new IllegalArgumentException("Inconsistent Header metadata");
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
144 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
145 tupleCount = header.tuplecount;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
146
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
147 // create result array
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
148 tlp = new TupleLineParser(columns.length);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
149
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
150 // for efficiency derive the JDBC SQL type codes from the types[] names once
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
151 JdbcSQLTypes = new int[types.length];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
152 populateJdbcSQLtypesArray();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
153 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
154
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
155 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
156 * Constructor used by MonetVirtualResultSet.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
157 * DO NOT USE THIS CONSTRUCTOR IF YOU ARE NOT EXTENDING THIS OBJECT!
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
158 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
159 * @param statement the statement which created this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
160 * @param columns the column names
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
161 * @param types the column types
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
162 * @param results the number of rows in the ResultSet
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
163 * @throws IllegalArgumentException if called with null or invalid value for one of the arguments
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
164 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
165 MonetResultSet(
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
166 final Statement statement,
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
167 final String[] columns,
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
168 final String[] types,
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
169 final int results)
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
170 throws IllegalArgumentException
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
171 {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
172 if (statement == null || columns == null || types == null) {
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
173 throw new IllegalArgumentException("One of the given arguments is null");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
174 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
175 if (columns.length != types.length) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
176 throw new IllegalArgumentException("Given arrays are not the same size");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
177 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
178 if (results < 0) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
179 throw new IllegalArgumentException("Negative rowcount not allowed");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
180 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
181
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
182 this.statement = statement;
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
183 header = null;
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
184 fetchSize = 0;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
185
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
186 this.columns = columns;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
187 this.types = types;
330
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
188 tupleCount = results;
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
189
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
190 tlp = new TupleLineParser(columns.length);
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
191
98ae44c5fd56 Updated oand improved MonetResultSet constructors. They do not throw SQLException or IOException.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 329
diff changeset
192 // for efficiency derive the JDBC SQL type codes from the types[] names once
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
193 JdbcSQLTypes = new int[types.length];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
194 populateJdbcSQLtypesArray();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
195 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
196
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
197 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
198 * Internal utility method to fill the JdbcSQLTypes array with derivable values.
180
fdf4c888d5b7 Small code and layout improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 175
diff changeset
199 * By doing it once (in the constructor) we can avoid doing this in many getXyz()
fdf4c888d5b7 Small code and layout improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 175
diff changeset
200 * methods again and again thereby improving getXyz() method performance.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
201 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
202 private final void populateJdbcSQLtypesArray() {
175
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
203 MonetConnection connection = null;
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
204 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
205 connection = (MonetConnection) statement.getConnection();
175
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
206 } catch (SQLException se) { /* ignore it */ }
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
207
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
208 for (int i = 0; i < types.length; i++) {
223
e8139dbe3883 Rename internal method MonetDriver.getJavaType() into MonetDriver.getJdbcSQLType()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
209 int javaSQLtype = MonetDriver.getJdbcSQLType(types[i]);
175
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
210 if (javaSQLtype == Types.CLOB) {
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
211 if (connection != null && connection.mapClobAsVarChar())
180
fdf4c888d5b7 Small code and layout improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 175
diff changeset
212 javaSQLtype = Types.VARCHAR;
175
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
213 } else
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
214 if (javaSQLtype == Types.BLOB) {
175
8700d9ef2ace Added possibility via a connection property to let the JDBC driver
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 164
diff changeset
215 if (connection != null && connection.mapBlobAsVarBinary())
180
fdf4c888d5b7 Small code and layout improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 175
diff changeset
216 javaSQLtype = Types.VARBINARY;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
217 }
180
fdf4c888d5b7 Small code and layout improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 175
diff changeset
218 JdbcSQLTypes[i] = javaSQLtype;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
219 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
220 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
221
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
222
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
223 //== methods of interface ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
224
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
225 // Chapter 14.2.2 Sun JDBC 3.0 Specification
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
226 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
227 * Moves the cursor to the given row number in this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
228 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
229 * If the row number is positive, the cursor moves to the given row number
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
230 * with respect to the beginning of the result set. The first row is row 1,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
231 * the second is row 2, and so on.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
232 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
233 * If the given row number is negative, the cursor moves to an absolute row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
234 * position with respect to the end of the result set. For example, calling
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
235 * the method absolute(-1) positions the cursor on the last row; calling the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
236 * method absolute(-2) moves the cursor to the next-to-last row, and so on.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
237 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
238 * An attempt to position the cursor beyond the first/last row in the result
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
239 * set leaves the cursor before the first row or after the last row.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
240 * Note: calling absolute(1) is the same as calling first(). Calling
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
241 * absolute(-1) is the same as calling last().
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
242 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
243 * @param row the number of the row to which the cursor should move. A
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
244 * positive number indicates the row number counting from the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
245 * beginning of the result set; a negative number indicates the row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
246 * number counting from the end of the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
247 * @return true if the cursor is on the result set; false otherwise
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
248 * @throws SQLException if a database access error occurs, or the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
249 * type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
250 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
251 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
252 public boolean absolute(int row) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
253 checkNotClosed();
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
254 if (row != curRow + 1 && type == TYPE_FORWARD_ONLY)
418
6558ab0d2547 Remove double space from msg.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 416
diff changeset
255 throw new SQLException("(Absolute) positioning not allowed on forward only result sets!", "M1M05");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
256
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
257 // first calculate what the JDBC row is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
258 if (row < 0) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
259 // calculate the negatives...
377
8a813f5cef1b Extend StartOfHeaderParser with method getNextAsLong() and change type of tuplecount to long.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 376
diff changeset
260 row = (int) tupleCount + row + 1;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
261 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
262 // now place the row not farther than just before or after the result
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
263 if (row < 0)
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
264 row = 0; // before first
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
265 else if (row > tupleCount + 1)
377
8a813f5cef1b Extend StartOfHeaderParser with method getNextAsLong() and change type of tuplecount to long.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 376
diff changeset
266 row = (int) tupleCount + 1; // after last
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
267
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
268 // store it
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
269 curRow = row;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
270
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
271 if (header == null)
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
272 return false;
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
273
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
274 final String tmpLine = header.getLine(row - 1);
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
275 if (tmpLine == null)
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
276 return false;
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
277
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
278 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
279 tlp.parse(tmpLine);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
280 } catch (MCLParseException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
281 throw new SQLException(e.getMessage(), "M0M10");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
282 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
283
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
284 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
285 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
286
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
287 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
288 * Moves the cursor to the end of this ResultSet object, just after the last
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
289 * row. This method has no effect if the result set contains no rows.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
290 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
291 * @throws SQLException if a database access error occurs or the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
292 * type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
293 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
294 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
295 public void afterLast() throws SQLException {
377
8a813f5cef1b Extend StartOfHeaderParser with method getNextAsLong() and change type of tuplecount to long.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 376
diff changeset
296 absolute((int)tupleCount + 1);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
297 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
298
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
299 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
300 * Moves the cursor to the front of this ResultSet object, just before the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
301 * first row. This method has no effect if the result set contains no rows.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
302 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
303 * @throws SQLException if a database access error occurs or the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
304 * type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
305 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
306 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
307 public void beforeFirst() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
308 absolute(0);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
309 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
310
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
311 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
312 * Clears all warnings reported for this ResultSet object. After a call to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
313 * this method, the method getWarnings returns null until a new warning is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
314 * reported for this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
315 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
316 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
317 public void clearWarnings() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
318 warnings = null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
319 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
320
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
321 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
322 * Releases this ResultSet object's database (and JDBC) resources
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
323 * immediately instead of waiting for this to happen when it is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
324 * automatically closed.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
325 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
326 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
327 public void close() {
623
1c3cdf0667d7 Do more cleanup in the close() methods such as calling clearWarnings(), clearParameters(), clearBatch() and dereferencing cached objects.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
328 clearWarnings();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
329 if (header != null && !header.isClosed()) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
330 header.close();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
331 }
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
332 rsmd = null;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
333 if (statement instanceof MonetStatement)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
334 ((MonetStatement)statement).closeIfCompletion();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
335 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
336
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
337 // Chapter 14.2.3 from Sun JDBC 3.0 specification
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
338 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
339 * Maps the given ResultSet column name to its ResultSet column index.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
340 * Column names supplied to getter methods are case insensitive. If a select
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
341 * list contains the same column more than once, the first instance of the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
342 * column will be returned.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
343 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
344 * @param columnLabel the name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
345 * @return the column index of the given column name
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
346 * @throws SQLException if the ResultSet object does not contain a column labeled columnLabel,
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
347 * a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
348 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
349 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
350 public int findColumn(final String columnLabel) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
351 checkNotClosed();
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
352 if (columnLabel != null) {
10
4ef332ad8ec0 For efficiency fetch columns.length only once in a local variable.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 9
diff changeset
353 final int array_size = columns.length;
4ef332ad8ec0 For efficiency fetch columns.length only once in a local variable.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 9
diff changeset
354 for (int i = 0; i < array_size; i++) {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
355 if (columnLabel.equals(columns[i]))
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
356 return i + 1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
357 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
358 /* if an exact match did not succeed try a case insensitive match */
10
4ef332ad8ec0 For efficiency fetch columns.length only once in a local variable.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 9
diff changeset
359 for (int i = 0; i < array_size; i++) {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
360 if (columnLabel.equalsIgnoreCase(columns[i]))
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
361 return i + 1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
362 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
363 }
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
364 throw new SQLException("No such column name: " + columnLabel, "M1M05");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
365 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
366
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
367 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
368 * Moves the cursor to the first row in this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
369 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
370 * @return true if the cursor is on a valid row; false if there are no rows
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
371 * in the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
372 * @throws SQLException - if a database access error occurs or the result
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
373 * set type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
374 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
375 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
376 public boolean first() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
377 return absolute(1);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
378 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
379
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
380 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
381 public Array getArray(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
382 throw newSQLFeatureNotSupportedException("getArray");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
383 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
384 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
385 public Array getArray(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
386 throw newSQLFeatureNotSupportedException("getArray");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
387 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
388
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
389 /* Mapi doesn't allow something for streams at the moment, thus all not implemented for now */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
390 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
391 public InputStream getAsciiStream(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
392 throw newSQLFeatureNotSupportedException("getAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
393 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
394 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
395 public InputStream getAsciiStream(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
396 throw newSQLFeatureNotSupportedException("getAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
397 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
398
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
399 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
400 @Deprecated
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
401 public InputStream getUnicodeStream(int columnIndex) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
402 throw newSQLFeatureNotSupportedException("getUnicodeStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
403 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
404 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
405 @Deprecated
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
406 public InputStream getUnicodeStream(String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
407 throw newSQLFeatureNotSupportedException("getUnicodeStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
408 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
409
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
410 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
411 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
412 * of this ResultSet object as a stream of uninterpreted bytes. The
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
413 * value can then be read in chunks from the stream. This method is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
414 * particularly suitable for retrieving large LONGVARBINARY values.
194
1296dbcc4958 Resolved javadoc many errors and warnings, such as:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 187
diff changeset
415 *
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
416 * Note: All the data in the returned stream must be read prior to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
417 * getting the value of any other column. The next call to a getter
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
418 * method implicitly closes the stream. Also, a stream may return 0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
419 * when the method InputStream.available is called whether there is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
420 * data available or not.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
421 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
422 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
423 * @return a Java input stream that delivers the database column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
424 * value as a stream of uninterpreted bytes; if the value is SQL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
425 * NULL, the value returned is null
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
426 * @throws SQLException if the columnIndex is not valid; if a
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
427 * database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
428 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
429 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
430 public InputStream getBinaryStream(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
431 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
432 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
433 switch (JdbcSQLTypes[columnIndex - 1]) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
434 case Types.BLOB:
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
435 final Blob blob = getBlob(columnIndex);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
436 if (blob == null)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
437 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
438 return blob.getBinaryStream();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
439 case Types.BINARY:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
440 case Types.VARBINARY:
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
441 /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
442 final byte[] bte = getBytes(columnIndex);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
443 if (bte == null)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
444 return null;
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
445 return new java.io.ByteArrayInputStream(bte);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
446 }
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
447 throw new SQLException("Cannot operate on type: " + types[columnIndex - 1], "M1M05");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
448 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
449 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
450 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
451 }
391
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
452
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
453 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
454 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
455 * of this ResultSet object as a stream of uninterpreted bytes. The
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
456 * value can then be read in chunks from the stream. This method is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
457 * particularly suitable for retrieving large LONGVARBINARY values.
194
1296dbcc4958 Resolved javadoc many errors and warnings, such as:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 187
diff changeset
458 *
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
459 * Note: All the data in the returned stream must be read prior to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
460 * getting the value of any other column. The next call to a getter
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
461 * method implicitly closes the stream. Also, a stream may return 0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
462 * when the method available is called whether there is data
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
463 * available or not.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
464 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
465 * @param columnLabel the label for the column specified with
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
466 * the SQL AS clause. If the SQL AS clause was not specified, then
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
467 * the label is the name of the column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
468 * @return a Java input stream that delivers the database column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
469 * value as a stream of uninterpreted bytes; if the value is SQL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
470 * NULL, the result is null
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
471 * @throws SQLException if the columnLabel is not valid; if a
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
472 * database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
473 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
474 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
475 public InputStream getBinaryStream(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
476 return getBinaryStream(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
477 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
478
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
479 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
480 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
481 * of this ResultSet object as a java.io.Reader object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
482 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
483 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
484 * @return a java.io.Reader object that contains the column value;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
485 * if the value is SQL NULL, the value returned is null in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
486 * the Java programming language.
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
487 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
488 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
489 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
490 public Reader getCharacterStream(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
491 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
492 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
493 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
494 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
495 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
496 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
497 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
498 lastReadWasNull = false;
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
499 return new java.io.StringReader(val);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
500 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
501 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
502 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
503 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
504
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
505 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
506 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
507 * of this ResultSet object as a java.io.Reader object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
508 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
509 * @param columnLabel the name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
510 * @return a java.io.Reader object that contains the column value;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
511 * if the value is SQL NULL, the value returned is null in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
512 * the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
513 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
514 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
515 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
516 public Reader getCharacterStream(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
517 return getCharacterStream(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
518 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
519
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
520 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
521 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
522 * of this ResultSet object as a java.io.Reader object. It is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
523 * intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
524 * columns.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
525 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
526 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
527 * @return a java.io.Reader object that contains the column value;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
528 * if the value is SQL NULL, the value returned is null in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
529 * the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
530 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
531 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
532 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
533 public Reader getNCharacterStream(final int columnIndex) throws SQLException {
152
352b54ff0436 Implemented ResultSet method getNCharacterStream()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 151
diff changeset
534 return getCharacterStream(columnIndex);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
535 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
536
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
537 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
538 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
539 * of this ResultSet object as a java.io.Reader object. It is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
540 * intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
541 * columns.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
542 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
543 * @param columnLabel the name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
544 * @return a java.io.Reader object that contains the column value;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
545 * if the value is SQL NULL, the value returned is null in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
546 * the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
547 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
548 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
549 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
550 public Reader getNCharacterStream(final String columnLabel) throws SQLException {
152
352b54ff0436 Implemented ResultSet method getNCharacterStream()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 151
diff changeset
551 return getCharacterStream(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
552 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
553
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
554 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
555 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
556 * of this ResultSet object as a Blob object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
557 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
558 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
559 * @param columnIndex the first column is 1, the second is 2, ...
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
560 * @return a Blob object representing the SQL BLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
561 * specified column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
562 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
563 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
564 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
565 public Blob getBlob(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
566 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
567 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
568 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
569 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
570 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
571 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
572 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
573 lastReadWasNull = false;
329
05c7989eae91 Removed duplicate code for converting a string of hex characters into a byte array, done both in MonetBlob.create() and in MonetResultSet.getBytes().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 296
diff changeset
574 return new MonetBlob(val);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
575 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
576 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
577 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
578 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
579
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
580 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
581 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
582 * of this ResultSet object as a Blob object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
583 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
584 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
585 * @param columnLabel the name of the column from which to retrieve
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
586 * the value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
587 * @return a Blob object representing the SQL BLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
588 * specified column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
589 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
590 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
591 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
592 public Blob getBlob(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
593 return getBlob(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
594 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
595
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
596 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
597 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
598 * of this ResultSet object as a Clob object in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
599 * Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
600 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
601 * @param columnIndex the first column is 1, the second is 2, ...
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
602 * @return a Clob object representing the SQL CLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
603 * specified column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
604 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
605 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
606 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
607 public Clob getClob(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
608 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
609 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
610 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
611 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
612 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
613 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
614 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
615 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
616 return new MonetClob(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
617 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
618 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
619 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
620 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
621
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
622 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
623 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
624 * of this ResultSet object as a Clob object in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
625 * Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
626 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
627 * @param columnLabel the name of the column from which to retrieve
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
628 * the value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
629 * @return a Clob object representing the SQL CLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
630 * specified column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
631 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
632 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
633 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
634 public Clob getClob(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
635 return getClob(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
636 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
637
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
638 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
639 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
640 * of this ResultSet object as a NClob object in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
641 * Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
642 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
643 * @param columnIndex the first column is 1, the second is 2, ...
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
644 * @return a NClob object representing the SQL NCLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
645 * specified column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
646 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
647 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
648 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
649 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
650 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
651 public NClob getNClob(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
652 throw newSQLFeatureNotSupportedException("getNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
653 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
654
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
655 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
656 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
657 * of this ResultSet object as a NClob object in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
658 * Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
659 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
660 * @param columnLabel the name of the column from which to retrieve
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
661 * the value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
662 * @return a NClob object representing the SQL NCLOB value in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
663 * specified column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
664 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
665 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
666 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
667 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
668 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
669 public NClob getNClob(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
670 throw newSQLFeatureNotSupportedException("getNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
671 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
672
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
673 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
674 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
675 * ResultSet object as a java.math.BigDecimal with full precision.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
676 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
677 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
678 * @return the column value (full precision); if the value is SQL NULL,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
679 * the value returned is null in the Java programming language.
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
680 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
681 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
682 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
683 public BigDecimal getBigDecimal(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
684 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
685 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
686 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
687 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
688 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
689 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
690 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
691 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
692 return new BigDecimal(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
693 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
694 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
695 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
696 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
697 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
698 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
699
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
700 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
701 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
702 * ResultSet object as a java.math.BigDecimal with full precision.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
703 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
704 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
705 * @param scale the number of digits to the right of the decimal point
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
706 * @return the column value (full precision); if the value is SQL NULL,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
707 * the value returned is null in the Java programming language.
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
708 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
709 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
710 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
711 @Deprecated
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
712 public BigDecimal getBigDecimal(final int columnIndex, final int scale)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
713 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
714 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
715 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
716 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
717 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
718 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
719 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
720 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
721 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
722 lastReadWasNull = false;
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
723 return (new BigDecimal(val)).setScale(scale);
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
724 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
725 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
726 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
727 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
728 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
729 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
730
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
731 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
732 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
733 * ResultSet object as a java.math.BigDecimal with full precision.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
734 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
735 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
736 * @return the column value (full precision); if the value is SQL NULL,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
737 * the value returned is null in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
738 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
739 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
740 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
741 public BigDecimal getBigDecimal(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
742 return getBigDecimal(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
743 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
744
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
745 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
746 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
747 * ResultSet object as a java.math.BigDecimal with full precision.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
748 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
749 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
750 * @param scale the number of digits to the right of the decimal point
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
751 * @return the column value (full precision); if the value is SQL NULL,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
752 * the value returned is null in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
753 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
754 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
755 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
756 @Deprecated
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
757 public BigDecimal getBigDecimal(final String columnLabel, final int scale)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
758 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
759 {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
760 return getBigDecimal(findColumn(columnLabel), scale);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
761 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
762
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
763 // See Sun JDBC Specification 3.0 Table B-6
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
764 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
765 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
766 * ResultSet object as a boolean in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
767 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
768 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
769 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
770 * is false
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
771 * @throws SQLException if the columnIndex is not valid; if a database access error occurs
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
772 * or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
773 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
774 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
775 public boolean getBoolean(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
776 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
777 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
778 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
779 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
780 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
781 return false; // if the value is SQL NULL, the value returned is false
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
782 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
783 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
784
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
785 // match common cases first
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
786 if ("false".equalsIgnoreCase(val) || "0".equals(val))
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
787 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
788 if ("true".equalsIgnoreCase(val) || "1".equals(val))
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
789 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
790
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
791 // match type specific values
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
792 switch (JdbcSQLTypes[columnIndex - 1]) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
793 case Types.BOOLEAN:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
794 case Types.CHAR:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
795 case Types.VARCHAR:
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
796 /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
797 case Types.CLOB:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
798 // check if string value equals "true" (case insensitive) or not
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
799 return Boolean.parseBoolean(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
800 case Types.TINYINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
801 case Types.SMALLINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
802 case Types.INTEGER:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
803 if (getInt(columnIndex) == 0) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
804 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
805 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
806 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
807 case Types.BIGINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
808 if (getLong(columnIndex) == 0L) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
809 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
810 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
811 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
812 case Types.DOUBLE:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
813 case Types.FLOAT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
814 case Types.REAL:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
815 if (getDouble(columnIndex) == 0.0) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
816 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
817 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
818 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
819 case Types.DECIMAL:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
820 case Types.NUMERIC:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
821 if (getBigDecimal(columnIndex).compareTo(BigDecimal.ZERO) == 0) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
822 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
823 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
824 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
825 default:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
826 throw new SQLException("Conversion from " + types[columnIndex - 1] + " to boolean type not supported", "M1M05");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
827 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
828 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
829 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
830 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
831 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
832
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
833 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
834 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
835 * ResultSet object as a boolean in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
836 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
837 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
838 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
839 * is false
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
840 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
841 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
842 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
843 public boolean getBoolean(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
844 return getBoolean(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
845 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
846
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
847 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
848 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
849 * ResultSet object as a byte in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
850 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
851 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
852 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
853 * is 0
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
854 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
855 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
856 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
857 public byte getByte(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
858 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
859 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
860 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
861 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
862 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
863 return (byte) 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
864 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
865 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
866 return Byte.parseByte(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
867 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
868 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
869 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
870 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
871 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
872 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
873
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
874 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
875 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
876 * ResultSet object as a byte in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
877 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
878 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
879 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
880 * is 0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
881 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
882 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
883 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
884 public byte getByte(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
885 return getByte(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
886 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
887
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
888 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
889 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
890 * ResultSet object as a byte array in the Java programming language. The
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
891 * bytes represent the raw values returned by the driver.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
892 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
893 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
894 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
895 * is null
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
896 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
897 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
898 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
899 public byte[] getBytes(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
900 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
901 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
902 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
903 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
904 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
905 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
906 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
907 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
908
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
909 // According to Table B-6, getBytes() only operates on BINARY types
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
910 switch (JdbcSQLTypes[columnIndex - 1]) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
911 case Types.BLOB:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
912 case Types.BINARY:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
913 case Types.VARBINARY:
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
914 /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */
329
05c7989eae91 Removed duplicate code for converting a string of hex characters into a byte array, done both in MonetBlob.create() and in MonetResultSet.getBytes().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 296
diff changeset
915 return MonetBlob.hexStrToByteArray(val);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
916 default:
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
917 throw new SQLException("Cannot operate on type: " + types[columnIndex - 1], "M1M05");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
918 }
20
dbb8e7c2dbbf Added missing catch (NumberFormatException e) to getBytes(col)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 12
diff changeset
919 } catch (NumberFormatException e) {
dbb8e7c2dbbf Added missing catch (NumberFormatException e) to getBytes(col)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 12
diff changeset
920 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
921 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
922 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
923 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
924 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
925
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
926 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
927 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
928 * ResultSet object as a byte array in the Java programming language. The
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
929 * bytes represent the raw values returned by the driver.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
930 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
931 * NOTE: Since the mapi protocol is ASCII-based, this method only returns
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
932 * Java byte representations of Strings, which is nothing more than
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
933 * an encoding into a sequence of bytes using the platform's default
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
934 * charset.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
935 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
936 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
937 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
938 * is null
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
939 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
940 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
941 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
942 public byte[] getBytes(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
943 return getBytes(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
944 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
945
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
946 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
947 * Retrieves the concurrency mode of this ResultSet object. The concurrency
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
948 * used is determined by the Statement object that created the result set.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
949 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
950 * NOTE: MonetDB only supports read-only result sets, and will always return
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
951 * ResultSet.CONCUR_READ_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
952 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
953 * @return the concurrency type, either ResultSet.CONCUR_READ_ONLY or
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
954 * ResultSet.CONCUR_UPDATABLE
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
955 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
956 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
957 public int getConcurrency() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
958 return concurrency;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
959 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
960
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
961 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
962 * Retrieves the name of the SQL cursor used by this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
963 * In SQL, a result table is retrieved through a cursor that is named.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
964 * For MonetDB this is the header.id returned in a resultset header. The
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
965 * current row of a result set can be updated or deleted using a positioned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
966 * update/delete statement that references the cursor name. To insure that
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
967 * the cursor has the proper isolation level to support update, the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
968 * cursor's SELECT statement should be of the form SELECT FOR UPDATE. If
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
969 * FOR UPDATE is omitted, the positioned updates may fail.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
970 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
971 * The JDBC API supports this SQL feature by providing the name of the SQL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
972 * cursor used by a ResultSet object. The current row of a ResultSet object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
973 * is also the current row of this SQL cursor.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
974 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
975 * Note: If positioned update is not supported, a SQLException is thrown.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
976 * MonetDB currently doesn't support updates, so the SQLException is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
977 * thrown for now.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
978 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
979 * @return the SQL name for this ResultSet object's cursor
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
980 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
981 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
982 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
983 public String getCursorName() throws SQLException {
471
e14e81b8044e Improved performance of ResultSetMetaData methods getPrecision(), getScale(), isNullable() and isAutoIncrement().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 451
diff changeset
984 throw new SQLException("Positioned updates not supported for this cursor ("
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
985 + (header != null ? header.id + ")" : ")"), "0AM21");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
986 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
987
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
988 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
989 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
990 * ResultSet object as a double in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
991 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
992 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
993 * @return the column value; if the value is SQL NULL, the value returned is 0
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
994 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
995 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
996 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
997 public double getDouble(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
998 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
999 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1000 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1001 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1002 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1003 return 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1004 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1005 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1006 return Double.parseDouble(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1007 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1008 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1009 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1010 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1011 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1012 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1013
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1014 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1015 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1016 * ResultSet object as a double in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1017 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1018 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1019 * @return the column value; if the value is SQL NULL, the value returned is 0
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1020 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1021 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1022 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1023 public double getDouble(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1024 return getDouble(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1025 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1026
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1027 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1028 * Retrieves the holdability of this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1029 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1030 * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1031 * ResultSet.CLOSE_CURSORS_AT_COMMIT
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1032 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1033 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1034 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1035 public int getHoldability() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1036 return getStatement().getConnection().getHoldability();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1037 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1038
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1039 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1040 * Retrieves the fetch direction for this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1041 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1042 * @return the current fetch direction for this ResultSet object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1043 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1044 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1045 public int getFetchDirection() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1046 return ResultSet.FETCH_FORWARD;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1047 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1048
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1049 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1050 * Gives a hint as to the direction in which the rows in this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1051 * object will be processed. The initial value is determined by the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1052 * Statement object that produced this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1053 * The fetch direction may be changed at any time.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1054 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1055 * @param direction - an int specifying the suggested fetch direction;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1056 * one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1057 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1058 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1059 public void setFetchDirection(final int direction) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1060 switch (direction) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1061 case ResultSet.FETCH_FORWARD:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1062 break;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1063 case ResultSet.FETCH_REVERSE:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1064 case ResultSet.FETCH_UNKNOWN:
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
1065 throw new SQLException("Not supported direction: " + direction, "0A000");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1066 default:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1067 throw new SQLException("Illegal direction: " + direction, "M1M05");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1068 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1069 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1070
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1071 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1072 * Retrieves the fetch size for this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1073 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1074 * @return the current fetch size for this ResultSet object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1075 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1076 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1077 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1078 public int getFetchSize() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1079 return fetchSize;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1080 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1081
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1082 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1083 * Gives the JDBC driver a hint as to the number of rows that should be
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1084 * fetched from the database when more rows are needed. In MonetDB, this is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1085 * actually a no-op, because even before a MonetResultSet object is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1086 * created, the fetch size is already determined in the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1087 * MonetConnection.ResultSetResponse passed to its constructor. Since all
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1088 * data blocks for this whole result set are already allocated in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1089 * MonetConnection.ResultSetResponse, it is too complicated and error-prone
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1090 * to still change the fetchSize here. If one really needs to overwrite
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1091 * the default fetchSize, please use MonetStatement.setFetchSize() instead.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1092 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1093 * @param rows the number of rows to fetch
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1094 * @throws SQLException if the condition 0 &lt;= rows is not satisfied
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1095 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1096 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1097 public void setFetchSize(final int rows) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1098 if (rows >= 0) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1099 fetchSize = rows;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1100 } else {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1101 throw new SQLException("Illegal fetch size value: " + rows, "M1M05");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1102 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1103 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1104
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1105 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1106 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1107 * ResultSet object as a float in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1108 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1109 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1110 * @return the column value; if the value is SQL NULL, the value returned is 0
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1111 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1112 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1113 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1114 public float getFloat(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1115 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1116 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1117 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1118 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1119 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1120 return 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1121 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1122 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1123 return Float.parseFloat(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1124 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1125 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1126 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1127 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1128 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1129 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1130
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1131 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1132 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1133 * ResultSet object as a float in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1134 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1135 * @param columnLabel the SQL name of the column
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1136 * @return the column value; if the value is SQL NULL, the value returned is 0
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1137 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1138 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1139 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1140 public float getFloat(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1141 return getFloat(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1142 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1143
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1144 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1145 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1146 * ResultSet object as an int in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1147 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1148 * @param columnIndex the first column is 1, the second is 2, ...
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1149 * @return the column value; if the value is SQL NULL, the value returned is 0
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1150 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1151 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1152 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1153 public int getInt(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1154 checkNotClosed();
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1155 String val = "";
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1156 try {
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1157 val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1158 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1159 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1160 return 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1161 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1162 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1163 return Integer.parseInt(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1164 } catch (NumberFormatException e) {
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1165 // The oid datatype values (as string) have a @0 suffix in the string value.
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1166 // To allow succesful parsing and conversion to int, we need to remove the suffix first
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1167 if ("oid".equals(types[columnIndex - 1])) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1168 if (val.endsWith("@0")) {
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1169 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1170 return Integer.parseInt(val.substring(0, val.length()-2));
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1171 } catch (NumberFormatException nfe) {
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1172 throw newSQLNumberFormatException(nfe);
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1173 }
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1174 }
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1175 }
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1176 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1177 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1178 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1179 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1180 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1181
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1182 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1183 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1184 * ResultSet object as an int in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1185 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1186 * @param columnLabel the SQL name of the column
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1187 * @return the column value; if the value is SQL NULL, the value returned is 0
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1188 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1189 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1190 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1191 public int getInt(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1192 return getInt(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1193 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1194
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1195 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1196 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1197 * ResultSet object as a long in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1198 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1199 * @param columnIndex the first column is 1, the second is 2, ...
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1200 * @return the column value; if the value is SQL NULL, the value returned is 0
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1201 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1202 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1203 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1204 public long getLong(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1205 checkNotClosed();
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1206 String val = "";
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1207 try {
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1208 val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1209 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1210 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1211 return 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1212 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1213 lastReadWasNull = false;
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1214 return Long.parseLong(val);
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1215 } catch (NumberFormatException e) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1216 // The oid datatype values (as string) have a @0 suffix in the string value.
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1217 // To allow succesful parsing and conversion to long, we need to remove the suffix first
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1218 if ("oid".equals(types[columnIndex - 1])) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1219 if (val.endsWith("@0")) {
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1220 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1221 return Long.parseLong(val.substring(0, val.length()-2));
11
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1222 } catch (NumberFormatException nfe) {
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1223 throw newSQLNumberFormatException(nfe);
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1224 }
01b9672e9308 Improved speed of ResultSet.getLong().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 10
diff changeset
1225 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1226 }
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1227 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1228 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1229 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1230 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1231 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1232
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1233 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1234 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1235 * ResultSet object as a long in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1236 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1237 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1238 * @return the column value; if the value is SQL NULL, the value returned is 0
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1239 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1240 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1241 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1242 public long getLong(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1243 return getLong(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1244 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1245
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1246 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1247 * Retrieves the number, types and properties of this ResultSet object's
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1248 * columns.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1249 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1250 * @return the description of this ResultSet object's columns
725
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1251 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1252 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1253 @Override
286
d430f8adbf1b Add keyword "final" to those variables which do not change after first assigment.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 266
diff changeset
1254 public ResultSetMetaData getMetaData() throws SQLException {
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
1255 if (rsmd == null) {
716
aeb268156580 Updated Copyright year.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 714
diff changeset
1256 // first use, construct it once and reuse it for all next calls
725
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1257 if (header != null) {
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1258 rsmd = new MonetResultSetMetaData((MonetConnection) getStatement().getConnection(), header);
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1259 } else {
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1260 // this will be a MonetVirtualResultSet object, see MonetStatement.getGeneratedKeys()
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1261 // create arrays for storing the result columns meta data to pass to the constructor
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1262 final int array_size = 1;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1263 final String[] schemas = new String[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1264 final String[] tables = new String[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1265 final String[] columns = new String[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1266 final String[] types = new String[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1267 final int[] jdbcTypes = new int[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1268 final int[] lengths = new int[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1269 final int[] precisions = new int[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1270 final int[] scales = new int[array_size];
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1271 // fill the arrays with the getGeneratedKeys() resultset columns metadata. It only has 1 column.
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1272 schemas[0] = null;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1273 tables[0] = null;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1274 columns[0] = "GENERATED_KEY";
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1275 types[0] = "bigint";
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1276 jdbcTypes[0] = Types.BIGINT;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1277 lengths[0] = 20;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1278 precisions[0] = 19;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1279 scales[0] = 0;
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1280 rsmd = new MonetResultSetMetaData((MonetConnection) getStatement().getConnection(), 1,
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1281 schemas, tables, columns, types, jdbcTypes, lengths, precisions, scales);
224d73363dc9 Fixed issue when you create a new Statement, call getGeneratedKeys().getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 716
diff changeset
1282 }
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
1283 }
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
1284 return rsmd;
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
1285 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1286
713
c3c424a90a42 Improve implementation of ResultSet.getMetaData().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 709
diff changeset
1287 /**
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1288 * Gets the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1289 * ResultSet object as an Object in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1290 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1291 * This method will return the value of the given column as a Java object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1292 * The type of the Java object will be the default Java object type
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1293 * corresponding to the column's SQL type, following the mapping for
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1294 * built-in types specified in the JDBC specification. If the value is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1295 * an SQL NULL, the driver returns a Java null.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1296 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1297 * This method may also be used to read database-specific abstract data
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1298 * types. In the JDBC 2.0 API, the behavior of method getObject is extended
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1299 * to materialize data of SQL user-defined types. When a column contains a
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1300 * structured or distinct value, the behavior of this method is as if it
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1301 * were a call to: getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1302 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1303 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1304 * @return a java.lang.Object holding the column value or null
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1305 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1306 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1307 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1308 public Object getObject(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1309 // Many generic JDBC programs use getObject(colnr) to retrieve value objects from a resultset
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1310 // For speed the implementation should be as fast as possible, so avoid method calls (by inlining code) where possible
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1311 checkNotClosed();
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1312
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1313 final int JdbcType;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1314 final String val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1315 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1316 val = tlp.values[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1317 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1318 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1319 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1320 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1321 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1322 JdbcType = JdbcSQLTypes[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1323 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1324 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1325 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1326
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
1327 switch (JdbcType) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1328 case Types.TINYINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1329 case Types.SMALLINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1330 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1331 return Short.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1332 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1333 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1334 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1335 case Types.INTEGER:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1336 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1337 return Integer.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1338 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1339 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1340 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1341 case Types.BIGINT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1342 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1343 return Long.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1344 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1345 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1346 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1347 case Types.DOUBLE:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1348 case Types.FLOAT:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1349 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1350 return Double.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1351 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1352 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1353 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1354 case Types.REAL:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1355 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1356 return Float.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1357 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1358 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1359 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1360 case Types.DECIMAL:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1361 case Types.NUMERIC:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1362 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1363 return new BigDecimal(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1364 } catch (NumberFormatException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1365 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1366 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1367 case Types.BOOLEAN:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1368 return Boolean.valueOf(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1369 case Types.VARCHAR:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1370 {
642
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 623
diff changeset
1371 // The MonetDB types: inet, json, url, uuid and xml are all mapped to Types.VARCHAR in MonetDriver.typeMap
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 623
diff changeset
1372 // For these MonetDB types (except json and xml, see comments below) we try to create objects of the corresponding class.
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1373 final String MonetDBType = types[columnIndex - 1];
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1374 switch (MonetDBType.length()) {
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1375 case 3:
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1376 if ("url".equals(MonetDBType)) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1377 try {
391
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
1378 final org.monetdb.jdbc.types.URL url_obj = new org.monetdb.jdbc.types.URL();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1379 url_obj.fromString(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1380 return url_obj;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1381 } catch (Exception exc) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1382 // ignore exception and just return the val String object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1383 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1384 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1385 }
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1386 break;
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1387 case 4:
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1388 if ("inet".equals(MonetDBType)) {
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1389 try {
391
f523727db392 Moved Java classes from packages starting with nl.cwi.monetdb.* to package org.monetdb.*
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 384
diff changeset
1390 final org.monetdb.jdbc.types.INET inet_obj = new org.monetdb.jdbc.types.INET();
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1391 inet_obj.fromString(val);
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1392 return inet_obj;
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1393 } catch (Exception exc) {
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1394 // ignore exception and just return the val String object
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1395 return val;
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1396 }
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1397 } else
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1398 if ("uuid".equals(MonetDBType)) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1399 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1400 return java.util.UUID.fromString(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1401 } catch (IllegalArgumentException exc) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1402 // ignore exception and just return the val String object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1403 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1404 }
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1405 // } else
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1406 // if ("json".equals(MonetDBType)) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1407 // There is no support for JSON in standard java class libraries.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1408 // Possibly we could use org.json.simple.JSONObject or other/faster libs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1409 // javax.json.Json is not released yet (see https://json-processing-spec.java.net/)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1410 // see also https://github.com/fabienrenaud/java-json-benchmark
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1411 // Note that it would make our JDBC driver dependent of an external jar
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1412 // and we don't want that so simply return it as String object
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1413 // return val;
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1414 }
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1415 break;
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
1416 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1417 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1418 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1419 case Types.CHAR:
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
1420 /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1421 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1422 case Types.CLOB:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1423 return new MonetClob(val);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1424 case Types.BLOB:
329
05c7989eae91 Removed duplicate code for converting a string of hex characters into a byte array, done both in MonetBlob.create() and in MonetResultSet.getBytes().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 296
diff changeset
1425 return new MonetBlob(val);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1426 case Types.DATE:
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1427 return getDate(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1428 case Types.TIME:
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
1429 case Types.TIME_WITH_TIMEZONE:
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1430 return getTime(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1431 case Types.TIMESTAMP:
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
1432 case Types.TIMESTAMP_WITH_TIMEZONE:
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1433 return getTimestamp(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1434 case Types.BINARY:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1435 case Types.VARBINARY:
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
1436 /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1437 return getBytes(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1438 case Types.OTHER:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1439 default:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1440 // When we get here the column type is a non-standard JDBC SQL type, possibly a User Defined Type.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1441 // Just call getObject(int, Map) for those rare cases.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1442 return getObject(columnIndex, this.getStatement().getConnection().getTypeMap());
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1443 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1444 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1445
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1446 private final boolean classImplementsSQLData(final Class<?> cl) {
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1447 final Class<?>[] cls = cl.getInterfaces();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1448 for (int i = 0; i < cls.length; i++) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1449 if (cls[i] == SQLData.class)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1450 return true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1451 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1452 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1453 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1454
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1455 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1456 * Gets the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1457 * ResultSet object as an Object in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1458 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1459 * This method will return the value of the given column as a Java object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1460 * The type of the Java object will be the default Java object type corresponding
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1461 * to the column's SQL type, following the mapping for built-in types specified
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1462 * in the JDBC specification.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1463 * If the value is an SQL NULL, the driver returns a Java null.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1464 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1465 * This method may also be used to read database-specific abstract data types.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1466 * In the JDBC 2.0 API, the behavior of method getObject is extended to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1467 * materialize data of SQL user-defined types.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1468 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1469 * If Connection.getTypeMap does not throw a SQLFeatureNotSupportedException, then
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1470 * when a column contains a structured or distinct value, the behavior of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1471 * method is as if it were a call to: getObject(columnIndex,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1472 * this.getStatement().getConnection().getTypeMap()).
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1473 * If Connection.getTypeMap does throw a SQLFeatureNotSupportedException, then
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1474 * structured values are not supported, and distinct values are mapped to the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1475 * default Java class as determined by the underlying SQL type of the DISTINCT type.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1476 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1477 * @param columnIndex the first column is 1, the second is 2, ...
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1478 * @param map a java.util.Map object that contains the mapping from SQL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1479 * type names to classes in the Java programming language
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1480 * @return an Object in the Java programming language representing the SQL value
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1481 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1482 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1483 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1484 @SuppressWarnings("unchecked")
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1485 public Object getObject(final int columnIndex, final Map<String,Class<?>> map)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1486 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1487 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1488 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1489 final String val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1490 final String MonetDBtype;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1491 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1492 val = tlp.values[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1493 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1494 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1495 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1496 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1497 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1498 MonetDBtype = types[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1499 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1500 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1501 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1502
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1503 Class<?> type = null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1504 if (map != null && map.containsKey(MonetDBtype)) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1505 type = map.get(MonetDBtype);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1506 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1507 if (type == null) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1508 // fallback to the standard SQL type Class mappings
714
ad7b08ef7745 Moving static method getClassForType() from MonetResulSet to MonetDriver class which is a much more logical place.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 713
diff changeset
1509 type = MonetDriver.getClassForType(JdbcSQLTypes[columnIndex - 1]);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1510 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1511
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1512 if (type == null || type == String.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1513 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1514 } else if (type == BigDecimal.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1515 return getBigDecimal(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1516 } else if (type == Boolean.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1517 return Boolean.valueOf(getBoolean(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1518 } else if (type == Short.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1519 return Short.valueOf(getShort(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1520 } else if (type == Integer.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1521 return Integer.valueOf(getInt(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1522 } else if (type == Long.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1523 return Long.valueOf(getLong(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1524 } else if (type == Float.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1525 return Float.valueOf(getFloat(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1526 } else if (type == Double.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1527 return Double.valueOf(getDouble(columnIndex));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1528 } else if (type == byte[].class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1529 return getBytes(columnIndex);
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
1530 } else if (type == Date.class) {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1531 return getDate(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1532 } else if (type == Time.class) {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1533 return getTime(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1534 } else if (type == Timestamp.class) {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1535 return getTimestamp(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1536 } else if (type == Clob.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1537 return getClob(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1538 } else if (type == Blob.class) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1539 return getBlob(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1540 } else if (classImplementsSQLData(type)) {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1541 final SQLData x;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1542 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1543 final java.lang.reflect.Constructor<? extends SQLData> ctor =
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1544 ((Class)type).getConstructor();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1545 x = ctor.newInstance();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1546 } catch (NoSuchMethodException nsme) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1547 throw new SQLException(nsme.getMessage(), "M0M27");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1548 } catch (InstantiationException ie) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1549 throw new SQLException(ie.getMessage(), "M0M27");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1550 } catch (IllegalAccessException iae) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1551 throw new SQLException(iae.getMessage(), "M0M27");
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1552 } catch (java.lang.reflect.InvocationTargetException ite) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1553 throw new SQLException(ite.getMessage(), "M0M27");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1554 } catch (SecurityException se) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1555 throw new SQLException(se.getMessage(), "M0M27");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1556 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1557 final int colnum = columnIndex;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1558 final boolean valwasnull = wasNull();
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1559 final SQLInput input = new SQLInput() {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1560 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1561 public String readString() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1562 return getString(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1563 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1564
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1565 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1566 public boolean readBoolean() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1567 return getBoolean(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1568 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1569
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1570 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1571 public byte readByte() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1572 return getByte(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1573 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1574
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1575 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1576 public short readShort() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1577 return getShort(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1578 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1579
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1580 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1581 public int readInt() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1582 return getInt(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1583 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1584
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1585 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1586 public long readLong() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1587 return getLong(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1588 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1589
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1590 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1591 public float readFloat() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1592 return getFloat(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1593 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1594
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1595 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1596 public double readDouble() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1597 return getDouble(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1598 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1599
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1600 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1601 public BigDecimal readBigDecimal() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1602 return getBigDecimal(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1603 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1604
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1605 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1606 public byte[] readBytes() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1607 return getBytes(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1608 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1609
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1610 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
1611 public Date readDate() throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1612 return getDate(colnum, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1613 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1614
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1615 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
1616 public Time readTime() throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1617 return getTime(colnum, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1618 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1619
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1620 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1621 public Timestamp readTimestamp() throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1622 return getTimestamp(colnum, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1623 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1624
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1625 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1626 public Reader readCharacterStream() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1627 return getCharacterStream(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1628 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1629
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1630 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1631 public InputStream readAsciiStream() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1632 return getAsciiStream(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1633 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1634
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1635 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1636 public InputStream readBinaryStream() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1637 return getBinaryStream(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1638 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1639
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1640 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1641 public Object readObject() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1642 return getObject(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1643 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1644
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1645 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1646 public Ref readRef() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1647 return getRef(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1648 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1649
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1650 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1651 public Blob readBlob() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1652 return getBlob(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1653 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1654
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1655 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1656 public Clob readClob() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1657 return getClob(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1658 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1659
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1660 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1661 public Array readArray() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1662 return getArray(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1663 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1664
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1665 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1666 public boolean wasNull() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1667 return valwasnull;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1668 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1669
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1670 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1671 public URL readURL() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1672 return getURL(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1673 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1674
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1675 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1676 public NClob readNClob() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1677 return getNClob(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1678 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1679
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1680 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1681 public String readNString() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1682 return getNString(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1683 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1684
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1685 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1686 public SQLXML readSQLXML() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1687 return getSQLXML(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1688 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1689
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1690 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1691 public RowId readRowId() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1692 return getRowId(colnum);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1693 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1694 };
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1695 x.readSQL(input, MonetDBtype);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1696 return x;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1697 } else {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1698 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1699 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1700 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1701
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1702 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1703 * Gets the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1704 * ResultSet object as an Object in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1705 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1706 * This method will return the value of the given column as a Java object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1707 * The type of the Java object will be the default Java object type
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1708 * corresponding to the column's SQL type, following the mapping for
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1709 * built-in types specified in the JDBC specification. If the value is an
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1710 * SQL NULL, the driver returns a Java null.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1711 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1712 * This method may also be used to read database-specific abstract data
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1713 * types.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1714 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1715 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1716 * @return a java.lang.Object holding the column value
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1717 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1718 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1719 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1720 public Object getObject(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1721 return getObject(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1722 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1723
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1724 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1725 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1726 * ResultSet object as an Object in the Java programming language. If the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1727 * value is an SQL NULL, the driver returns a Java null. This method uses
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1728 * the specified Map object for custom mapping if appropriate.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1729 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1730 * @param columnLabel the name of the column from which to retrieve the value
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1731 * @param map a java.util.Map object that contains the mapping from SQL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1732 * type names to classes in the Java programming language
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1733 * @return an Object representing the SQL value in the specified column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1734 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1735 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1736 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1737 public Object getObject(final String columnLabel, final Map<String,Class<?>> map) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1738 return getObject(findColumn(columnLabel), map);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1739 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1740
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1741 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1742 public Ref getRef(int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1743 throw newSQLFeatureNotSupportedException("getRef");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1744 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1745
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1746 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1747 public Ref getRef(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1748 throw newSQLFeatureNotSupportedException("getRef");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1749 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1750
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1751 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1752 * Retrieves the current row number. The first row is number 1, the second
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1753 * number 2, and so on.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1754 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1755 * @return the current row number; 0 if there is no current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1756 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1757 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1758 public int getRow() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1759 return curRow;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1760 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1761
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1762 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1763 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1764 * of this ResultSet object as a java.sql.RowId object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1765 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1766 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1767 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1768 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1769 * is null
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1770 * @throws SQLException if there is no such column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1771 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1772 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1773 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1774 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1775 public RowId getRowId(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1776 throw newSQLFeatureNotSupportedException("getRowId");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1777 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1778
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1779 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1780 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1781 * of this ResultSet object as a java.sql.RowId object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1782 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1783 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1784 * @param columnLabel the SQL name of the column
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1785 * @return the column value; if the value is SQL NULL, the value returned
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1786 * is null
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1787 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1788 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1789 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1790 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1791 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1792 public RowId getRowId(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1793 throw newSQLFeatureNotSupportedException("getRowId");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1794 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1795
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1796 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1797 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1798 * ResultSet object as a short in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1799 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1800 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1801 * @return the column value; if the value is SQL NULL, the value returned is 0
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1802 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1803 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1804 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1805 public short getShort(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1806 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1807 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1808 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1809 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1810 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1811 return 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1812 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1813 lastReadWasNull = false;
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1814 return Short.parseShort(val);
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1815 } catch (NumberFormatException e) {
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
1816 throw newSQLNumberFormatException(e);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1817 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1818 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1819 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1820 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1821
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1822 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1823 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1824 * ResultSet object as a short in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1825 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1826 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1827 * @return the column value; if the value is SQL NULL, the value returned is 0
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1828 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1829 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1830 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1831 public short getShort(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1832 return getShort(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1833 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1834
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1835 /**
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1836 * Retrieves the Statement object that produced this ResultSet object.
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1837 * If the result set was generated some other way, such as by a
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1838 * DatabaseMetaData method, this method may return null.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1839 *
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1840 * In our implementation we always return a non-null object, see constructors.
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1841 * Also from subclass MonetVirtualResultSet, see its constructor.
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1842 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1843 * @return the Statement object that produced this ResultSet object or
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1844 * null if the result set was produced some other way
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1845 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1846 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1847 public Statement getStatement() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1848 return statement;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1849 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1850
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1851 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1852 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1853 * ResultSet object as a String in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1854 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1855 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1856 * @return the column value; if the value is SQL NULL, the value returned is null
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1857 * @throws SQLException if there is no such column or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1858 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1859 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1860 public String getString(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1861 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1862 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1863 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1864 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1865 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1866 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1867 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1868 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1869 return val;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1870 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1871 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1872 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1873 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1874
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1875 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1876 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1877 * ResultSet object as a String in the Java programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1878 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1879 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1880 * @return the column value; if the value is SQL NULL, the value returned is null
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1881 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1882 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1883 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1884 public String getString(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1885 return getString(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1886 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1887
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1888 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1889 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1890 * of this ResultSet object as a String in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1891 * language. It is intended for use when accessing NCHAR,NVARCHAR
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1892 * and LONGNVARCHAR columns.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1893 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1894 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1895 * @return the column value; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1896 * @throws SQLException if there is no such column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1897 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1898 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1899 public String getNString(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1900 return getString(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1901 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1902
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1903 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1904 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1905 * of this ResultSet object as a String in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1906 * language. It is intended for use when accessing NCHAR,NVARCHAR
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1907 * and LONGNVARCHAR columns.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1908 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1909 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1910 * @return the column value; if the value is SQL NULL, the value returned is null
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1911 * @throws SQLException if the ResultSet object does not contain columnLabel
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1912 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1913 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1914 public String getNString(final String columnLabel) throws SQLException {
152
352b54ff0436 Implemented ResultSet method getNCharacterStream()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 151
diff changeset
1915 return getString(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1916 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1917
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1918 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1919 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1920 * of this ResultSet as a java.sql.SQLXML object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1921 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1922 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1923 * @param columnIndex the first column is 1, the second is 2, ...
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1924 * @return a SQLXML object that maps an SQL XML value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1925 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1926 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1927 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1928 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1929 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1930 public SQLXML getSQLXML(final int columnIndex) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1931 throw newSQLFeatureNotSupportedException("getSQLXML");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1932 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1933
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1934 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1935 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1936 * of this ResultSet as a java.sql.SQLXML object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1937 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1938 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
1939 * @param columnLabel the label for the column specified with the SQL AS
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1940 * clause. If the SQL AS clause was not specified, then the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1941 * label is the name of the column
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1942 * @return a SQLXML object that maps an SQL XML value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1943 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1944 * @throws SQLFeatureNotSupportedException the JDBC driver does
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1945 * not support this method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1946 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1947 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1948 public SQLXML getSQLXML(final String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1949 throw newSQLFeatureNotSupportedException("getSQLXML");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1950 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1951
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1952 // This behaviour is according table B-6 of Sun JDBC Specification 3.0
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
1953 private SimpleDateFormat dateFormat;
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
1954 private SimpleDateFormat timeFormat;
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
1955 private SimpleDateFormat timestampFormat;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1956 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1957 * Helper method which parses the date/time value for columns of type
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1958 * TIME, DATE and TIMESTAMP. For the types CHAR, VARCHAR and
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1959 * LONGVARCHAR an attempt is made to parse the date according to the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1960 * given type. The given Calender object is filled with the parsed
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1961 * data. Optional fractional seconds (nanos) are returned by this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1962 * method. If the underlying type of the column is none of the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1963 * mentioned six, January 1st 1970 0:00:00 GMT is returned.<br />
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1964 * The dates are parsed with the given Calendar.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1965 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1966 * @param cal the Calendar to use/fill when parsing the date/time
554
9fa67487f38a Doc comment fixes
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 480
diff changeset
1967 * @param columnIndex the column to parse
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1968 * @param type the corresponding java.sql.Types type of the calling function
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1969 * @return the fractional seconds (nanos) or -1 if the value is NULL
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1970 * @throws SQLException if a database error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1971 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
1972 private final int getJavaDate(final Calendar cal, final int columnIndex, int type)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1973 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1974 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
1975 checkNotClosed();
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
1976 if (cal == null)
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
1977 throw new IllegalArgumentException("No Calendar object given!");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1978
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
1979 final String monetDateStr;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1980 final String monetDate;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1981 final String MonetDBType;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1982 int JdbcType;
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
1983 boolean negativeYear = false;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1984 try {
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
1985 monetDateStr = tlp.values[columnIndex - 1];
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
1986 if (monetDateStr == null) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1987 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1988 return -1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1989 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1990 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1991 MonetDBType = types[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1992 JdbcType = JdbcSQLTypes[columnIndex - 1];
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1993 // If we got a string type, set the JdbcType to the given type
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1994 // so we attempt to parse it as the caller thinks it is.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1995 if (JdbcType == Types.CHAR ||
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1996 JdbcType == Types.VARCHAR ||
735
3dd0d43014e8 Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 725
diff changeset
1997 /* JdbcType == Types.LONGVARCHAR || // MonetDB doesn't use type LONGVARCHAR */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1998 JdbcType == Types.CLOB)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1999 {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2000 JdbcType = type;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2001 }
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2002
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2003 if ((JdbcType == Types.DATE || JdbcType == Types.TIMESTAMP || JdbcType == Types.TIMESTAMP_WITH_TIMEZONE)
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2004 && monetDateStr.startsWith("-")) {
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2005 // the SimpleDateFormat parsers do not support to parse negative year numbers, deal with it separately
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2006 negativeYear = true;
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2007 monetDate = monetDateStr.substring(1);
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2008 } else {
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2009 monetDate = monetDateStr;
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2010 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2011 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2012 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2013 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2014
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2015 TimeZone ptz = cal.getTimeZone();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2016
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2017 // it is important to parse the time in the given timezone in
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2018 // order to get a correct (UTC) time value, hence we need to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2019 // parse it first
26
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2020 if (MonetDBType != null && ("timetz".equals(MonetDBType) || "timestamptz".equals(MonetDBType))) {
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2021 int vallen = monetDate.length();
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2022 if (vallen >= 6) {
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2023 // MonetDB/SQL99: Sign TwoDigitHours : Minutes
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2024 ptz = TimeZone.getTimeZone("GMT" + monetDate.substring(vallen - 6, vallen));
46dde2b2c991 Small code improvements
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 25
diff changeset
2025 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2026 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2027
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2028 java.util.Date pdate = null;
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2029 final java.text.ParsePosition ppos = new java.text.ParsePosition(0);
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2030 switch (JdbcType) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2031 case Types.DATE:
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2032 if (dateFormat == null) {
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2033 // first time usage, create and keep the dateFormat object for next usage
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2034 dateFormat = new SimpleDateFormat("yyyy-MM-dd");
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2035 }
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2036 dateFormat.setTimeZone(ptz);
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2037 pdate = dateFormat.parse(monetDate, ppos);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2038 break;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2039 case Types.TIME:
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2040 case Types.TIME_WITH_TIMEZONE:
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2041 if (timeFormat == null) {
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2042 // first time usage, create and keep the timeFormat object for next usage
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2043 timeFormat = new SimpleDateFormat("HH:mm:ss");
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2044 }
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2045 timeFormat.setTimeZone(ptz);
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2046 pdate = timeFormat.parse(monetDate, ppos);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2047 break;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2048 case Types.TIMESTAMP:
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2049 case Types.TIMESTAMP_WITH_TIMEZONE:
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2050 if (timestampFormat == null) {
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2051 // first time usage, create and keep the timestampFormat object for next usage
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2052 timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2053 }
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2054 timestampFormat.setTimeZone(ptz);
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2055 pdate = timestampFormat.parse(monetDate, ppos);
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2056 // if parsing with timestampFormat failed try to parse it in dateFormat
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2057 if (pdate == null && monetDate.length() <= 10 && monetDate.contains("-")) {
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2058 if (dateFormat == null) {
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2059 // first time usage, create and keep the dateFormat object for next usage
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2060 dateFormat = new SimpleDateFormat("yyyy-MM-dd");
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2061 }
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2062 dateFormat.setTimeZone(ptz);
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2063 pdate = dateFormat.parse(monetDate, ppos);
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2064 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2065 break;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2066 default:
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2067 throw new SQLException("Internal error, unsupported data type: " + type, "01M03");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2068 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2069 if (pdate == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2070 // parsing failed
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2071 final StringBuilder errMsg = new StringBuilder(128);
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2072 final int epos = ppos.getErrorIndex();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2073 if (epos == -1) {
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2074 errMsg.append("parsing '").append(monetDateStr).append("' failed");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2075 } else if (epos < monetDate.length()) {
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2076 errMsg.append("parsing failed at pos ").append(epos + (negativeYear ? 2 : 1))
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2077 .append(" found: '").append(monetDate.charAt(epos))
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2078 .append("' in '").append(monetDateStr).append("'");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2079 } else {
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2080 errMsg.append("parsing failed, expected more data after '").append(monetDateStr).append("'");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2081 }
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2082 throw new SQLException(errMsg.toString(), "01M10");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2083 }
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2084
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2085 cal.setTime(pdate);
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2086 if (negativeYear) {
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2087 // System.out.println("Current cal: " + cal.toString());
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2088 // using cal.set(Calendar.YEAR, -(cal.get(Calendar.YEAR))); does not work. We must set the ERA instead
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2089 cal.set(Calendar.ERA, java.util.GregorianCalendar.BC);
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2090 // System.out.println("Corrected cal: " + cal.toString());
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2091 }
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2092
380
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2093 if (JdbcType == Types.TIME
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2094 || JdbcType == Types.TIME_WITH_TIMEZONE
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2095 || JdbcType == Types.TIMESTAMP
bf521f343172 Added support for new Java 8 java.sql.Types: Types.TIME_WITH_TIMEZONE and Types.TIMESTAMP_WITH_TIMEZONE.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 377
diff changeset
2096 || JdbcType == Types.TIMESTAMP_WITH_TIMEZONE) {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2097 // parse additional nanos (if any)
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2098 int nanos = 0;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2099 int pos = ppos.getIndex();
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2100 final char[] monDate = monetDate.toCharArray();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2101 if (pos < monDate.length && monDate[pos] == '.') {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2102 pos++;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2103 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2104 int ctr;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2105 nanos = getIntrinsicValue(monDate[pos], pos++);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2106 for (ctr = 1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2107 pos < monDate.length &&
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2108 monDate[pos] >= '0' &&
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2109 monDate[pos] <= '9';
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2110 ctr++)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2111 {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2112 if (ctr < 9) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2113 nanos *= 10;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2114 nanos += (getIntrinsicValue(monDate[pos], pos));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2115 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2116 if (ctr == 2) // we have three at this point
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2117 cal.set(Calendar.MILLISECOND, nanos);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2118 pos++;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2119 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2120 while (ctr++ < 9)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2121 nanos *= 10;
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2122 } catch (MCLParseException e) {
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2123 final int offset = e.getErrorOffset();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2124 addWarning(e.getMessage() +
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2125 " found: '" + monDate[offset] +
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2126 "' in: \"" + monetDate +
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2127 "\" at pos: " + offset, "01M10");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2128 // default value
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2129 nanos = 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2130 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2131 }
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2132 return nanos;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2133 }
198
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2134
376a15ce49e3 Improve parsing negative years.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 196
diff changeset
2135 return 0;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2136 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2137
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2138 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2139 * Small helper method that returns the intrinsic value of a char if
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2140 * it represents a digit. If a non-digit character is encountered
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2141 * an MCLParseException is thrown.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2142 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2143 * @param c the char
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2144 * @param pos the position
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2145 * @return the intrinsic value of the char
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2146 * @throws MCLParseException if c is not a digit
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2147 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2148 private static final int getIntrinsicValue(final char c, final int pos)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2149 throws MCLParseException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2150 {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2151 // note: don't use Character.isDigit() here, because
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2152 // we only want ISO-LATIN-1 digits
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2153 if (c >= '0' && c <= '9') {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2154 return (int)c - (int)'0';
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2155 } else {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2156 throw new MCLParseException("Expected a digit", pos);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2157 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2158 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2159
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2160 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2161 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2162 * ResultSet object as a java.sql.Date object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2163 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2164 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2165 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2166 * @return the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2167 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2168 * @see #getDate(int col, Calendar cal)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2169 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2170 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2171 public Date getDate(final int columnIndex) throws SQLException {
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2172 return getDate(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2173 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2174
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2175 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2176 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2177 * ResultSet object as a java.sql.Date object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2178 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2179 * millisecond value for the date if the underlying database does not store
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2180 * timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2181 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2182 * @param columnIndex the first column is 1, the second is 2, ...
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2183 * @param cal the java.util.Calendar object to use in constructing the date
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2184 * @return the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2185 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2186 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2187 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2188 public Date getDate(final int columnIndex, Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2189 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2190 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2191 checkNotClosed();
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2192 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2193 final String val = tlp.values[columnIndex - 1];
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2194 if (val == null) {
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2195 lastReadWasNull = true;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2196 return null;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2197 }
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2198 lastReadWasNull = false;
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2199 if (cal == null) {
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2200 // try to convert string directly to a Date object
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2201 // Note: the string must be in JDBC date escape format: yyyy-[m]m-[d]d
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2202 try {
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2203 return Date.valueOf(val);
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2204 } catch (IllegalArgumentException iae) {
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2205 // this happens if string doesn't match the format, such as for years < 1000 (including negative years)
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2206 // in those cases just continue and use slower getJavaDate(cal, columnIndex, Types.DATE) method
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2207 }
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2208 cal = Calendar.getInstance();
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2209 }
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2210 if (getJavaDate(cal, columnIndex, Types.DATE) == -1)
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2211 return null;
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2212 return new Date(cal.getTimeInMillis());
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2213 } catch (IndexOutOfBoundsException e) {
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2214 throw newSQLInvalidColumnIndexException(columnIndex);
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2215 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2216 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2217
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2218 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2219 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2220 * ResultSet object as a java.sql.Date object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2221 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2222 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2223 * @param columnLabel the SQL name of the column from which to retrieve the value
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2224 * @return the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2225 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2226 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2227 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2228 public Date getDate(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2229 return getDate(findColumn(columnLabel), null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2230 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2231
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2232 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2233 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2234 * ResultSet object as a java.sql.Date object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2235 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2236 * millisecond value for the date if the underlying database does not store
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2237 * timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2238 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2239 * @param columnLabel the SQL name of the column from which to retrieve the value
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2240 * @param cal the java.util.Calendar object to use in constructing the date
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2241 * @return the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2242 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2243 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2244 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2245 public Date getDate(final String columnLabel, final Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2246 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2247 {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2248 return getDate(findColumn(columnLabel), cal);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2249 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2250
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2251 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2252 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2253 * ResultSet object as a java.sql.Time object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2254 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2255 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2256 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2257 * @return the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2258 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2259 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2260 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2261 public Time getTime(final int columnIndex) throws SQLException {
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2262 return getTime(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2263 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2264
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2265 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2266 * Retrieves the value of the designated column in the current row of
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2267 * this ResultSet object as a java.sql.Time object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2268 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2269 * millisecond value for the time if the underlying database does not store
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2270 * timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2271 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2272 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2273 * @param cal the java.util.Calendar object to use in constructing the timestamp
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2274 * @return the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2275 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2276 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2277 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2278 public Time getTime(final int columnIndex, Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2279 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2280 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2281 checkNotClosed();
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2282 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2283 final String val = tlp.values[columnIndex - 1];
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2284 if (val == null) {
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2285 lastReadWasNull = true;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2286 return null;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2287 }
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2288 lastReadWasNull = false;
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2289 if (cal == null) {
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2290 // try to convert string directly to a Time object
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2291 // Note: the string must be in JDBC time escape format: hh:mm:ss
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2292 try {
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2293 return Time.valueOf(val);
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2294 } catch (IllegalArgumentException iae) {
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2295 // this happens if string doesn't match the format or hh >= 24 or mm >= 60 or ss >= 60
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2296 // in those cases just continue and use slower getJavaDate(cal, columnIndex, Types.TIME) method
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2297 }
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2298 cal = Calendar.getInstance();
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2299 }
480
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2300 if (getJavaDate(cal, columnIndex, Types.TIME) == -1)
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2301 return null;
849af4b76b28 Optimise code by reducing local variables which are used only once, replacing complex string concatenation by using StringBuilder, replacing some ternairy operators.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 471
diff changeset
2302 return new Time(cal.getTimeInMillis());
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2303 } catch (IndexOutOfBoundsException e) {
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2304 throw newSQLInvalidColumnIndexException(columnIndex);
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2305 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2306 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2307
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2308 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2309 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2310 * ResultSet object as a java.sql.Time object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2311 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2312 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2313 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2314 * @return the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2315 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2316 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2317 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2318 public Time getTime(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2319 return getTime(findColumn(columnLabel), null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2320 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2321
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2322 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2323 * Retrieves the value of the designated column in the current row of
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2324 * this ResultSet object as a java.sql.Time object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2325 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2326 * millisecond value for the time if the underlying database does not store
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2327 * timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2328 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2329 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2330 * @param cal the java.util.Calendar object to use in constructing the timestamp
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2331 * @return the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2332 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2333 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2334 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2335 public Time getTime(final String columnLabel, final Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2336 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2337 {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2338 return getTime(findColumn(columnLabel), cal);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2339 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2340
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2341 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2342 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2343 * ResultSet object as a java.sql.Timestamp object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2344 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2345 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2346 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2347 * @return the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2348 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2349 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2350 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2351 public Timestamp getTimestamp(final int columnIndex) throws SQLException {
137
688cd5675466 Improved robustness of ResultSet methods:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 90
diff changeset
2352 return getTimestamp(columnIndex, null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2353 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2354
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2355 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2356 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2357 * ResultSet object as a java.sql.Timestamp object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2358 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2359 * millisecond value for the timestamp if the underlying database does not
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2360 * store timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2361 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2362 * @param columnIndex the first column is 1, the second is 2, ...
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2363 * @param cal the java.util.Calendar object to use in constructing the timestamp
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2364 * @return the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2365 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2366 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2367 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2368 public Timestamp getTimestamp(final int columnIndex, Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2369 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2370 {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2371 checkNotClosed();
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2372 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2373 final String val = tlp.values[columnIndex - 1];
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2374 if (val == null) {
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2375 lastReadWasNull = true;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2376 return null;
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2377 }
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2378 lastReadWasNull = false;
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2379 if (cal == null) {
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2380 // try to convert the string directly to a Timestamp object
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2381 // Note: the string must be in JDBC timestamp escape format: yyyy-[m]m-[d]d hh:mm:ss[.f...]
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2382 try {
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2383 return Timestamp.valueOf(val);
196
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2384 } catch (IllegalArgumentException iae) {
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2385 // this happens if string doesn't match the format, such as for years < 1000 (including negative years)
95b48b249f68 First fix for bug 6468
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 194
diff changeset
2386 // in those cases just continue and use slower getJavaDate(cal, columnIndex, Types.TIMESTAMP) method
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2387 }
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2388 cal = Calendar.getInstance();
143
dcf7879d4862 Optimised ResulSet methods getDate(column), getTime(column) and getTimestamp(column)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 139
diff changeset
2389 }
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2390 final int nanos = getJavaDate(cal, columnIndex, Types.TIMESTAMP);
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2391 if (nanos == -1)
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2392 return null;
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2393
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2394 final Timestamp ts = new Timestamp(cal.getTimeInMillis());
145
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2395 ts.setNanos(nanos);
b18cfb312330 Improved code to fix failing tests in sql/jdbc/tests/Tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 144
diff changeset
2396 return ts;
139
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2397 } catch (IndexOutOfBoundsException e) {
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2398 throw newSQLInvalidColumnIndexException(columnIndex);
9df089b0d69d Improve performance of ResulSet methods getDate(), getTime() getTimestamp()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 137
diff changeset
2399 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2400 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2401
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2402 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2403 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2404 * ResultSet object as a java.sql.Timestamp object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2405 * language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2406 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2407 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2408 * @return the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2409 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2410 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2411 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2412 public Timestamp getTimestamp(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2413 return getTimestamp(findColumn(columnLabel), null);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2414 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2415
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2416 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2417 * Retrieves the value of the designated column in the current row of this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2418 * ResultSet object as a java.sql.Timestamp object in the Java programming
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2419 * language. This method uses the given calendar to construct an appropriate
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2420 * millisecond value for the timestamp if the underlying database does not
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2421 * store timezone information.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2422 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2423 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2424 * @param cal the java.util.Calendar object to use in constructing the timestamp
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2425 * @return the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2426 * @throws SQLException if a database access error occurs
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2427 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2428 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2429 public Timestamp getTimestamp(final String columnLabel, final Calendar cal)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2430 throws SQLException
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2431 {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2432 return getTimestamp(findColumn(columnLabel), cal);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2433 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2434
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2435 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2436 * Retrieves the type of this ResultSet object. The type is determined by
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2437 * the Statement object that created the result set.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2438 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2439 * @return ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE,
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2440 * or ResultSet.TYPE_SCROLL_SENSITIVE
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2441 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2442 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2443 public int getType() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2444 return type;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2445 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2446
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2447 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2448 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2449 * of this ResultSet object as a java.net.URL object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2450 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2451 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2452 * @param columnIndex the index of the column 1 is the first, 2 is the second,...
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2453 * @return the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2454 * @throws SQLException if a database access error occurs, or if a URL is malformed
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2455 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2456 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2457 public URL getURL(final int columnIndex) throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2458 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2459 try {
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2460 final String val = tlp.values[columnIndex - 1];
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2461 if (val == null) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2462 lastReadWasNull = true;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2463 return null;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2464 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2465 lastReadWasNull = false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2466 try {
769
b6d113ee35ae Fixed javac version 20 compiler warnings.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 735
diff changeset
2467 // Note: as of Java version 20 java.net.URL(String) constructor is deprecated.
b6d113ee35ae Fixed javac version 20 compiler warnings.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 735
diff changeset
2468 // https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/net/URL.html#%3Cinit%3E(java.lang.String)
b6d113ee35ae Fixed javac version 20 compiler warnings.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 735
diff changeset
2469 return new java.net.URI(val).toURL();
b6d113ee35ae Fixed javac version 20 compiler warnings.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 735
diff changeset
2470 } catch (java.net.URISyntaxException | java.net.MalformedURLException e) {
b6d113ee35ae Fixed javac version 20 compiler warnings.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 735
diff changeset
2471 throw new SQLException(e.getMessage(), "22M30");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2472 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2473 } catch (IndexOutOfBoundsException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2474 throw newSQLInvalidColumnIndexException(columnIndex);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2475 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2476 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2477
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2478 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2479 * Retrieves the value of the designated column in the current row
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2480 * of this ResultSet object as a java.net.URL object in the Java
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2481 * programming language.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2482 *
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2483 * @param columnLabel the SQL name of the column
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2484 * @return the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2485 * @throws SQLException if a database access error occurs, or if a URL is malformed
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2486 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2487 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2488 public URL getURL(final String columnLabel) throws SQLException {
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2489 return getURL(findColumn(columnLabel));
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2490 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2491
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2492 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2493 * Retrieves the first warning reported by calls on this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2494 * If there is more than one warning, subsequent warnings will be chained to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2495 * the first one and can be retrieved by calling the method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2496 * SQLWarning.getNextWarning on the warning that was retrieved previously.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2497 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2498 * This method may not be called on a closed result set; doing so will cause
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2499 * an SQLException to be thrown.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2500 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2501 * Note: Subsequent warnings will be chained to this SQLWarning.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2502 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2503 * @return the first SQLWarning object or null if there are none
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2504 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2505 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2506 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2507 public SQLWarning getWarnings() throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2508 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2509 // if there are no warnings, this will be null, which fits with the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2510 // specification.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2511 return warnings;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2512 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2513
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2514 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2515 * Retrieves whether the cursor is after the last row in this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2516 * object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2517 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2518 * @return true if the cursor is after the last row; false if the cursor is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2519 * at any other position or the result set contains no rows
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2520 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2521 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2522 @Override
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2523 public boolean isAfterLast() throws SQLException {
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2524 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2525 return curRow == tupleCount + 1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2526 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2527
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2528 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2529 * Retrieves whether the cursor is before the first row in this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2530 * object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2531 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2532 * @return true if the cursor is before the first row; false if the cursor
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2533 * is at any other position or the result set contains no rows
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2534 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2535 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2536 @Override
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2537 public boolean isBeforeFirst() throws SQLException {
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2538 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2539 return curRow == 0;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2540 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2541
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2542 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2543 * Retrieves whether this ResultSet object has been closed. A
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2544 * ResultSet is closed if the method close has been called on it, or
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2545 * if it is automatically closed.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2546 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2547 * @return true if this ResultSet object is closed; false if it is still open
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2548 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2549 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2550 @Override
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2551 public boolean isClosed() throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2552 return header != null && header.isClosed();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2553 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2554
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2555 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2556 * Retrieves whether the cursor is on the first row of this ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2557 * object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2558 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2559 * @return true if the cursor is on the first row; false otherwise
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2560 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2561 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2562 @Override
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2563 public boolean isFirst() throws SQLException {
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2564 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2565 return curRow == 1;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2566 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2567
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2568 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2569 * Retrieves whether the cursor is on the last row of this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2570 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2571 * @return true if the cursor is on the last row; false otherwise
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2572 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2573 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2574 @Override
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2575 public boolean isLast() throws SQLException {
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2576 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2577 return curRow == tupleCount;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2578 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2579
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2580 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2581 * Moves the cursor to the last row in this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2582 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2583 * @return true if the cursor is on a valid row; false if there are no rows
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2584 * in the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2585 * @throws SQLException if a database access error occurs or the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2586 * type is TYPE_FORWARD_ONLY
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2587 * @throws SQLException if a database access error occurs or this method is called on a closed result set
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2588 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2589 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2590 public boolean last() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2591 return absolute(-1);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2592 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2593
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2594 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2595 * Moves the cursor down one row from its current position. A ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2596 * cursor is initially positioned before the first row; the first call to
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2597 * the method next makes the first row the current row; the second call
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2598 * makes the second row the current row, and so on.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2599 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2600 * If an input stream is open for the current row, a call to the method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2601 * next will implicitly close it. A ResultSet object's warning chain is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2602 * cleared when a new row is read.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2603 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2604 * @return true if the new current row is valid; false if there are no
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2605 * more rows
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2606 * @throws SQLException if a database access error occurs or ResultSet is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2607 * closed
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2608 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2609 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2610 public boolean next() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2611 return relative(1);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2612 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2613
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2614 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2615 * Moves the cursor to the previous row in this ResultSet object.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2616 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2617 * @return true if the cursor is on a valid row; false if it is off
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2618 * the result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2619 * @throws SQLException if a database access error occurs or ResultSet is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2620 * closed or the result set type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2621 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2622 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2623 public boolean previous() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2624 return relative(-1);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2625 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2626
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2627 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2628 * Moves the cursor a relative number of rows, either positive or negative.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2629 * Attempting to move beyond the first/last row in the result set positions
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2630 * the cursor before/after the the first/last row. Calling relative(0) is
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2631 * valid, but does not change the cursor position.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2632 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2633 * Note: Calling the method relative(1) is identical to calling the method
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2634 * next() and calling the method relative(-1) is identical to calling the
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2635 * method previous().
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2636 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2637 * @param rows an int specifying the number of rows to move from the current
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2638 * row; a positive number moves the cursor forward; a negative number
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2639 * moves the cursor backward
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2640 * @return true if the cursor is on a row; false otherwise
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2641 * @throws SQLException if a database access error occurs, there is no current
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2642 * row, or the result set type is TYPE_FORWARD_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2643 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2644 @Override
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
2645 public boolean relative(final int rows) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2646 return absolute(curRow + rows);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2647 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2648
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2649 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2650 * Retrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2651 * This method can be used to detect holes in a result set.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2652 * The value returned depends on whether or not this ResultSet object can detect deletions.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2653 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2654 * Note: Support for the rowDeleted method is optional with a result set concurrency of CONCUR_READ_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2655 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2656 * Returns: true if the current row is detected to have been deleted by the owner or another; false otherwise
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2657 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2658 * Throws:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2659 * SQLException - if a database access error occurs or this method is called on a closed result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2660 * Since: 1.2
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2661 * See Also: DatabaseMetaData.deletesAreDetected(int)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2662 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2663 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2664 public boolean rowDeleted() throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2665 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2666 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2667 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2668
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2669 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2670 * Retrieves whether the current row has had an insertion.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2671 * The value returned depends on whether or not this ResultSet object can detect visible inserts.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2672 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2673 * Note: Support for the rowInserted method is optional with a result set concurrency of CONCUR_READ_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2674 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2675 * Returns: true if the current row is detected to have been inserted; false otherwise
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2676 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2677 * Throws:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2678 * SQLException - if a database access error occurs or this method is called on a closed result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2679 * Since: 1.2
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2680 * See Also: DatabaseMetaData.insertsAreDetected(int)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2681 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2682 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2683 public boolean rowInserted() throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2684 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2685 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2686 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2687
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2688 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2689 * Retrieves whether the current row has been updated.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2690 * The value returned depends on whether or not the result set can detect updates.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2691 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2692 * Note: Support for the rowUpdated method is optional with a result set concurrency of CONCUR_READ_ONLY
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2693 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2694 * Returns: true if the current row is detected to have been visibly updated by the owner or another; false otherwise
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2695 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2696 * Throws:
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2697 * SQLException - if a database access error occurs or this method is called on a closed result set
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2698 * Since: 1.2
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2699 * See Also: DatabaseMetaData.updatesAreDetected(int)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2700 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2701 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2702 public boolean rowUpdated() throws SQLException {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
2703 checkNotClosed();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2704 return false;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2705 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2706
262
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
2707
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
2708 /* Next methods are all related to updateable result sets, which we do not support.
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
2709 * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
2710 */
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2711 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2712 public void cancelRowUpdates() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2713 throw newSQLFeatureNotSupportedException("cancelRowUpdates");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2714 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2715
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2716 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2717 public void deleteRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2718 throw newSQLFeatureNotSupportedException("deleteRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2719 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2720
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2721 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2722 public void insertRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2723 throw newSQLFeatureNotSupportedException("insertRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2724 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2725
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2726 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2727 public void moveToCurrentRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2728 throw newSQLFeatureNotSupportedException("moveToCurrentRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2729 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2730
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2731 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2732 public void moveToInsertRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2733 throw newSQLFeatureNotSupportedException("moveToInsertRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2734 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2735
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2736 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2737 public void refreshRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2738 throw newSQLFeatureNotSupportedException("refreshRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2739 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2740
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2741
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2742 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2743 public void updateArray(int columnIndex, Array x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2744 throw newSQLFeatureNotSupportedException("updateArray");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2745 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2746
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2747 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2748 public void updateArray(String columnLabel, Array x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2749 throw newSQLFeatureNotSupportedException("updateArray");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2750 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2751
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2752 @Override
262
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
2753 public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2754 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2755 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2756
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2757 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2758 public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2759 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2760 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2761
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2762 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2763 public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2764 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2765 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2766
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2767 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2768 public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2769 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2770 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2771
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2772 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2773 public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2774 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2775 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2776
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2777 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2778 public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2779 throw newSQLFeatureNotSupportedException("updateAsciiStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2780 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2781
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2782 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2783 public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2784 throw newSQLFeatureNotSupportedException("updateBigDecimal");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2785 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2786
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2787 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2788 public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2789 throw newSQLFeatureNotSupportedException("updateBigDecimal");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2790 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2791
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2792 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2793 public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2794 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2795 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2796
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2797 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2798 public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2799 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2800 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2801
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2802 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2803 public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2804 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2805 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2806
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2807 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2808 public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2809 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2810 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2811
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2812 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2813 public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2814 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2815 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2816
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2817 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2818 public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2819 throw newSQLFeatureNotSupportedException("updateBinaryStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2820 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2821
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2822 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2823 public void updateBlob(int columnIndex, Blob x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2824 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2825 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2826
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2827 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2828 public void updateBlob(int columnIndex, InputStream s) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2829 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2830 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2831
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2832 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2833 public void updateBlob(int columnIndex, InputStream s, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2834 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2835 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2836
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2837 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2838 public void updateBlob(String columnLabel, Blob x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2839 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2840 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2841
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2842 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2843 public void updateBlob(String columnLabel, InputStream s) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2844 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2845 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2846
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2847 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2848 public void updateBlob(String columnLabel, InputStream s, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2849 throw newSQLFeatureNotSupportedException("updateBlob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2850 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2851
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2852 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2853 public void updateBoolean(int columnIndex, boolean x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2854 throw newSQLFeatureNotSupportedException("updateBoolean");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2855 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2856
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2857 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2858 public void updateBoolean(String columnLabel, boolean x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2859 throw newSQLFeatureNotSupportedException("updateBoolean");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2860 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2861
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2862 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2863 public void updateByte(int columnIndex, byte x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2864 throw newSQLFeatureNotSupportedException("updateByte");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2865 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2866
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2867 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2868 public void updateByte(String columnLabel, byte x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2869 throw newSQLFeatureNotSupportedException("updateByte");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2870 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2871
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2872 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2873 public void updateBytes(int columnIndex, byte[] x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2874 throw newSQLFeatureNotSupportedException("updateBytes");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2875 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2876
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2877 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2878 public void updateBytes(String columnLabel, byte[] x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2879 throw newSQLFeatureNotSupportedException("updateBytes");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2880 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2881
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2882 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2883 public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2884 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2885 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2886
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2887 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2888 public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2889 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2890 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2891
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2892 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2893 public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2894 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2895 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2896
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2897 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2898 public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2899 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2900 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2901
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2902 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2903 public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2904 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2905 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2906
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2907 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2908 public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2909 throw newSQLFeatureNotSupportedException("updateCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2910 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2911
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2912 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2913 public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2914 throw newSQLFeatureNotSupportedException("updateNCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2915 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2916
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2917 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2918 public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2919 throw newSQLFeatureNotSupportedException("updateNCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2920 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2921
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2922 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2923 public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2924 throw newSQLFeatureNotSupportedException("updateNCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2925 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2926
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2927 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2928 public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2929 throw newSQLFeatureNotSupportedException("updateNCharacterStream");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2930 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2931
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2932 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2933 public void updateClob(int columnIndex, Clob x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2934 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2935 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2936
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2937 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2938 public void updateClob(int columnIndex, Reader r) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2939 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2940 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2941
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2942 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2943 public void updateClob(int columnIndex, Reader r, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2944 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2945 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2946
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2947 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2948 public void updateClob(String columnLabel, Clob x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2949 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2950 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2951
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2952 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2953 public void updateClob(String columnLabel, Reader r) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2954 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2955 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2956
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2957 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2958 public void updateClob(String columnLabel, Reader r, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2959 throw newSQLFeatureNotSupportedException("updateClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2960 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2961
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2962 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2963 public void updateNClob(int columnIndex, NClob x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2964 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2965 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2966
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2967 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2968 public void updateNClob(int columnIndex, Reader r) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2969 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2970 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2971
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2972 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2973 public void updateNClob(int columnIndex, Reader r, long length) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2974 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2975 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2976
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2977 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2978 public void updateNClob(String columnLabel, NClob x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2979 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2980 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2981
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2982 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2983 public void updateNClob(String columnLabel, Reader r) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2984 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2985 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2986
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2987 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
2988 public void updateNClob(String columnLabel, Reader r, long length) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2989 throw newSQLFeatureNotSupportedException("updateNClob");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2990 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2991
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2992 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2993 public void updateDate(int columnIndex, Date x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2994 throw newSQLFeatureNotSupportedException("updateDate");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2995 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2996
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2997 @Override
773
2bd1983f1c11 Reduce code by importing java.sql.Date; and remove prefix java.sql. where no longer needed.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 769
diff changeset
2998 public void updateDate(String columnLabel, Date x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2999 throw newSQLFeatureNotSupportedException("updateDate");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3000 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3001
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3002 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3003 public void updateDouble(int columnIndex, double x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3004 throw newSQLFeatureNotSupportedException("updateDouble");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3005 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3006
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3007 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3008 public void updateDouble(String columnLabel, double x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3009 throw newSQLFeatureNotSupportedException("updateDouble");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3010 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3011
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3012 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3013 public void updateFloat(int columnIndex, float x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3014 throw newSQLFeatureNotSupportedException("updateFloat");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3015 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3016
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3017 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3018 public void updateFloat(String columnLabel, float x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3019 throw newSQLFeatureNotSupportedException("updateFloat");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3020 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3021
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3022 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3023 public void updateInt(int columnIndex, int x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3024 throw newSQLFeatureNotSupportedException("updateInt");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3025 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3026
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3027 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3028 public void updateInt(String columnLabel, int x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3029 throw newSQLFeatureNotSupportedException("updateInt");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3030 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3031
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3032 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3033 public void updateLong(int columnIndex, long x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3034 throw newSQLFeatureNotSupportedException("updateLong");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3035 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3036
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3037 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3038 public void updateLong(String columnLabel, long x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3039 throw newSQLFeatureNotSupportedException("updateLong");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3040 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3041
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3042 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3043 public void updateNull(int columnIndex) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3044 throw newSQLFeatureNotSupportedException("updateNull");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3045 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3046
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3047 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3048 public void updateNull(String columnLabel) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3049 throw newSQLFeatureNotSupportedException("updateNull");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3050 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3051
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3052 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3053 public void updateObject(int columnIndex, Object x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3054 throw newSQLFeatureNotSupportedException("updateObject");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3055 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3056
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3057 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3058 public void updateObject(int columnIndex, Object x, int scale) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3059 throw newSQLFeatureNotSupportedException("updateObject");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3060 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3061
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3062 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3063 public void updateObject(String columnLabel, Object x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3064 throw newSQLFeatureNotSupportedException("updateObject");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3065 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3066
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3067 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3068 public void updateObject(String columnLabel, Object x, int scale) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3069 throw newSQLFeatureNotSupportedException("updateObject");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3070 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3071
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3072 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3073 public void updateRef(int columnIndex, Ref x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3074 throw newSQLFeatureNotSupportedException("updateRef");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3075 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3076
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3077 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3078 public void updateRef(String columnLabel, Ref x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3079 throw newSQLFeatureNotSupportedException("updateRef");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3080 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3081
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3082 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3083 public void updateRow() throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3084 throw newSQLFeatureNotSupportedException("updateRow");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3085 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3086
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3087 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3088 public void updateRowId(int columnIndex, RowId x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3089 throw newSQLFeatureNotSupportedException("updateRowId");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3090 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3091
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3092 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3093 public void updateRowId(String columnLabel, RowId x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3094 throw newSQLFeatureNotSupportedException("updateRowId");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3095 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3096
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3097 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3098 public void updateShort(int columnIndex, short x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3099 throw newSQLFeatureNotSupportedException("updateShort");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3100 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3101
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3102 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3103 public void updateShort(String columnLabel, short x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3104 throw newSQLFeatureNotSupportedException("updateShort");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3105 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3106
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3107 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3108 public void updateString(int columnIndex, String x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3109 throw newSQLFeatureNotSupportedException("updateString");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3110 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3111
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3112 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3113 public void updateString(String columnLabel, String x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3114 throw newSQLFeatureNotSupportedException("updateString");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3115 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3116
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3117 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3118 public void updateNString(int columnIndex, String x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3119 throw newSQLFeatureNotSupportedException("updateNString");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3120 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3121
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3122 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3123 public void updateNString(String columnLabel, String x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3124 throw newSQLFeatureNotSupportedException("updateNString");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3125 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3126
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3127 @Override
262
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
3128 public void updateSQLXML(int columnIndex, SQLXML x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3129 throw newSQLFeatureNotSupportedException("updateSQLXML");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3130 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3131
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3132 @Override
262
2d62ca1f758b Moved utility method newSQLFeatureNotSupportedException(String name) from MonetPreparedStatement.java and MonetResultSet.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 261
diff changeset
3133 public void updateSQLXML(String columnLabel, SQLXML x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3134 throw newSQLFeatureNotSupportedException("updateSQLXML");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3135 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3136
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3137 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3138 public void updateTime(int columnIndex, Time x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3139 throw newSQLFeatureNotSupportedException("updateTime");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3140 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3141
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3142 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3143 public void updateTime(String columnLabel, Time x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3144 throw newSQLFeatureNotSupportedException("updateTime");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3145 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3146
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3147 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3148 public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3149 throw newSQLFeatureNotSupportedException("updateTimestamp");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3150 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3151
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3152 @Override
151
3d5ea891bb74 Update implementation to match the JDBC spec so use
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 145
diff changeset
3153 public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3154 throw newSQLFeatureNotSupportedException("updateTimestamp");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3155 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3156
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3157 // Chapter 14.2.3.3 Sun JDBC 3.0 Specification
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3158 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3159 * Reports whether the last column read had a value of SQL NULL. Note that
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3160 * you must first call one of the getter methods on a column to try to read
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3161 * its value and then call the method wasNull to see if the value read was
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3162 * SQL NULL.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3163 *
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3164 * @return true if the last column value read was SQL NULL and false otherwise
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3165 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3166 @Override
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3167 public boolean wasNull() {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3168 return lastReadWasNull;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3169 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3170
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3171 //== Java 1.7 methods (JDBC 4.1)
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3172
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3173 /**
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3174 * Retrieves the value of the designated column in the current row
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3175 * of this ResultSet object and will convert from the SQL type of
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3176 * the column to the requested Java data type, if the conversion is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3177 * supported. If the conversion is not supported or null is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3178 * specified for the type, a SQLException is thrown.
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3179 *
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3180 * At a minimum, an implementation must support the conversions defined
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3181 * in Appendix B, Table B-3 and conversion of appropriate user defined
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3182 * SQL types to a Java type which implements SQLData, or Struct.
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3183 * Additional conversions may be supported and are vendor defined.
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3184 *
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3185 * @param columnIndex the first column is 1, the second is 2, ...
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3186 * @param type Class representing the Java data type to convert the
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3187 * designated column to
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3188 * @return an instance of type holding the column value
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3189 * @throws SQLException if conversion is not supported, type is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3190 * null or another error occurs. The getCause() method of
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3191 * the exception may provide a more detailed exception, for
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3192 * example, if a conversion error occurs
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3193 * @throws SQLFeatureNotSupportedException the JDBC driver does
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3194 * not support this method
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3195 */
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3196 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3197 public <T> T getObject(final int columnIndex, final Class<T> type) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3198 checkNotClosed();
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3199 if (type == null)
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3200 throw new SQLException("type is null", "M1M05");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3201
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3202 throw newSQLFeatureNotSupportedException("getObject(column, Class<T> type)");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3203 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3204
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3205 /**
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3206 * Retrieves the value of the designated column in the current row
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3207 * of this ResultSet object and will convert from the SQL type of
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3208 * the column to the requested Java data type, if the conversion is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3209 * supported. If the conversion is not supported or null is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3210 * specified for the type, a SQLException is thrown.
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3211 *
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3212 * @param columnLabel the label for the column specified with the
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3213 * SQL AS clause. If the SQL AS clause was not specified,
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3214 * then the label is the name of the column
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3215 * @param type Class representing the Java data type to convert the
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3216 * designated column to
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3217 * @return an instance of type holding the column value
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3218 * @throws SQLException if conversion is not supported, type is
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3219 * null or another error occurs. The getCause() method of
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3220 * the exception may provide a more detailed exception, for
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3221 * example, if a conversion error occurs
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3222 * @throws SQLFeatureNotSupportedException the JDBC driver does
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3223 * not support this method
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3224 */
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3225 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3226 public <T> T getObject(final String columnLabel, final Class<T> type) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3227 return getObject(findColumn(columnLabel), type);
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3228 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3229
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3230 //== Java 1.8 methods (JDBC 4.2)
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3231
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3232 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3233 public void updateObject(int columnIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3234 throw newSQLFeatureNotSupportedException("updateObject");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3235 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3236
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3237 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3238 public void updateObject(String columnLabel, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3239 throw newSQLFeatureNotSupportedException("updateObject");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3240 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3241
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3242 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3243 public void updateObject(int columnIndex, Object x, SQLType targetSqlType) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3244 throw newSQLFeatureNotSupportedException("updateObject");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3245 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3246
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3247 @Override
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3248 public void updateObject(String columnLabel, Object x, SQLType targetSqlType) throws SQLException {
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3249 throw newSQLFeatureNotSupportedException("updateObject");
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3250 }
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3251
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3252 //== end methods of interface ResultSet
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3253
376
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3254
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3255 //== internal helper methods which do not belong to the JDBC interface
ffdc7b0e102d Updated JDBC driver to comply with JDBC 4.2 interface now we compile for Java 8. This includes:
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 350
diff changeset
3256
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3257 /**
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3258 * Adds a warning to the pile of warnings this ResultSet object has. If
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3259 * there were no warnings (or clearWarnings was called) this warning will
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3260 * be the first, otherwise this warning will get appended to the current
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3261 * warning.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3262 *
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3263 * @param reason the warning message
709
bdeabbd46ec6 Resolve javac and javadoc warnings when compiled with JDK19.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 694
diff changeset
3264 * @param sqlstate the SQLState code (5 characters)
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3265 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
3266 private void addWarning(final String reason, final String sqlstate) {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3267 SQLWarning warng = new SQLWarning(reason, sqlstate);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3268 if (warnings == null) {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3269 warnings = warng;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3270 } else {
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3271 warnings.setNextWarning(warng);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3272 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3273 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3274
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3275 /**
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3276 * Local helper method to test whether the ResultSet object is closed
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3277 * When closed it throws an SQLException
709
bdeabbd46ec6 Resolve javac and javadoc warnings when compiled with JDK19.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 694
diff changeset
3278 *
bdeabbd46ec6 Resolve javac and javadoc warnings when compiled with JDK19.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 694
diff changeset
3279 * @throws SQLException if this ResultSet is closed
187
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3280 */
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3281 private void checkNotClosed() throws SQLException {
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3282 if (isClosed())
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3283 throw new SQLException("ResultSet is closed", "M1M20");
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3284 }
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3285
daa1a4c70879 For MonetresultSet class: added method checkNotClosed() and invocation for all methods which should test it.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 180
diff changeset
3286 /**
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3287 * Small helper method that formats the "Invalid Column Index number ..." message
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3288 * and creates a new SQLDataException object whose SQLState is set
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3289 * to "22010": invalid indicator parameter value.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3290 *
12
a0e8adf10d41 Improved ResultSetMetaData methods isAutoIncrement(), getPrecision(), getScale(), isNullable().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 11
diff changeset
3291 * @param colIdx the column index number
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3292 * @return a new created SQLDataException object with SQLState 22010
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3293 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
3294 public static final SQLDataException newSQLInvalidColumnIndexException(final int colIdx) {
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3295 return new SQLDataException("Invalid Column Index number: " + colIdx, "22010");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3296 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3297
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3298 /**
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
3299 * Small helper method that formats the "Could not convert value to a number" message
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3300 * and creates a new SQLDataException object whose SQLState is set
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3301 * to "22003": Numeric value out of range.
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
3302 *
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
3303 * @param error the NumberFormatException
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3304 * @return a new created SQLDataException object with SQLState 22003
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
3305 */
296
c5efd6e661e5 Add "final" keyword to classes, method arguments and local variables where possible.`
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 292
diff changeset
3306 private static final SQLDataException newSQLNumberFormatException(final NumberFormatException error) {
144
d6abd1ffffbb Use SQLNonTransientConnectionException instead of SQLException where applicable (SQLState starts with 08)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 143
diff changeset
3307 return new SQLDataException("Could not convert value to a number. " + error.getMessage(), "22003");
9
c37a76cc1e6e Corrected ResultSet methods: getByte(), getBigDecimal(), getShort(), getInt(), getLong(), getFloat() and getDouble()
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 8
diff changeset
3308 }
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3309 }