ResultSetInternalMethods.java
6.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/*
Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
The MySQL Connector/J is licensed under the terms of the GPLv2
<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.
There are special exceptions to the terms and conditions of the GPLv2 as it is applied to
this software, see the FOSS License Exception
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; version 2
of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this
program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
Floor, Boston, MA 02110-1301 USA
*/
package com.mysql.jdbc;
import java.sql.SQLException;
/**
* This interface is intended to be used by implementors of statement interceptors so that implementors can create static or dynamic (via
* java.lang.reflect.Proxy) proxy instances of ResultSets. It consists of methods outside of java.sql.Result that are used internally by other classes in the
* driver.
*
* This interface, although public is <strong>not</strong> designed to be consumed publicly other than for the statement interceptor use case.
*/
public interface ResultSetInternalMethods extends java.sql.ResultSet {
/**
* Returns a new instance of this result set, that shares the
* underlying row data.
*/
public abstract ResultSetInternalMethods copy() throws SQLException;
/**
* Does the result set contain rows, or is it the result of a DDL or DML
* statement?
*/
public abstract boolean reallyResult();
/**
* Functions like ResultSet.getObject(), but using the given SQL type
* (as registered during CallableStatement.registerOutParameter()).
*/
public abstract Object getObjectStoredProc(int columnIndex, int desiredSqlType) throws SQLException;
/**
* Functions like ResultSet.getObject(), but using the given SQL type
* (as registered during CallableStatement.registerOutParameter()).
*/
public abstract Object getObjectStoredProc(int i, java.util.Map<Object, Object> map, int desiredSqlType) throws SQLException;
/**
* Functions like ResultSet.getObject(), but using the given SQL type
* (as registered during CallableStatement.registerOutParameter()).
*/
public abstract Object getObjectStoredProc(String columnName, int desiredSqlType) throws SQLException;
/**
* Functions like ResultSet.getObject(), but using the given SQL type
* (as registered during CallableStatement.registerOutParameter()).
*/
public abstract Object getObjectStoredProc(String colName, java.util.Map<Object, Object> map, int desiredSqlType) throws SQLException;
/**
* Returns the server informational message returned from a DDL or DML
* statement (if any), or null if none.
*/
public String getServerInfo();
/**
* Returns the update count for this result set (if one exists), otherwise
* -1.
*
* @ return the update count for this result set (if one exists), otherwise
* -1.
*/
public long getUpdateCount();
/**
* Returns the AUTO_INCREMENT value for the DDL/DML statement which created
* this result set.
*
* @return the AUTO_INCREMENT value for the DDL/DML statement which created
* this result set.
*/
public long getUpdateID();
/**
* Closes this ResultSet and releases resources.
*
* @param calledExplicitly
* was realClose called by the standard ResultSet.close() method, or was it closed internally by the
* driver?
*/
public void realClose(boolean calledExplicitly) throws SQLException;
/**
* Returns true if this ResultSet is closed
*/
public boolean isClosed() throws SQLException;
/**
* Sets the first character of the query that was issued to create
* this result set. The character should be upper-cased.
*/
public void setFirstCharOfQuery(char firstCharUpperCase);
/**
* Sets the statement that "owns" this result set (usually used when the
* result set should internally "belong" to one statement, but is created
* by another.
*/
public void setOwningStatement(com.mysql.jdbc.StatementImpl owningStatement);
/**
* Returns the first character of the query that was issued to create this
* result set, upper-cased.
*/
public char getFirstCharOfQuery();
/**
* Clears the reference to the next result set in a multi-result set
* "chain".
*/
public void clearNextResult();
/**
* Returns the next ResultSet in a multi-resultset "chain", if any,
* null if none exists.
*/
public ResultSetInternalMethods getNextResultSet();
public void setStatementUsedForFetchingRows(PreparedStatement stmt);
/**
* @param wrapperStatement
* The wrapperStatement to set.
*/
public void setWrapperStatement(java.sql.Statement wrapperStatement);
/**
* Builds a hash between column names and their indices for fast retrieval.
* This is done lazily to support findColumn() and get*(String), as it
* can be more expensive than just retrieving result set values by ordinal
* index.
*/
public void buildIndexMapping() throws SQLException;
public void initializeWithMetadata() throws SQLException;
/**
* Used by DatabaseMetadata implementations to coerce the metadata returned
* by metadata queries into that required by the JDBC specification.
*
* @param metadataFields
* the coerced metadata to be applied to result sets
* returned by "SHOW ..." or SELECTs on INFORMATION_SCHEMA performed on behalf
* of methods in DatabaseMetadata.
*/
public void redefineFieldsForDBMD(Field[] metadataFields);
public void populateCachedMetaData(CachedResultSetMetaData cachedMetaData) throws SQLException;
public void initializeFromCachedMetaData(CachedResultSetMetaData cachedMetaData);
public int getBytesSize() throws SQLException;
}