Package com.mysql.cj

Class ParseInfo

java.lang.Object
com.mysql.cj.ParseInfo

public class ParseInfo
extends java.lang.Object
Represents the "parsed" state of a prepared query, with the statement broken up into its static and dynamic (where parameters are bound) parts.
  • Field Details

  • Constructor Details

    • ParseInfo

      public ParseInfo​(java.lang.String sql, Session session, java.lang.String encoding)
    • ParseInfo

      public ParseInfo​(java.lang.String sql, Session session, java.lang.String encoding, boolean buildRewriteInfo)
  • Method Details

    • getStaticSql

      public byte[][] getStaticSql()
    • getValuesClause

      public java.lang.String getValuesClause()
    • getLocationOfOnDuplicateKeyUpdate

      public int getLocationOfOnDuplicateKeyUpdate()
    • canRewriteAsMultiValueInsertAtSqlLevel

      public boolean canRewriteAsMultiValueInsertAtSqlLevel()
    • containsOnDuplicateKeyUpdateInSQL

      public boolean containsOnDuplicateKeyUpdateInSQL()
    • getParseInfoForBatch

      public ParseInfo getParseInfoForBatch​(int numBatch)
      Returns a ParseInfo for a multi-value INSERT for a batch of size numBatch (without parsing!).
      Parameters:
      numBatch - number of batched parameters
      Returns:
      ParseInfo
    • getSqlForBatch

      public 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.
      Parameters:
      numBatch - number of batched parameters
      Returns:
      SQL string
      Throws:
      java.io.UnsupportedEncodingException - if an error occurs
    • getSqlForBatch

      public java.lang.String getSqlForBatch() throws java.io.UnsupportedEncodingException
      Used for filling in the SQL for getPreparedSql() - for debugging
      Returns:
      sql string
      Throws:
      java.io.UnsupportedEncodingException - if an error occurs
    • findStartOfStatement

      protected static int findStartOfStatement​(java.lang.String sql)
    • getOnDuplicateKeyLocation

      public static int getOnDuplicateKeyLocation​(java.lang.String sql, boolean dontCheckOnDuplicateKeyUpdateInSQL, boolean rewriteBatchedStatements, boolean noBackslashEscapes)
    • canRewrite

      protected static boolean canRewrite​(java.lang.String sql, boolean isOnDuplicateKeyUpdate, int locationOfOnDuplicateKeyUpdate, int statementStartPos)
    • isFoundLoadData

      public boolean isFoundLoadData()
    • getFirstStmtChar

      public char getFirstStmtChar()