Class AbstractMultiSend
- java.lang.Object
-
- org.mariadb.jdbc.internal.protocol.AbstractMultiSend
-
public abstract class AbstractMultiSend extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
binaryProtocol
private java.util.List<ParameterHolder[]>
parametersList
protected ColumnType[]
parameterTypeHeader
private PrepareResult
prepareResult
private Protocol
protocol
private java.util.List<java.lang.String>
queries
private java.util.concurrent.ThreadPoolExecutor
readScheduler
private Results
results
private java.lang.String
sql
protected int
statementId
private PacketOutputStream
writer
-
Constructor Summary
Constructors Constructor Description AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, java.util.List<java.lang.String> queries, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for statement.executeBatch().AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ClientPrepareResult clientPrepareResult, java.util.List<ParameterHolder[]> parametersList, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for client-side PreparedStatement.executeBatch (no prepare).AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ServerPrepareResult serverPrepareResult, java.util.List<ParameterHolder[]> parametersList, java.lang.String sql, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for Server PreparedStatement.executeBatch (when no COM_MULTI)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
executeBatch()
Execute Bulk execution (send packets by batch of useBatchMultiSendNumber or when max packet is reached) before reading results.private void
executeBatchStandard(int estimatedParameterCount)
Execute Bulk execution (send packets by batch of useBatchMultiSendNumber or when max packet is reached) before reading results.abstract int
getParamCount()
PrepareResult
getPrepareResult()
abstract int
getTotalExecutionNumber()
abstract java.sql.SQLException
handleResultException(java.sql.SQLException qex, Results results, java.util.List<ParameterHolder[]> parametersList, java.util.List<java.lang.String> queries, int currentCounter, int sendCmdCounter, int paramCount, PrepareResult prepareResult)
abstract void
sendCmd(PacketOutputStream writer, Results results, java.util.List<ParameterHolder[]> parametersList, java.util.List<java.lang.String> queries, int paramCount, BulkStatus status, PrepareResult prepareResult)
-
-
-
Field Detail
-
protocol
private final Protocol protocol
-
writer
private final PacketOutputStream writer
-
results
private final Results results
-
binaryProtocol
private final boolean binaryProtocol
-
statementId
protected int statementId
-
parameterTypeHeader
protected ColumnType[] parameterTypeHeader
-
parametersList
private java.util.List<ParameterHolder[]> parametersList
-
prepareResult
private PrepareResult prepareResult
-
queries
private java.util.List<java.lang.String> queries
-
sql
private java.lang.String sql
-
readScheduler
private java.util.concurrent.ThreadPoolExecutor readScheduler
-
-
Constructor Detail
-
AbstractMultiSend
public AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ServerPrepareResult serverPrepareResult, java.util.List<ParameterHolder[]> parametersList, java.lang.String sql, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for Server PreparedStatement.executeBatch (when no COM_MULTI)- Parameters:
protocol
- protocolwriter
- outputStreamresults
- query resultsserverPrepareResult
- Prepare resultparametersList
- parameterssql
- sql query.readScheduler
- reading thread-pool
-
AbstractMultiSend
public AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ClientPrepareResult clientPrepareResult, java.util.List<ParameterHolder[]> parametersList, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for client-side PreparedStatement.executeBatch (no prepare).- Parameters:
protocol
- current protocolwriter
- outputStreamresults
- resultsclientPrepareResult
- clientPrepareResultparametersList
- parametersreadScheduler
- reading thread-pool
-
AbstractMultiSend
public AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, java.util.List<java.lang.String> queries, java.util.concurrent.ThreadPoolExecutor readScheduler)
Bulk execute for statement.executeBatch().- Parameters:
protocol
- protocolwriter
- outputStreamresults
- resultsqueries
- query listreadScheduler
- reading thread-pool
-
-
Method Detail
-
sendCmd
public abstract void sendCmd(PacketOutputStream writer, Results results, java.util.List<ParameterHolder[]> parametersList, java.util.List<java.lang.String> queries, int paramCount, BulkStatus status, PrepareResult prepareResult) throws java.sql.SQLException, java.io.IOException
- Throws:
java.sql.SQLException
java.io.IOException
-
handleResultException
public abstract java.sql.SQLException handleResultException(java.sql.SQLException qex, Results results, java.util.List<ParameterHolder[]> parametersList, java.util.List<java.lang.String> queries, int currentCounter, int sendCmdCounter, int paramCount, PrepareResult prepareResult)
-
getParamCount
public abstract int getParamCount()
-
getTotalExecutionNumber
public abstract int getTotalExecutionNumber()
-
getPrepareResult
public PrepareResult getPrepareResult()
-
executeBatch
public void executeBatch() throws java.sql.SQLException
Execute Bulk execution (send packets by batch of useBatchMultiSendNumber or when max packet is reached) before reading results.- Throws:
java.sql.SQLException
- if any error occur
-
executeBatchStandard
private void executeBatchStandard(int estimatedParameterCount) throws java.sql.SQLException
Execute Bulk execution (send packets by batch of useBatchMultiSendNumber or when max packet is reached) before reading results.- Parameters:
estimatedParameterCount
- parameter counter- Throws:
java.sql.SQLException
- if any error occur
-
-