Package org.mariadb.jdbc.message.client

## Class BulkExecutePacket

- java.lang.Object
- - org.mariadb.jdbc.message.client.BulkExecutePacket

All Implemented Interfaces:
  `RedoableClientMessage`, `RedoableWithPrepareClientMessage`, `org.mariadb.jdbc.message.ClientMessage`

    public final class BulkExecutePacket
    extends Object
    implements RedoableWithPrepareClientMessage

batch execution. This relies on COM_STMT_BULK_EXECUTE see https://mariadb.com/kb/en/com_stmt_bulk_execute/

### Constructor Summary

Constructors
`BulkExecutePacket​(Prepare prepareResult, List<Parameters> batchParameterList, String command, ServerPreparedStatement prep)` Constructor

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `batchUpdateLength()` Number of parameter rows, and so expected return length
`boolean` `binaryProtocol()` Are return value encoded in binary protocol
`String` `description()` Message description
`int` `encode​(Writer writer, org.mariadb.jdbc.client.Context context, Prepare newPrepareResult)` encoder method in case of failover, passing new prepared object
`String` `getCommand()` sql command value
`ServerPreparedStatement` `prep()` Server prepare statement caller
`void` `saveParameters()` Save parameters of command that can be re-executed
`void` `setPrepareResult​(PrepareResultPacket prepareResult)` Set prepare result, if pipelining prepare

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.mariadb.jdbc.message.ClientMessage

`canSkipMeta, getLocalInfileInputStream, readPacket, validateLocalFileName`

### Methods inherited from interface org.mariadb.jdbc.message.client.RedoableClientMessage

`ensureReplayable`

### Methods inherited from interface org.mariadb.jdbc.message.client.RedoableWithPrepareClientMessage

`encode, reEncode, rePrepare`

### Constructor Detail

#### BulkExecutePacket

    public BulkExecutePacket​(Prepare prepareResult,
                             List<Parameters> batchParameterList,
                             String command,
                             ServerPreparedStatement prep)

Constructor

Parameters:
  `prepareResult` - prepare result
  `batchParameterList` - batch parameter list
  `command` - sql command
  `prep` - object creator

### Method Detail

#### saveParameters

    public void saveParameters()

Description copied from interface: `RedoableClientMessage`
Save parameters of command that can be re-executed

Specified by:
  `saveParameters` in interface `RedoableClientMessage`

#### encode

    public int encode​(Writer writer,
                      org.mariadb.jdbc.client.Context context,
                      Prepare newPrepareResult)
               throws IOException,
                      SQLException

Description copied from interface: `RedoableWithPrepareClientMessage`
encoder method in case of failover, passing new prepared object

Specified by:
  `encode` in interface `RedoableClientMessage`
Specified by:
  `encode` in interface `RedoableWithPrepareClientMessage`
Parameters:
  `writer` - socket writer
  `context` - connection context
  `newPrepareResult` - new prepare result
Returns:
  number of command sent
Throws:
  `IOException` - if a socket exception occurs
  `SQLException` - for any other kind of error

#### batchUpdateLength

    public int batchUpdateLength()

Description copied from interface: `org.mariadb.jdbc.message.ClientMessage`
Number of parameter rows, and so expected return length

Specified by:
  `batchUpdateLength` in interface `org.mariadb.jdbc.message.ClientMessage`
Returns:
  batch update length

#### getCommand

    public String getCommand()

Description copied from interface: `RedoableWithPrepareClientMessage`
sql command value

Specified by:
  `getCommand` in interface `RedoableWithPrepareClientMessage`
Returns:
  sql command

#### prep

    public ServerPreparedStatement prep()

Description copied from interface: `RedoableWithPrepareClientMessage`
Server prepare statement caller

Specified by:
  `prep` in interface `RedoableWithPrepareClientMessage`
Returns:
  caller

#### binaryProtocol

    public boolean binaryProtocol()

Description copied from interface: `org.mariadb.jdbc.message.ClientMessage`
Are return value encoded in binary protocol

Specified by:
  `binaryProtocol` in interface `org.mariadb.jdbc.message.ClientMessage`
Returns:
  use binary protocol

#### description

    public String description()

Description copied from interface: `org.mariadb.jdbc.message.ClientMessage`
Message description

Specified by:
  `description` in interface `org.mariadb.jdbc.message.ClientMessage`
Returns:
  description

#### setPrepareResult

    public void setPrepareResult​(PrepareResultPacket prepareResult)

Description copied from interface: `RedoableWithPrepareClientMessage`
Set prepare result, if pipelining prepare

Specified by:
  `setPrepareResult` in interface `RedoableWithPrepareClientMessage`
Parameters:
  `prepareResult` - prepare results