public class MariaDbProcedureStatement extends CallableProcedureStatement implements CloneableCallableStatement
Modifier and Type | Field and Description |
---|---|
private SelectResultSet |
outputResultSet |
hasInOutParameters, outputParameterMapper, parameterMetadata, params
currentParameterHolder, metadata, mustExecuteOnMaster, parameterCount, parameterMetaData, queryParameters, returnTableAlias, serverPrepareResult, sql
hasLongData, useFractionalSeconds
batchQueries, canUseServerTimeout, closed, connection, executing, fetchSize, isTimedout, lock, maxRows, mustCloseOnCompletion, options, protocol, queryTimeout, results, resultSetScrollType, timerTaskFuture, warningsCleared
Constructor and Description |
---|
MariaDbProcedureStatement(java.lang.String query,
MariaDbConnection connection,
java.lang.String procedureName,
java.lang.String database)
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() |
protected 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, getParameter, getParameterMetaData, getRef, getRef, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, nameToIndex, 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, wasNull
addBatch, addBatch, clearBatch, clearParameters, close, executeInternal, executeLargeBatch, executeQuery, executeUpdate, getMetaData, getParameterCount, getServerThreadId, toString, validParameters
executeLargeUpdate, 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, setInternalObject, 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, setURL
cancel, checkClose, checkCloseOnCompletion, clearWarnings, closeOnCompletion, execute, execute, execute, execute, executeBatchEpilogue, executeBatchExceptionEpilogue, executeEpilogue, executeExceptionEpilogue, executeInternal, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeQueryPrologue, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getProtocol, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, handleFailoverAndTimeout, internalBatchExecution, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setTimerTask, skipMoreResults, stopTimeoutTask, testExecute, unloadDriver, unwrap
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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, 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, wasNull
addBatch, 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, setURL
addBatch, 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, setQueryTimeout
private SelectResultSet outputResultSet
public MariaDbProcedureStatement(java.lang.String query, MariaDbConnection connection, java.lang.String procedureName, java.lang.String database) throws java.sql.SQLException
query
- queryconnection
- current connectionprocedureName
- procedure namedatabase
- databasejava.sql.SQLException
- exceptionprivate void setParamsAccordingToSetArguments() throws java.sql.SQLException
java.sql.SQLException
private void setInputOutputParameterMap()
protected SelectResultSet getOutputResult() throws java.sql.SQLException
getOutputResult
in class CallableProcedureStatement
java.sql.SQLException
public MariaDbProcedureStatement clone(MariaDbConnection connection) throws java.lang.CloneNotSupportedException
clone
in interface CloneableCallableStatement
clone
in class CallableProcedureStatement
connection
- connectionjava.lang.CloneNotSupportedException
- if any error occur.private void retrieveOutputResult() throws java.sql.SQLException
java.sql.SQLException
protected void setParameter(int parameterIndex, ParameterHolder holder) throws java.sql.SQLException
setParameter
in class MariaDbPreparedStatementServer
java.sql.SQLException
public boolean execute() throws java.sql.SQLException
execute
in interface java.sql.PreparedStatement
execute
in class MariaDbPreparedStatementServer
java.sql.SQLException
private void validAllParameters() throws java.sql.SQLException
java.sql.SQLException
- if set parameters is not rightpublic int[] executeBatch() throws java.sql.SQLException
MariaDbPreparedStatementServer
Submits a batch of send to the database for execution and if all send execute successfully, returns an
array of update counts. The int
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.Statement
executeBatch
in class MariaDbPreparedStatementServer
java.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.MariaDbPreparedStatementServer.addBatch()
,
DatabaseMetaData.supportsBatchUpdates()