public class MariaDbProcedureStatement extends CallableProcedureStatement implements CloneableCallableStatement
| Modifier and Type | Field and Description |
|---|---|
private SelectResultSet |
outputResultSet |
hasInOutParameters, outputParameterMapper, parameterMetadata, paramsparameterCountautoGeneratedKeys, SPEC_ISO_ZONED_DATE_TIMEcanUseServerTimeout, closed, connection, exceptionFactory, executing, fetchSize, lock, maxRows, options, protocol, queryTimeout, results, resultSetConcurrency, resultSetScrollType| Constructor and Description |
|---|
MariaDbProcedureStatement(java.lang.String query,
MariaDbConnection connection,
java.lang.String procedureName,
java.lang.String database,
int resultSetType,
int resultSetConcurrency,
ExceptionFactory exceptionFactory)
Specific implementation of CallableStatement to handle function call, represent by call like
{?= call procedure-name[(arg1,arg2, ...)]}.
|
| Modifier and Type | Method and Description |
|---|---|
MariaDbProcedureStatement |
clone(MariaDbConnection connection)
Clone statement.
|
boolean |
execute() |
int[] |
executeBatch()
Submits a batch of send to the database for execution and if all send execute successfully,
returns an array of update counts.
|
protected SelectResultSet |
getOutputResult() |
private void |
retrieveOutputResult() |
private void |
setInputOutputParameterMap() |
void |
setParameter(int parameterIndex,
ParameterHolder holder) |
private void |
setParamsAccordingToSetArguments() |
private void |
validAllParameters()
Valid that all parameters are set.
|
getArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getParameterMetaData, getRef, getRef, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setParametersVariables, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setURL, wasNulladdBatch, addBatch, clearBatch, clearParameters, close, executeInternal, executeLargeBatch, executeQuery, executeUpdate, getMetaData, getParameterCount, getServerThreadId, toString, validParametersexecuteLargeUpdate, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURLcancel, checkClose, checkCloseOnCompletion, clearWarnings, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatchEpilogue, executeBatchExceptionEpilogue, executeEpilogue, executeExceptionEpilogue, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeQueryPrologue, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setTimerTask, skipMoreResults, testExecute, unwrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setURL, wasNulladdBatch, clearParameters, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURLaddBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeoutprivate SelectResultSet outputResultSet
public MariaDbProcedureStatement(java.lang.String query,
MariaDbConnection connection,
java.lang.String procedureName,
java.lang.String database,
int resultSetType,
int resultSetConcurrency,
ExceptionFactory exceptionFactory)
throws java.sql.SQLException
query - queryconnection - current connectionprocedureName - procedure namedatabase - databaseresultSetType - a result set type; one of ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - a concurrency type; one of ResultSet.CONCUR_READ_ONLY
or ResultSet.CONCUR_UPDATABLEexceptionFactory - Exception Factoryjava.sql.SQLException - exceptionprivate void setParamsAccordingToSetArguments()
private void setInputOutputParameterMap()
protected SelectResultSet getOutputResult() throws java.sql.SQLException
getOutputResult in class CallableProcedureStatementjava.sql.SQLExceptionpublic MariaDbProcedureStatement clone(MariaDbConnection connection) throws java.lang.CloneNotSupportedException
clone in interface CloneableCallableStatementclone in class CallableProcedureStatementconnection - connectionjava.lang.CloneNotSupportedException - if any error occur.private void retrieveOutputResult()
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setParameter(int parameterIndex,
ParameterHolder holder)
throws java.sql.SQLException
setParameter in class ServerSidePreparedStatementjava.sql.SQLExceptionpublic boolean execute()
throws java.sql.SQLException
execute in interface java.sql.PreparedStatementexecute in class ServerSidePreparedStatementjava.sql.SQLExceptionprivate void validAllParameters()
throws java.sql.SQLException
java.sql.SQLException - if set parameters is not rightpublic int[] executeBatch()
throws java.sql.SQLException
ServerSidePreparedStatementint elements of the array that is returned
are ordered to correspond to the send in the batch, which are ordered according to the order in
which they were added to the batch. The elements in the array returned by the method
executeBatch may be one of the following:
SUCCESS_NO_INFO -- indicates that the command was processed
successfully but that the number of rows affected is unknown. If one of the send in a
batch update fails to execute properly, this method throws a BatchUpdateException
, and a JDBC driver may or may not continue to process the remaining send in the
batch. However, the driver's behavior must be consistent with a particular DBMS, either
always continuing to process send or never continuing to process send. If the driver
continues processing after a failure, the array returned by the method
BatchUpdateException.getUpdateCounts will contain as many elements as there are
send in the batch, and at least one of the elements will be the following:
EXECUTE_FAILED -- indicates that the command failed to execute
successfully and occurs only if a driver continues to process send after a command fails
The possible implementations and return values have been modified in the Java 2 SDK,
Standard Edition, version 1.3 to accommodate the option of continuing to proccess send in a
batch update after a BatchUpdateException object has been thrown.
executeBatch in interface java.sql.StatementexecuteBatch in class ServerSidePreparedStatementjava.sql.SQLException - if a database access error occurs, this method is called on a closed
Statement or the driver does not support batch statements. Throws BatchUpdateException (a subclass of SQLException) if one of the send sent to
the database fails to execute properly or attempts to return a result set.ServerSidePreparedStatement.addBatch(),
DatabaseMetaData.supportsBatchUpdates()