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 class
ClientParser.LexState
-
Field Summary
Fields Modifier and Type Field Description private boolean
isInsert
private boolean
isInsertDuplicate
private boolean
isMultiQuery
private int
paramCount
private java.util.List<java.lang.Integer>
paramPositions
private byte[]
query
private java.lang.String
sql
-
Constructor Summary
Constructors Modifier Constructor Description private
ClientParser(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 int
getParamCount()
java.util.List<java.lang.Integer>
getParamPositions()
byte[]
getQuery()
java.lang.String
getSql()
boolean
isInsert()
boolean
isInsertDuplicate()
boolean
isMultiQuery()
static ClientParser
parameterParts(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:
getSql
in interfacePrepareResult
-
getQuery
public byte[] getQuery()
-
getParamPositions
public java.util.List<java.lang.Integer> getParamPositions()
-
getParamCount
public int getParamCount()
- Specified by:
getParamCount
in interfacePrepareResult
-
isInsert
public boolean isInsert()
-
isInsertDuplicate
public boolean isInsertDuplicate()
-
isMultiQuery
public boolean isMultiQuery()
-
-