Package org.mariadb.jdbc.message.client

## Class QueryWithParametersPacket

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

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

    public final class QueryWithParametersPacket
    extends Object
    implements RedoableClientMessage

Query client packet COM_QUERY see https://mariadb.com/kb/en/com_query/ same than QueryPacket, but with parameters that will be escaped

### Constructor Summary

Constructors
`QueryWithParametersPacket​(String preSqlCmd, org.mariadb.jdbc.util.ClientParser parser, Parameters parameters)` Constructor

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `batchUpdateLength()` Number of parameter rows, and so expected return length
`String` `description()` Message description
`int` `encode​(Writer encoder, org.mariadb.jdbc.client.Context context)` Encode client message to socket.
`void` `ensureReplayable​(org.mariadb.jdbc.client.Context context)` Ensure that command can be replayed
`void` `saveParameters()` Save parameters of command that can be re-executed
`boolean` `validateLocalFileName​(String fileName, org.mariadb.jdbc.client.Context context)` Request for local file to be validated from current query.

### 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

`binaryProtocol, canSkipMeta, readPacket`

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

`encode, reEncode`

### Constructor Detail

#### QueryWithParametersPacket

    public QueryWithParametersPacket​(String preSqlCmd,
                                     org.mariadb.jdbc.util.ClientParser parser,
                                     Parameters parameters)

Constructor

Parameters:
  `preSqlCmd` - additional pre command
  `parser` - command parser result
  `parameters` - parameters

### Method Detail

#### ensureReplayable

    public void ensureReplayable​(org.mariadb.jdbc.client.Context context)
                          throws IOException,
                                 SQLException

Description copied from interface: `RedoableClientMessage`
Ensure that command can be replayed

Specified by:
  `ensureReplayable` in interface `RedoableClientMessage`
Parameters:
  `context` - connection context
Throws:
  `IOException` - If socket error occurs
  `SQLException` - for other type of issue

#### 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 encoder,
                      org.mariadb.jdbc.client.Context context)
               throws IOException,
                      SQLException

Description copied from interface: `org.mariadb.jdbc.message.ClientMessage`
Encode client message to socket.

Specified by:
  `encode` in interface `org.mariadb.jdbc.message.ClientMessage`
Parameters:
  `encoder` - socket writer
  `context` - connection context
Returns:
  number of client message written
Throws:
  `IOException` - if socket error occur
  `SQLException` - if any issue occurs

#### 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

#### validateLocalFileName

    public boolean validateLocalFileName​(String fileName,
                                         org.mariadb.jdbc.client.Context context)

Description copied from interface: `org.mariadb.jdbc.message.ClientMessage`
Request for local file to be validated from current query.

Specified by:
  `validateLocalFileName` in interface `org.mariadb.jdbc.message.ClientMessage`
Parameters:
  `fileName` - server file request path
  `context` - current connection context
Returns:
  true if file name correspond to demand and query is a load local infile

#### 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