Package org.mariadb.jdbc.util
Class ClientParser
- java.lang.Object
-
- org.mariadb.jdbc.util.ClientParser
-
- All Implemented Interfaces:
PrepareResult
public final class ClientParser extends java.lang.Object implements PrepareResult
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classClientParser.LexState
-
Field Summary
Fields Modifier and Type Field Description private booleanisInsertprivate booleanisInsertDuplicateprivate booleanisMultiQueryprivate intparamCountprivate java.util.List<java.lang.Integer>paramPositionsprivate byte[]queryprivate java.lang.Stringsql
-
Constructor Summary
Constructors Modifier Constructor Description privateClientParser(java.lang.String sql, byte[] query, java.util.List<java.lang.Integer> paramPositions, boolean isInsert, boolean isInsertDuplicate, boolean isMultiQuery)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetParamCount()java.util.List<java.lang.Integer>getParamPositions()byte[]getQuery()java.lang.StringgetSql()booleanisInsert()booleanisInsertDuplicate()booleanisMultiQuery()static ClientParserparameterParts(java.lang.String queryString, boolean noBackslashEscapes)Separate query in a String list and set flag isQueryMultipleRewritable.
-
-
-
Field Detail
-
sql
private final java.lang.String sql
-
query
private final byte[] query
-
paramPositions
private final java.util.List<java.lang.Integer> paramPositions
-
paramCount
private final int paramCount
-
isInsert
private final boolean isInsert
-
isInsertDuplicate
private final boolean isInsertDuplicate
-
isMultiQuery
private final boolean isMultiQuery
-
-
Method Detail
-
parameterParts
public static ClientParser parameterParts(java.lang.String queryString, boolean noBackslashEscapes)
Separate query in a String list and set flag isQueryMultipleRewritable. The resulting string list is separed by ? that are not in comments. isQueryMultipleRewritable flag is set if query can be rewrite in one query (all case but if using "-- comment"). example for query : "INSERT INTO tableName(id, name) VALUES (?, ?)" result list will be : {"INSERT INTO tableName(id, name) VALUES (", ", ", ")"}- Parameters:
queryString- querynoBackslashEscapes- escape mode- Returns:
- ClientPrepareResult
-
getSql
public java.lang.String getSql()
- Specified by:
getSqlin interfacePrepareResult
-
getQuery
public byte[] getQuery()
-
getParamPositions
public java.util.List<java.lang.Integer> getParamPositions()
-
getParamCount
public int getParamCount()
- Specified by:
getParamCountin interfacePrepareResult
-
isInsert
public boolean isInsert()
-
isInsertDuplicate
public boolean isInsertDuplicate()
-
isMultiQuery
public boolean isMultiQuery()
-
-