Package com.alibaba.druid.sql.parser
Class SQLStatementParser
java.lang.Object
com.alibaba.druid.sql.parser.SQLParser
com.alibaba.druid.sql.parser.SQLStatementParser
- Direct Known Subclasses:
AdsStatementParser
,AntsparkStatementParser
,BlinkStatementParser
,ClickhouseStatementParser
,DB2StatementParser
,H2StatementParser
,HiveStatementParser
,MySqlStatementParser
,OdpsStatementParser
,OracleStatementParser
,OracleUpdateParser
,OscarStatementParser
,PGSQLStatementParser
,PhoenixStatementParser
,PrestoStatementParser
,SQLDDLParser
,SQLServerStatementParser
,StarRocksStatementParser
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Date
protected SQLExprParser
protected InsertColumnsCache
protected Timestamp
protected boolean
protected int
protected SchemaRepository
protected SQLSelectListCache
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
SQLStatementParser
(Lexer lexer, DbType dbType) SQLStatementParser
(SQLExprParser exprParser) SQLStatementParser
(String sql) SQLStatementParser
(String sql, DbType dbType) -
Method Summary
Modifier and TypeMethodDescriptioncreateSQLSelectParser
(SQLExprParser exprParser) protected SQLUpdateStatement
int
boolean
boolean
protected SQLAlterTableAlterColumn
protected SQLStatement
void
protected SQLStatement
protected SQLStatement
protected SQLStatement
protected SQLStatement
protected SQLAlterTableAddClusteringKey
protected SQLAlterTableAddColumn
protected SQLAlterTableDropPartition
parseAlterTableDropPartition
(boolean ifExists) protected SQLAlterTableDropSubpartition
protected SQLAlterTableItem
protected SQLAlterTableReplaceColumn
protected SQLStatement
void
parseAssignItems
(List<? super SQLAssignItem> items, SQLObject parent) void
parseAssignItems
(List<? super SQLAssignItem> items, SQLObject parent, boolean variant) parseCreateIndex
(boolean acceptCreate) protected SQLStatement
parseCreateSequence
(boolean acceptCreate) protected SQLStatement
protected SQLDropStatement
parseDropDatabaseOrSchema
(boolean acceptDrop) protected SQLStatement
protected SQLDropFunctionStatement
parseDropFunction
(boolean acceptDrop) protected SQLStatement
protected SQLStatement
protected SQLDropProcedureStatement
parseDropProcedure
(boolean acceptDrop) protected SQLStatement
protected SQLStatement
protected SQLDropStatement
protected SQLDropSequenceStatement
parseDropSequence
(boolean acceptDrop) protected SQLStatement
protected SQLDropTableStatement
parseDropTable
(boolean acceptDrop) protected SQLStatement
protected SQLDropTableSpaceStatement
parseDropTablespace
(boolean acceptDrop) protected SQLDropTriggerStatement
parseDropTrigger
(boolean acceptDrop) protected SQLDropViewStatement
parseDropView
(boolean acceptDrop) protected SQLErrorLoggingClause
parseFor()
protected FullTextType
void
parseHints
(List<SQLHint> hints) protected HiveInsert
protected HiveInsertStatement
parseIf()
protected void
parseInsert0
(SQLInsertInto insertStatement) protected void
parseInsert0
(SQLInsertInto insertStatement, boolean acceptSubQuery) protected void
parseInsert0_hinits
(SQLInsertInto insertStatement) protected void
parseInsertColumns
(SQLInsertInto insert) protected SQLStatement
parse cursor open statementprotected void
parsePrivileages
(List<SQLPrivilegeItem> privileges, SQLObject parent) parseSet()
protected SQLShowColumnsStatement
protected SQLShowCreateTableStatement
protected SQLShowDatabasesStatement
parseShowDatabases
(boolean isPhysical) protected SQLShowTableGroupsStatement
protected SQLShowTablesStatement
parseStatement
(boolean tryBest) parseStatementList
(SQLObject parent) void
parseStatementList
(List<SQLStatement> statementList) void
parseStatementList
(List<SQLStatement> statementList, int max) void
parseStatementList
(List<SQLStatement> statementList, int max, SQLObject parent) boolean
parseStatementListDialect
(List<SQLStatement> statementList) protected void
parseUpdateSet
(SQLUpdateStatement update) parseUse()
protected SQLExpr
void
parseValueClause
(SQLInsertValueHandler valueHandler) protected void
parseValueClause
(List<SQLInsertStatement.ValuesClause> valueClauseList, int columnSize, SQLObject parent) protected void
parseValueClause
(List<SQLInsertStatement.ValuesClause> valueClauseList, List<SQLColumnDefinition> columnDefinitionList, int columnSize, SQLObject parent) protected void
parseValueClauseNative
(List<SQLInsertStatement.ValuesClause> valueClauseList, List<SQLColumnDefinition> columnDefinitionList, int columnSize, SQLObject parent) protected SQLStatement
void
setKeepComments
(boolean keepComments) void
setParseCompleteValues
(boolean parseCompleteValues) void
setParseValuesSize
(int parseValuesSize) void
setRepository
(SchemaRepository repository) void
setSelectListCache
(SQLSelectListCache selectListCache) Methods inherited from class com.alibaba.druid.sql.parser.SQLParser
accept, acceptIdentifier, acceptInteger, alias, as, config, getDbType, getLexer, getTimeZone, identifierEquals, isEnabled, match, newCreateStatement, printError, setErrorEndPos, setTimeZone, tableAlias, tableAlias
-
Field Details
-
repository
-
exprParser
-
parseCompleteValues
protected boolean parseCompleteValues -
parseValuesSize
protected int parseValuesSize -
selectListCache
-
insertColumnsCache
-
now
-
currentDate
-
-
Constructor Details
-
SQLStatementParser
-
SQLStatementParser
-
SQLStatementParser
-
SQLStatementParser
-
-
Method Details
-
isKeepComments
public boolean isKeepComments() -
setKeepComments
public void setKeepComments(boolean keepComments) -
getExprParser
-
getRepository
-
setRepository
-
parseStatementList
-
parseStatementList
-
parseStatementList
-
parseStatementList
-
parseStatementList
-
parseOptimize
-
parseCopy
-
parseFor
-
parseFlashback
-
parseDump
-
parseDrop
-
parseFullTextType
-
parseWhoami
-
parseDropOutline
-
parseRefresh
-
parseShowMaterializedView
-
parseDropMaterializedView
-
parseDropOfflineModel
-
parseDropCatalog
-
parseDropRole
-
parseDropTableGroup
-
parseDropServer
-
parseDropLogFileGroup
-
parseDropEvent
-
parseDropResource
-
parseAlterFunction
-
parseKill
-
parseCase
-
parseIf
-
parseWhile
-
parseDeclare
-
parseRepeat
-
parseLeave
-
parsePurge
-
parseReturn
-
parseUpsert
-
parseRollback
-
parseCommit
-
parseShow
-
parseUse
-
parseUser
-
parseGrant
-
parsePrivileages
-
parseRevoke
-
parseSavePoint
-
parseReleaseSavePoint
-
parseAlter
-
parseAlterDatabase
-
parseAlterSchema
-
parseAlterTableRename
-
parseAlterColumn
-
parseAlterDrop
-
parseAlterTableDropPartition
-
parseAlterTableDropSubpartition
-
parseRename
-
parseList
-
parseDropTable
-
parseDropSequence
-
parseDropTrigger
-
parseDropView
-
parseDropSchema
-
parseDropDatabaseOrSchema
-
parseDropFunction
-
parseDropTablespace
-
parseDropProcedure
-
parseTruncate
-
parseInsert
-
parseInsert0
-
parseInsert0_hinits
-
parseInsert0
-
parseInsertColumns
-
parseStatementListDialect
-
parseDropUser
-
parseDropIndex
-
parseCall
-
parseSet
-
parseAssignItems
-
parseAssignItems
-
parsePartitionRef
-
parseCreatePackage
-
parseCreate
-
parseCreateRole
-
parseCreateType
-
parseCreateTableGroup
-
parseCreateUser
-
parseCreateFunction
-
parseCreateMaterializedView
-
parseCreateDbLink
-
parseCreateSynonym
-
parseCreateExternalCatalog
-
parseCreateTrigger
-
parseBlock
-
parseCreateSchema
-
parseCreateDatabase
-
parseCreateProcedure
-
parseCreateSequence
-
parseCreateIndex
-
getSQLCreateTableParser
-
parseSelect
-
createSQLSelectParser
-
createSQLSelectParser
-
parseUpdateStatement
-
parseUpdateSet
-
createUpdateStatement
-
parseDeleteStatement
-
parseCreateTable
-
parseCreateView
-
parseComment
-
parseAlterTableAddColumn
-
parseAlterTableReplaceColumn
-
parseStatement
-
parseStatement
- Parameters:
tryBest
- - 为true去解析并忽略之后的错误 强制建议除非明确知道可以忽略才传tryBest=true, 不然会忽略语法错误,且截断sql,导致update和delete无where条件下执行!!!
-
parseExplain
-
parseAlterTableAddClusteringKey
-
parseOpen
parse cursor open statement- Returns:
-
parseFetch
-
parseClose
-
isParseCompleteValues
public boolean isParseCompleteValues() -
setParseCompleteValues
public void setParseCompleteValues(boolean parseCompleteValues) -
getParseValuesSize
public int getParseValuesSize() -
setParseValuesSize
public void setParseValuesSize(int parseValuesSize) -
parseMerge
-
parseErrorLoggingClause
-
parseHints
-
parseDescribe
-
parseWithQuery
-
parseWith
-
parseValueClause
protected void parseValueClause(List<SQLInsertStatement.ValuesClause> valueClauseList, int columnSize, SQLObject parent) -
parseValueClauseNative
protected void parseValueClauseNative(List<SQLInsertStatement.ValuesClause> valueClauseList, List<SQLColumnDefinition> columnDefinitionList, int columnSize, SQLObject parent) -
parseValueClause
- Throws:
SQLException
-
parseValueClause
protected void parseValueClause(List<SQLInsertStatement.ValuesClause> valueClauseList, List<SQLColumnDefinition> columnDefinitionList, int columnSize, SQLObject parent) -
getSelectListCache
-
setSelectListCache
-
parseHiveInsertStmt
-
parseHiveInsert
-
parseShowDatabases
-
parseShowTableGroups
-
parseShowTables
-
parseShowColumns
-
parseAlterIndex
-
parseAnalyze
-
parseAlterSequence
-
parseMsck
-
parseCreateResourceGroup
-
parseAlterResourceGroup
-
parseAlterMaterialized
-
parseHiveCreateFunction
-
parseShowCreateTable
-
parseShowVariants
-
parseClone
-