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:
BigQueryStatementParser,BlinkStatementParser,CKStatementParser,DB2StatementParser,H2StatementParser,HiveStatementParser,InformixStatementParser,MySqlStatementParser,OracleStatementParser,OracleUpdateParser,OscarStatementParser,PGSQLStatementParser,PhoenixStatementParser,PrestoStatementParser,SnowflakeStatementParser,SQLDDLParser,SQLServerStatementParser,StarRocksStatementParser,TDStatementParser
public class SQLStatementParser extends SQLParser
-
-
Field Summary
Fields Modifier and Type Field Description protected DatecurrentDateprotected TokenexpectedNextTokenprotected SQLExprParserexprParserprotected InsertColumnsCacheinsertColumnsCacheprotected Timestampnowprotected booleanparseCompleteValuesprotected intparseValuesSizeprotected SchemaRepositoryrepositoryprotected SQLSelectListCacheselectListCache
-
Constructor Summary
Constructors Modifier Constructor Description protectedSQLStatementParser(Lexer lexer, DbType dbType)SQLStatementParser(SQLExprParser exprParser)SQLStatementParser(String sql)SQLStatementParser(String sql, DbType dbType)SQLStatementParser(String sql, DbType dbType, SQLParserFeature... features)
-
Method Summary
-
Methods inherited from class com.alibaba.druid.sql.parser.SQLParser
accept, acceptIdentifier, acceptIdentifier, acceptInteger, alias, as, config, dialectFeatureEnabled, getDbType, getLexer, getTimeZone, identifierEquals, isEnabled, match, newCreateStatement, printError, setErrorEndPos, setTimeZone, tableAlias, tableAlias
-
-
-
-
Field Detail
-
repository
protected SchemaRepository repository
-
exprParser
protected SQLExprParser exprParser
-
parseCompleteValues
protected boolean parseCompleteValues
-
parseValuesSize
protected int parseValuesSize
-
selectListCache
protected SQLSelectListCache selectListCache
-
insertColumnsCache
protected InsertColumnsCache insertColumnsCache
-
now
protected Timestamp now
-
currentDate
protected Date currentDate
-
expectedNextToken
protected Token expectedNextToken
-
-
Constructor Detail
-
SQLStatementParser
public SQLStatementParser(String sql)
-
SQLStatementParser
public SQLStatementParser(String sql, DbType dbType, SQLParserFeature... features)
-
SQLStatementParser
public SQLStatementParser(SQLExprParser exprParser)
-
-
Method Detail
-
isKeepComments
public boolean isKeepComments()
-
setKeepComments
public void setKeepComments(boolean keepComments)
-
getExprParser
public SQLExprParser getExprParser()
-
getRepository
public SchemaRepository getRepository()
-
setRepository
public void setRepository(SchemaRepository repository)
-
parseStatementList
public List<SQLStatement> parseStatementList()
-
parseStatementList
public List<SQLStatement> parseStatementList(SQLObject parent)
-
parseStatementList
public void parseStatementList(List<SQLStatement> statementList)
-
parseStatementList
public void parseStatementList(List<SQLStatement> statementList, int max)
-
parseStatementList
public void parseStatementList(List<SQLStatement> statementList, int max, SQLObject parent)
-
parseExecute
public SQLStatement parseExecute()
-
parseOptimize
public SQLStatement parseOptimize()
-
parseCopy
public SQLStatement parseCopy()
-
parseFor
public SQLStatement parseFor()
-
parseFlashback
public SQLStatement parseFlashback()
-
parseDump
public SQLStatement parseDump()
-
parseDrop
public SQLStatement parseDrop()
-
parseFullTextType
protected FullTextType parseFullTextType()
-
parseWhoami
protected SQLStatement parseWhoami()
-
parseDropOutline
protected SQLStatement parseDropOutline()
-
parseRefresh
public SQLStatement parseRefresh()
-
parseShowMaterializedView
public SQLStatement parseShowMaterializedView()
-
parseDropMaterializedView
public SQLStatement parseDropMaterializedView()
-
parseDropOfflineModel
public SQLStatement parseDropOfflineModel()
-
parseDropCatalog
protected SQLStatement parseDropCatalog()
-
parseDropRole
protected SQLStatement parseDropRole()
-
parseDropTableGroup
protected SQLStatement parseDropTableGroup()
-
parseDropServer
protected SQLStatement parseDropServer()
-
parseDropLogFileGroup
protected SQLStatement parseDropLogFileGroup()
-
parseDropEvent
protected SQLStatement parseDropEvent()
-
parseDropResource
protected SQLStatement parseDropResource()
-
alterTableSpace
protected SQLStatement alterTableSpace()
-
alterProcedure
protected SQLStatement alterProcedure()
-
parseAlterFunction
protected SQLStatement parseAlterFunction()
-
parseKill
public SQLStatement parseKill()
-
parseCase
public SQLStatement parseCase()
-
parseIf
public SQLStatement parseIf()
-
parseIfElse
protected void parseIfElse(SQLIfStatement stmt)
-
parseWhile
public SQLWhileStatement parseWhile()
-
parseLoop
public SQLStatement parseLoop()
-
parseDeclare
public SQLStatement parseDeclare()
-
parseContinue
public SQLStatement parseContinue()
-
parseRepeat
public SQLStatement parseRepeat()
-
parseLeave
public SQLStatement parseLeave()
-
parseCache
public SQLStatement parseCache()
-
parsePurge
public SQLStatement parsePurge()
-
parseReturn
public SQLStatement parseReturn()
-
parseUpsert
public SQLStatement parseUpsert()
-
parseRollback
public SQLStatement parseRollback()
-
parseCommit
public SQLStatement parseCommit()
-
parseShow
public SQLStatement parseShow()
-
parseUse
public SQLUseStatement parseUse()
-
parseUser
protected SQLExpr parseUser()
-
parseGrant
public SQLGrantStatement parseGrant()
-
parsePrivilege
protected void parsePrivilege(List<SQLPrivilegeItem> privileges, SQLObject parent)
-
parseRevoke
public SQLRevokeStatement parseRevoke()
-
parseSavePoint
public SQLStatement parseSavePoint()
-
parseReleaseSavePoint
public SQLStatement parseReleaseSavePoint()
-
parseAlter
public final SQLStatement parseAlter()
-
alterRest
protected SQLStatement alterRest(Lexer.SavePoint mark)
-
alterEvent
protected SQLStatement alterEvent()
-
alterUser
public SQLStatement alterUser()
-
alterView
protected SQLStatement alterView()
-
createSQLAlterTableStatement
protected SQLAlterTableStatement createSQLAlterTableStatement()
-
alterTable
protected SQLAlterStatement alterTable()
-
alterTableBefore
protected void alterTableBefore(SQLAlterTableStatement stmt)
-
alterTableAfterNameRest
protected boolean alterTableAfterNameRest(SQLAlterTableStatement stmt)
-
alterTableAfterName
protected SQLAlterStatement alterTableAfterName(SQLAlterTableStatement stmt)
-
alterTableUnset
protected void alterTableUnset(SQLAlterTableStatement stmt)
-
alterTableSorted
protected void alterTableSorted(SQLAlterTableStatement stmt)
-
alterTableMerge
protected void alterTableMerge(SQLAlterTableStatement stmt)
-
alterTableOwner
protected void alterTableOwner(SQLAlterTableStatement stmt)
-
alterTableTruncate
protected void alterTableTruncate(SQLAlterTableStatement stmt)
-
alterTableSetRest
protected boolean alterTableSetRest(SQLAlterTableStatement stmt)
-
alterTableSet
protected void alterTableSet(SQLAlterTableStatement stmt)
-
alterTableChangeOwner
protected void alterTableChangeOwner(SQLAlterTableStatement stmt)
-
alterTableSetSerdeProperties
protected void alterTableSetSerdeProperties(SQLAlterTableStatement stmt)
-
alterTableSetTblProperties
protected void alterTableSetTblProperties(SQLAlterTableStatement stmt)
-
alterTableWith
protected void alterTableWith(SQLAlterTableStatement stmt)
-
alterTableAlterComma
protected void alterTableAlterComma()
-
alterTableAdd
protected void alterTableAdd(SQLAlterTableStatement stmt)
-
alterTableAddIndex
protected void alterTableAddIndex(SQLAlterTableStatement stmt)
-
alterTableAddConstraint
protected void alterTableAddConstraint(SQLAlterTableStatement stmt)
-
alterTableAddRestSpecific
protected void alterTableAddRestSpecific(SQLAlterTableStatement stmt)
-
alterTableAddRest
protected void alterTableAddRest(SQLAlterTableStatement stmt)
-
alterTableAddPartition
protected void alterTableAddPartition(SQLAlterTableStatement stmt)
-
alterFullText
protected SQLStatement alterFullText()
-
alterDatabase
protected SQLStatement alterDatabase()
-
alterSchema
protected SQLStatement alterSchema()
-
parseAlterTableRename
protected SQLAlterTableItem parseAlterTableRename()
-
parseAlterColumn
protected SQLAlterTableAlterColumn parseAlterColumn()
-
parseAlterDropRest
public void parseAlterDropRest(SQLAlterTableStatement stmt, SQLAlterTableDropColumnItem item)
-
parseAlterDrop
public void parseAlterDrop(SQLAlterTableStatement stmt)
-
parseAlterTableDropPartition
protected SQLAlterTableDropPartition parseAlterTableDropPartition(boolean ifExists)
-
parseAlterTableDropSubpartition
protected SQLAlterTableDropSubpartition parseAlterTableDropSubpartition()
-
parseRename
public SQLStatement parseRename()
-
parseList
public SQLStatement parseList()
-
parseDropTable
protected SQLDropTableStatement parseDropTable(boolean acceptDrop)
-
parseDropSequence
protected SQLDropSequenceStatement parseDropSequence(boolean acceptDrop)
-
parseDropTrigger
protected SQLDropTriggerStatement parseDropTrigger(boolean acceptDrop)
-
parseDropView
protected SQLDropViewStatement parseDropView(boolean acceptDrop)
-
parseDropSchema
protected SQLDropStatement parseDropSchema(boolean physical)
-
parseDropDatabaseOrSchema
protected SQLDropStatement parseDropDatabaseOrSchema(boolean acceptDrop)
-
parserParameters
protected void parserParameters(List<SQLParameter> parameters, SQLObject parent)
-
parseDropFunction
protected SQLDropFunctionStatement parseDropFunction(boolean acceptDrop)
-
parseDropTablespace
protected SQLDropTableSpaceStatement parseDropTablespace(boolean acceptDrop)
-
parseDropProcedure
protected SQLDropProcedureStatement parseDropProcedure(boolean acceptDrop)
-
parseTruncate
public SQLStatement parseTruncate()
-
parseInsert
public SQLStatement parseInsert()
-
parseInsert0
protected void parseInsert0(SQLInsertInto insertStatement)
-
parseInsert0Hints
protected void parseInsert0Hints(SQLInsertInto insertStatement, boolean isInsert)
Impala dml support multiple place hint. First hint_clause isInsert is true, second hint_clause isInsert is false. *************************************** [with_clause] INSERT [hint_clause] { INTO | OVERWRITE } [TABLE] table_name [(column_list)] [ PARTITION (partition_clause)] { [hint_clause] select_statement | VALUES (value [, value ...]) [, (value [, value ...]) ...] } ***************************************
-
parseInsertOverwrite
protected void parseInsertOverwrite(SQLInsertInto insertStatement)
-
parseInsert0
protected void parseInsert0(SQLInsertInto insertStatement, boolean acceptSubQuery)
-
parseInsertColumns
protected void parseInsertColumns(SQLInsertInto insert)
-
parseStatementListDialect
public boolean parseStatementListDialect(List<SQLStatement> statementList)
-
parseDropUser
public SQLDropUserStatement parseDropUser()
-
parseDropIndex
public SQLStatement parseDropIndex()
-
parseCall
public SQLCallStatement parseCall()
-
parseSet
public SQLStatement parseSet()
-
parseAssignItems
public void parseAssignItems(List<? super SQLAssignItem> items, SQLObject parent)
-
parseAssignItems
public void parseAssignItems(List<? super SQLAssignItem> items, SQLObject parent, boolean variant)
-
parsePartitionRef
public SQLPartitionRef parsePartitionRef()
-
parseCreatePackage
public SQLStatement parseCreatePackage()
-
parseCreate
public SQLStatement parseCreate()
-
createOptionSkip
protected void createOptionSkip()
-
createTableRest
protected SQLStatement createTableRest(Lexer.SavePoint mark)
-
parseCreateScan
public SQLStatement parseCreateScan()
-
parseCreateModel
protected SQLStatement parseCreateModel()
-
parseCreateRole
public SQLStatement parseCreateRole()
-
parseCreateTableSpace
protected SQLStatement parseCreateTableSpace()
-
parseCreateOutline
protected SQLStatement parseCreateOutline()
-
parseCreateServer
protected SQLStatement parseCreateServer()
-
parseCreateEvent
protected SQLStatement parseCreateEvent()
-
parseCreateType
public SQLStatement parseCreateType()
-
parseCreateTableGroup
public SQLStatement parseCreateTableGroup()
-
parseCreateUser
public SQLStatement parseCreateUser()
-
parseCreateFunction
public SQLCreateFunctionStatement parseCreateFunction()
-
parseCreateMaterializedViewRest
protected void parseCreateMaterializedViewRest(SQLCreateMaterializedViewStatement stmt)
-
parseCreateMaterializedView
public SQLStatement parseCreateMaterializedView()
-
parseCreateDbLink
public SQLStatement parseCreateDbLink()
-
parseCreateSynonym
public SQLStatement parseCreateSynonym()
-
parseCreateExternalCatalog
public SQLStatement parseCreateExternalCatalog()
-
parseCreateTrigger
public SQLCreateStatement parseCreateTrigger()
-
parseBlock
public SQLStatement parseBlock()
-
parseCreateSchema
public SQLStatement parseCreateSchema()
-
parseCreateTableSupportSchema
public void parseCreateTableSupportSchema()
-
parseCreateDatabase
public SQLStatement parseCreateDatabase()
-
parseCreateProcedure
public SQLCreateProcedureStatement parseCreateProcedure()
-
parseCreateSequence
public SQLCreateStatement parseCreateSequence()
-
parseCreateIndex
public SQLCreateIndexStatement parseCreateIndex()
-
getSQLCreateTableParser
public SQLCreateTableParser getSQLCreateTableParser()
-
parseSelect
public SQLStatement parseSelect()
-
createSQLSelectParser
public SQLSelectParser createSQLSelectParser()
-
createSQLSelectParser
public SQLSelectParser createSQLSelectParser(SQLExprParser exprParser)
-
parseUpdateStatementPartition
public void parseUpdateStatementPartition(SQLUpdateStatement updateStatement)
-
parseUpdateStatement
public SQLUpdateStatement parseUpdateStatement()
-
parseUpdateSetComma
protected void parseUpdateSetComma()
-
parseUpdateSet
protected void parseUpdateSet(SQLUpdateStatement update)
-
createUpdateStatement
protected SQLUpdateStatement createUpdateStatement()
-
parseDeleteStatement
public SQLDeleteStatement parseDeleteStatement()
-
parseCreateTable
public SQLCreateTableStatement parseCreateTable()
-
parseCreateViewAfterName
public void parseCreateViewAfterName(SQLCreateViewStatement createView)
-
parseCreateViewAtDataType
public void parseCreateViewAtDataType(SQLColumnDefinition column, SQLName expr)
-
parseCreateView
public SQLCreateViewStatement parseCreateView()
-
createViewAs
protected void createViewAs(SQLCreateViewStatement createView)
-
parseComment
public SQLCommentStatement parseComment()
-
parseAlterTableAddColumn
protected void parseAlterTableAddColumn(SQLAlterTableStatement stmt)
-
parseAlterTableAddColumnBefore
protected boolean parseAlterTableAddColumnBefore(SQLAlterTableAddColumn x)
-
parseAlterTableAddColumn
protected SQLAlterTableAddColumn parseAlterTableAddColumn()
-
parseAlterTableReplaceColumn
protected SQLAlterTableReplaceColumn parseAlterTableReplaceColumn()
-
parseStatement
public SQLStatement parseStatement()
-
parseStatement0
protected SQLStatement parseStatement0()
-
parseExplainFormatPartition
public void parseExplainFormatPartition(SQLExplainStatement explain)
-
parseExplainFormatType
public void parseExplainFormatType(SQLExplainStatement explain)
-
parseExplain
public SQLExplainStatement parseExplain()
-
parseAlterTableAddClusteringKey
protected SQLAlterTableAddClusteringKey parseAlterTableAddClusteringKey()
-
parseOpen
public SQLOpenStatement parseOpen()
Parses the SQL OPEN statement and returns the corresponding SQLOpenStatement object.- Returns:
- the parsed SQLOpenStatement object representing the SQL OPEN statement
- Throws:
ParserException- if an error occurs during parsing
-
parseFetch
public SQLFetchStatement parseFetch()
-
parseClose
public SQLStatement parseClose()
-
isParseCompleteValues
public boolean isParseCompleteValues()
-
setParseCompleteValues
public void setParseCompleteValues(boolean parseCompleteValues)
-
getParseValuesSize
public int getParseValuesSize()
-
setParseValuesSize
public void setParseValuesSize(int parseValuesSize)
-
parseMerge
public SQLStatement parseMerge()
-
parseMergeWhen
protected boolean parseMergeWhen(SQLMergeStatement stmt)
-
mergeBeforeName
protected void mergeBeforeName()
-
parseErrorLoggingClause
protected SQLErrorLoggingClause parseErrorLoggingClause()
-
parseDescribe
public SQLStatement parseDescribe()
-
parseWithQuerySkip
protected void parseWithQuerySkip()
-
parseWithQuery
public SQLWithSubqueryClause parseWithQuery()
-
parseEnd
public SQLStatement parseEnd()
-
parseWith
public SQLStatement 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
public void parseValueClause(SQLInsertValueHandler valueHandler) throws SQLException
- Throws:
SQLException
-
parseValueClause
protected void parseValueClause(List<SQLInsertStatement.ValuesClause> valueClauseList, List<SQLColumnDefinition> columnDefinitionList, int columnSize, SQLObject parent)
-
getSelectListCache
public SQLSelectListCache getSelectListCache()
-
setSelectListCache
public void setSelectListCache(SQLSelectListCache selectListCache)
-
parseHiveInsertStmt
protected HiveInsertStatement parseHiveInsertStmt()
-
parseHiveInsert
protected HiveInsert parseHiveInsert()
-
parseShowDatabases
protected SQLShowDatabasesStatement parseShowDatabases(boolean isPhysical)
-
parseShowTableGroups
protected SQLShowTableGroupsStatement parseShowTableGroups()
-
parseShowTables
protected SQLShowTablesStatement parseShowTables()
-
parseShowColumns
protected SQLShowColumnsStatement parseShowColumns()
-
alterIndex
protected SQLStatement alterIndex()
-
parseAnalyze
protected SQLStatement parseAnalyze()
-
alterSequence
public SQLAlterSequenceStatement alterSequence()
-
parseMsck
protected SQLStatement parseMsck()
-
createResource
protected SQLStatement createResource()
-
alterResourceGroup
protected SQLStatement alterResourceGroup()
-
alterMaterialized
public SQLStatement alterMaterialized()
-
parseHiveCreateFunction
public SQLCreateFunctionStatement parseHiveCreateFunction()
-
parameters
protected void parameters(List<SQLParameter> parameters, SQLObject parent)
-
parseShowCreateTable
protected SQLShowCreateTableStatement parseShowCreateTable()
-
parseShowVariants
public SQLShowVariantsStatement parseShowVariants()
-
parseException
protected SQLExceptionStatement parseException()
-
parseReset
public SQLResetStatement parseReset()
-
parseCompute
public SQLComputeIncrementalStatsStatement parseCompute()
-
parseStart
public SQLStartTransactionStatement parseStart()
-
parseClone
public SQLStatement parseClone()
-
-