com.mysql.jdbc

## Class PreparedStatement.ParseInfo

- java.lang.Object
- - com.mysql.jdbc.PreparedStatement.ParseInfo

Enclosing class:
  PreparedStatement

     class PreparedStatement.ParseInfo
    extends java.lang.Object

### Field Summary

Fields
`(package private) boolean` `canRewriteAsMultiValueInsert`
`(package private) char` `firstStmtChar`
`(package private) boolean` `foundLimitClause`
`(package private) boolean` `foundLoadData`
`(package private) boolean` `isOnDuplicateKeyUpdate`
`(package private) long` `lastUsed`
`(package private) int` `locationOfOnDuplicateKeyUpdate`
`(package private) boolean` `parametersInDuplicateKeyClause`
`(package private) int` `statementLength`
`(package private) int` `statementStartPos`
`(package private) byte[][]` `staticSql`
`(package private) java.lang.String` `valuesClause`

### Constructor Summary

Constructors
Constructor and Description
`PreparedStatement.ParseInfo(java.lang.String sql, MySQLConnection conn, java.sql.DatabaseMetaData dbmd, java.lang.String encoding, SingleByteCharsetConverter converter)` Represents the "parsed" state of a client-side prepared statement, with the statement broken up into it's static and dynamic (where parameters are bound) parts.
`PreparedStatement.ParseInfo(java.lang.String sql, MySQLConnection conn, java.sql.DatabaseMetaData dbmd, java.lang.String encoding, SingleByteCharsetConverter converter, boolean buildRewriteInfo)`

### Method Summary

Methods
`(package private) PreparedStatement.ParseInfo` `getParseInfoForBatch(int numBatch)` Returns a ParseInfo for a multi-value INSERT for a batch of size numBatch (without parsing!).
`(package private) java.lang.String` `getSqlForBatch(int numBatch)` Returns a preparable SQL string for the number of batched parameters, used by server-side prepared statements when re-writing batch INSERTs.
`(package private) java.lang.String` `getSqlForBatch(PreparedStatement.ParseInfo batchInfo)` Used for filling in the SQL for getPreparedSql() - for debugging

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

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

### Field Detail

#### firstStmtChar

    char firstStmtChar

#### foundLimitClause

    boolean foundLimitClause

#### foundLoadData

    boolean foundLoadData

#### lastUsed

    long lastUsed

#### statementLength

    int statementLength

#### statementStartPos

    int statementStartPos

#### canRewriteAsMultiValueInsert

    boolean canRewriteAsMultiValueInsert

#### staticSql

    byte[][] staticSql

#### isOnDuplicateKeyUpdate

    boolean isOnDuplicateKeyUpdate

#### locationOfOnDuplicateKeyUpdate

    int locationOfOnDuplicateKeyUpdate

#### valuesClause

    java.lang.String valuesClause

#### parametersInDuplicateKeyClause

    boolean parametersInDuplicateKeyClause

### Constructor Detail

#### PreparedStatement.ParseInfo

    PreparedStatement.ParseInfo(java.lang.String sql,
                               MySQLConnection conn,
                               java.sql.DatabaseMetaData dbmd,
                               java.lang.String encoding,
                               SingleByteCharsetConverter converter)
                          throws java.sql.SQLException

Represents the "parsed" state of a client-side prepared statement, with the statement broken up into it's static and dynamic (where parameters are bound) parts.

Throws:
  `java.sql.SQLException`

#### PreparedStatement.ParseInfo

    public PreparedStatement.ParseInfo(java.lang.String sql,
                               MySQLConnection conn,
                               java.sql.DatabaseMetaData dbmd,
                               java.lang.String encoding,
                               SingleByteCharsetConverter converter,
                               boolean buildRewriteInfo)
                                throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### getParseInfoForBatch

    PreparedStatement.ParseInfo getParseInfoForBatch(int numBatch)

Returns a ParseInfo for a multi-value INSERT for a batch of size numBatch (without parsing!).

#### getSqlForBatch

    java.lang.String getSqlForBatch(int numBatch)
                              throws java.io.UnsupportedEncodingException

Returns a preparable SQL string for the number of batched parameters, used by server-side prepared statements when re-writing batch INSERTs.

Throws:
  `java.io.UnsupportedEncodingException`

#### getSqlForBatch

    java.lang.String getSqlForBatch(PreparedStatement.ParseInfo batchInfo)
                              throws java.io.UnsupportedEncodingException

Used for filling in the SQL for getPreparedSql() - for debugging

Throws:
  `java.io.UnsupportedEncodingException`