|
MySQL Connector/J size='-1'>5.0.8 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mysql.jdbc.Statement
public class Statement
A Statement object is used for executing a static SQL statement and obtaining the results produced by it.
Only one ResultSet per Statement can be open at any point in time. Therefore, if the reading of one ResultSet is interleaved with the reading of another, each must have been generated by different Statements. All statement execute methods implicitly close a statement's current ResultSet if an open one exists.
Statement
,
ResultSet
Field Summary | |
---|---|
protected java.util.List |
batchedArgs
Holds batched commands |
protected java.util.ArrayList |
batchedGeneratedKeys
|
protected java.lang.Object |
cancelTimeoutMutex
Mutex to prevent race between returning query results and noticing that we're timed-out or cancelled. |
protected SingleByteCharsetConverter |
charConverter
The character converter to use (if available) |
protected java.lang.String |
charEncoding
The character encoding to use (if available) |
protected Connection |
connection
The connection that created us |
protected long |
connectionId
|
protected boolean |
continueBatchOnError
|
protected java.lang.String |
currentCatalog
The catalog in use |
protected boolean |
doEscapeProcessing
Should we process escape codes? |
protected ProfileEventSink |
eventSink
If we're profiling, where should events go to? |
protected boolean |
holdResultsOpenOverClose
Should this statement hold results open over .close() irregardless of connection's setting? |
protected boolean |
isClosed
Has this statement been closed? |
protected long |
lastInsertId
The auto_increment value for the last insert |
protected int |
maxFieldSize
The max field size for this statement |
protected int |
maxRows
The maximum number of rows to return for this statement (-1 means _all_ rows) |
protected boolean |
maxRowsChanged
Has someone changed this for this statement? |
protected java.util.List |
openResults
List of currently-open ResultSets |
protected boolean |
pedantic
Are we in pedantic mode? |
protected static java.lang.String |
PING_MARKER
|
protected PingTarget |
pingTarget
|
protected java.lang.Throwable |
pointOfOrigin
Where this statement was created, only used if profileSql or useUsageAdvisor set to true. |
protected boolean |
profileSQL
Should we profile? |
protected ResultSet |
results
The current results |
protected int |
resultSetConcurrency
The concurrency for this result set (updatable or not) |
protected int |
resultSetType
The type of this result set (scroll sensitive or in-sensitive) |
protected boolean |
retrieveGeneratedKeys
|
protected static int |
statementCounter
Used to generate IDs when profiling. |
protected int |
statementId
Used to identify this statement when profiling. |
protected int |
timeoutInMillis
The timeout for a query |
protected long |
updateCount
The update count for this statement |
static byte |
USES_VARIABLES_FALSE
|
static byte |
USES_VARIABLES_TRUE
|
static byte |
USES_VARIABLES_UNKNOWN
|
protected boolean |
useUsageAdvisor
Should we use the usage advisor? |
protected java.sql.SQLWarning |
warningChain
The warnings chain. |
protected boolean |
wasCancelled
|
Fields inherited from interface java.sql.Statement |
---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
Constructor Summary | |
---|---|
Statement(Connection c,
java.lang.String catalog)
Constructor for a Statement. |
Method Summary | |
---|---|
void |
addBatch(java.lang.String sql)
DOCUMENT ME! |
void |
cancel()
Cancels this Statement object if both the DBMS and driver support aborting an SQL statement. |
protected void |
checkClosed()
Checks if closed() has been called, and throws an exception if so |
protected void |
checkForDml(java.lang.String sql,
char firstStatementChar)
Checks if the given SQL query with the given first non-ws char is a DML statement. |
protected void |
checkNullOrEmptyQuery(java.lang.String sql)
Method checkNullOrEmptyQuery. |
void |
clearBatch()
JDBC 2.0 Make the set of commands in the current batch empty. |
void |
clearWarnings()
After this call, getWarnings returns null until a new warning is reported for this Statement. |
void |
close()
In many cases, it is desirable to immediately release a Statement's database and JDBC resources instead of waiting for this to happen when it is automatically closed. |
protected void |
closeAllOpenResults()
Close any open result sets that have been 'held open' |
protected boolean |
createStreamingResultSet()
We only stream result sets when they are forward-only, read-only, and the fetch size has been set to Integer.MIN_VALUE |
protected void |
doPingInstead()
|
void |
enableStreamingResults()
Workaround for containers that 'check' for sane values of Statement.setFetchSize(). |
boolean |
execute(java.lang.String sql)
Execute a SQL statement that may return multiple results. |
boolean |
execute(java.lang.String sql,
int returnGeneratedKeys)
|
boolean |
execute(java.lang.String sql,
int[] generatedKeyIndices)
|
boolean |
execute(java.lang.String sql,
java.lang.String[] generatedKeyNames)
|
int[] |
executeBatch()
JDBC 2.0 Submit a batch of commands to the database for execution. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Execute a SQL statement that retruns a single ResultSet |
int |
executeUpdate(java.lang.String sql)
Execute a SQL INSERT, UPDATE or DELETE statement. |
protected int |
executeUpdate(java.lang.String sql,
boolean isBatch)
|
int |
executeUpdate(java.lang.String sql,
int returnGeneratedKeys)
|
int |
executeUpdate(java.lang.String sql,
int[] generatedKeyIndices)
|
int |
executeUpdate(java.lang.String sql,
java.lang.String[] generatedKeyNames)
|
protected int |
findStartOfStatement(java.lang.String sql)
|
protected ResultSet |
generatePingResultSet()
|
protected void |
getBatchedGeneratedKeys()
|
protected void |
getBatchedGeneratedKeys(java.sql.Statement batchedStatement)
|
protected java.util.Calendar |
getCalendarInstanceForSessionOrNew()
Optimization to only use one calendar per-session, or calculate it for each call, depending on user configuration |
java.sql.Connection |
getConnection()
JDBC 2.0 Return the Connection that produced the Statement. |
int |
getFetchDirection()
JDBC 2.0 Determine the fetch direction. |
int |
getFetchSize()
JDBC 2.0 Determine the default fetch size. |
java.sql.ResultSet |
getGeneratedKeys()
DOCUMENT ME! |
protected java.sql.ResultSet |
getGeneratedKeysInternal()
|
protected int |
getId()
Returns the id used when profiling |
long |
getLastInsertID()
getLastInsertID returns the value of the auto_incremented key after an executeQuery() or excute() call. |
long |
getLongUpdateCount()
getLongUpdateCount returns the current result as an update count, if the result is a ResultSet or there are no more results, -1 is returned. |
int |
getMaxFieldSize()
The maxFieldSize limit (in bytes) is the maximum amount of data returned for any column value; it only applies to BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR and LONGVARCHAR columns. |
int |
getMaxRows()
The maxRows limit is set to limit the number of rows that any ResultSet can contain. |
boolean |
getMoreResults()
getMoreResults moves to a Statement's next result. |
boolean |
getMoreResults(int current)
|
int |
getQueryTimeout()
The queryTimeout limit is the number of seconds the driver will wait for a Statement to execute. |
java.sql.ResultSet |
getResultSet()
getResultSet returns the current result as a ResultSet. |
int |
getResultSetConcurrency()
JDBC 2.0 Determine the result set concurrency. |
int |
getResultSetHoldability()
|
protected ResultSet |
getResultSetInternal()
|
int |
getResultSetType()
JDBC 2.0 Determine the result set type. |
int |
getUpdateCount()
getUpdateCount returns the current result as an update count, if the result is a ResultSet or there are no more results, -1 is returned. |
java.sql.SQLWarning |
getWarnings()
The first warning reported by calls on this Statement is returned. |
protected void |
realClose(boolean calledExplicitly,
boolean closeOpenResults)
Closes this statement, and frees resources. |
void |
setCursorName(java.lang.String name)
setCursorName defines the SQL cursor name that will be used by subsequent execute methods. |
void |
setEscapeProcessing(boolean enable)
If escape scanning is on (the default), the driver will do escape substitution before sending the SQL to the database. |
void |
setFetchDirection(int direction)
JDBC 2.0 Give a hint as to the direction in which the rows in a result set will be processed. |
void |
setFetchSize(int rows)
JDBC 2.0 Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. |
protected void |
setHoldResultsOpenOverClose(boolean holdResultsOpenOverClose)
|
void |
setMaxFieldSize(int max)
Sets the maxFieldSize |
void |
setMaxRows(int max)
Set the maximum number of rows |
protected void |
setPingTarget(PingTarget pingTarget)
|
void |
setQueryTimeout(int seconds)
Sets the queryTimeout limit |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.String PING_MARKER
protected java.lang.Object cancelTimeoutMutex
protected static int statementCounter
public static final byte USES_VARIABLES_FALSE
public static final byte USES_VARIABLES_TRUE
public static final byte USES_VARIABLES_UNKNOWN
protected boolean wasCancelled
protected java.util.List batchedArgs
protected SingleByteCharsetConverter charConverter
protected java.lang.String charEncoding
protected Connection connection
protected long connectionId
protected java.lang.String currentCatalog
protected boolean doEscapeProcessing
protected ProfileEventSink eventSink
protected boolean isClosed
protected long lastInsertId
protected int maxFieldSize
protected int maxRows
protected boolean maxRowsChanged
protected java.util.List openResults
protected boolean pedantic
protected java.lang.Throwable pointOfOrigin
protected boolean profileSQL
protected ResultSet results
protected int resultSetConcurrency
protected int resultSetType
protected int statementId
protected int timeoutInMillis
protected long updateCount
protected boolean useUsageAdvisor
protected java.sql.SQLWarning warningChain
protected boolean holdResultsOpenOverClose
protected java.util.ArrayList batchedGeneratedKeys
protected boolean retrieveGeneratedKeys
protected boolean continueBatchOnError
protected PingTarget pingTarget
Constructor Detail |
---|
public Statement(Connection c, java.lang.String catalog) throws java.sql.SQLException
c
- the Connection instantation that creates uscatalog
- the database name in use when we were created
java.sql.SQLException
- if an error occurs.Method Detail |
---|
public void addBatch(java.lang.String sql) throws java.sql.SQLException
addBatch
in interface java.sql.Statement
sql
- DOCUMENT ME!
java.sql.SQLException
- DOCUMENT ME!public void cancel() throws java.sql.SQLException
cancel
in interface java.sql.Statement
java.sql.SQLException
protected void checkClosed() throws java.sql.SQLException
java.sql.SQLException
- if this statement has been closedprotected void checkForDml(java.lang.String sql, char firstStatementChar) throws java.sql.SQLException
sql
- the SQL to checkfirstStatementChar
- the UC first non-ws char of the statement
java.sql.SQLException
- if the statement contains DMLprotected void checkNullOrEmptyQuery(java.lang.String sql) throws java.sql.SQLException
sql
- the SQL to check
java.sql.SQLException
- if query is null or empty.public void clearBatch() throws java.sql.SQLException
clearBatch
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurs, or the driver does not
support batch statementspublic void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurs (why?)public void close() throws java.sql.SQLException
Note: A Statement is automatically closed when it is garbage collected. When a Statement is closed, its current ResultSet, if one exists, is also closed.
close
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occursprotected void closeAllOpenResults()
protected boolean createStreamingResultSet()
public void enableStreamingResults() throws java.sql.SQLException
java.sql.SQLException
public boolean execute(java.lang.String sql) throws java.sql.SQLException
execute
in interface java.sql.Statement
sql
- any SQL statement
java.sql.SQLException
- if a database access error occurspublic boolean execute(java.lang.String sql, int returnGeneratedKeys) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, int)
public boolean execute(java.lang.String sql, int[] generatedKeyIndices) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, int[])
public boolean execute(java.lang.String sql, java.lang.String[] generatedKeyNames) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, String[])
public int[] executeBatch() throws java.sql.SQLException
executeBatch
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurs, or the driver does not
support batch statements
java.sql.BatchUpdateException
- DOCUMENT ME!public java.sql.ResultSet executeQuery(java.lang.String sql) throws java.sql.SQLException
executeQuery
in interface java.sql.Statement
sql
- typically a static SQL SELECT statement
java.sql.SQLException
- if a database access error occursprotected void doPingInstead() throws java.sql.SQLException
java.sql.SQLException
protected ResultSet generatePingResultSet() throws java.sql.SQLException
java.sql.SQLException
public int executeUpdate(java.lang.String sql) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
sql
- a SQL statement
java.sql.SQLException
- if a database access error occursprotected int executeUpdate(java.lang.String sql, boolean isBatch) throws java.sql.SQLException
java.sql.SQLException
public int executeUpdate(java.lang.String sql, int returnGeneratedKeys) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, int)
public int executeUpdate(java.lang.String sql, int[] generatedKeyIndices) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, int[])
public int executeUpdate(java.lang.String sql, java.lang.String[] generatedKeyNames) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, String[])
protected java.util.Calendar getCalendarInstanceForSessionOrNew()
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic int getFetchDirection() throws java.sql.SQLException
getFetchDirection
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurspublic int getFetchSize() throws java.sql.SQLException
getFetchSize
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException
getGeneratedKeys
in interface java.sql.Statement
java.sql.SQLException
- DOCUMENT ME!protected java.sql.ResultSet getGeneratedKeysInternal() throws java.sql.SQLException
java.sql.SQLException
protected int getId()
public long getLastInsertID()
This gets around the un-threadsafe behavior of "select LAST_INSERT_ID()" which is tied to the Connection that created this Statement, and therefore could have had many INSERTS performed before one gets a chance to call "select LAST_INSERT_ID()".
public long getLongUpdateCount()
This method returns longs as MySQL server versions newer than 3.22.4 return 64-bit values for update counts
public int getMaxFieldSize() throws java.sql.SQLException
getMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic int getMaxRows() throws java.sql.SQLException
getMaxRows
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic boolean getMoreResults() throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic boolean getMoreResults(int current) throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
getMoreResults(int)
public int getQueryTimeout() throws java.sql.SQLException
getQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic java.sql.ResultSet getResultSet() throws java.sql.SQLException
getResultSet
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurs (why?)public int getResultSetConcurrency() throws java.sql.SQLException
getResultSetConcurrency
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic int getResultSetHoldability() throws java.sql.SQLException
getResultSetHoldability
in interface java.sql.Statement
java.sql.SQLException
getResultSetHoldability()
protected ResultSet getResultSetInternal()
public int getResultSetType() throws java.sql.SQLException
getResultSetType
in interface java.sql.Statement
java.sql.SQLException
- if an error occurs.public int getUpdateCount() throws java.sql.SQLException
getUpdateCount
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic java.sql.SQLWarning getWarnings() throws java.sql.SQLException
The Warning chain is automatically cleared each time a statement is (re)executed.
Note: If you are processing a ResultSet then any warnings associated with ResultSet reads will be chained on the ResultSet object.
getWarnings
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occursprotected void realClose(boolean calledExplicitly, boolean closeOpenResults) throws java.sql.SQLException
calledExplicitly
- was this called from close()?
java.sql.SQLException
- if an error occurspublic void setCursorName(java.lang.String name) throws java.sql.SQLException
Note: This MySQL driver does not support cursors.
setCursorName
in interface java.sql.Statement
name
- the new cursor name
java.sql.SQLException
- if a database access error occurspublic void setEscapeProcessing(boolean enable) throws java.sql.SQLException
setEscapeProcessing
in interface java.sql.Statement
enable
- true to enable; false to disable
java.sql.SQLException
- if a database access error occurspublic void setFetchDirection(int direction) throws java.sql.SQLException
setFetchDirection
in interface java.sql.Statement
direction
- the initial direction for processing rows
java.sql.SQLException
- if a database-access error occurs or direction is not one
of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or
ResultSet.FETCH_UNKNOWNpublic void setFetchSize(int rows) throws java.sql.SQLException
setFetchSize
in interface java.sql.Statement
rows
- the number of rows to fetch
java.sql.SQLException
- if a database-access error occurs, or the condition 0
<= rows <= this.getMaxRows() is not satisfied.protected void setHoldResultsOpenOverClose(boolean holdResultsOpenOverClose)
public void setMaxFieldSize(int max) throws java.sql.SQLException
setMaxFieldSize
in interface java.sql.Statement
max
- the new max column size limit; zero means unlimited
java.sql.SQLException
- if size exceeds buffer sizepublic void setMaxRows(int max) throws java.sql.SQLException
setMaxRows
in interface java.sql.Statement
max
- the new max rows limit; zero means unlimited
java.sql.SQLException
- if a database access error occursgetMaxRows
public void setQueryTimeout(int seconds) throws java.sql.SQLException
setQueryTimeout
in interface java.sql.Statement
seconds
- -
the new query timeout limit in seconds
java.sql.SQLException
- if a database access error occursprotected void getBatchedGeneratedKeys(java.sql.Statement batchedStatement) throws java.sql.SQLException
java.sql.SQLException
protected void getBatchedGeneratedKeys() throws java.sql.SQLException
java.sql.SQLException
protected int findStartOfStatement(java.lang.String sql)
protected void setPingTarget(PingTarget pingTarget)
|
MySQL Connector/J size='-1'>5.0.8 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |