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