Package com.alibaba.druid.sql.visitor
Class SchemaStatVisitor
- java.lang.Object
-
- com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter
-
- com.alibaba.druid.sql.visitor.SchemaStatVisitor
-
- All Implemented Interfaces:
SQLASTVisitor
- Direct Known Subclasses:
CKStatVisitor,DB2SchemaStatVisitor,H2SchemaStatVisitor,HiveSchemaStatVisitor,MySqlSchemaStatVisitor,OracleSchemaStatVisitor,PGSchemaStatVisitor,PhoenixSchemaStatVisitor,SQLServerSchemaStatVisitor
public class SchemaStatVisitor extends SQLASTVisitorAdapter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classSchemaStatVisitor.MySqlOrderByStatVisitorprotected classSchemaStatVisitor.OracleOrderByStatVisitorprotected classSchemaStatVisitor.OrderByStatVisitorprotected classSchemaStatVisitor.PGOrderByStatVisitor
-
Field Summary
Fields Modifier and Type Field Description protected List<SQLAggregateExpr>aggregateFunctionsprotected Map<Long,TableStat.Column>columnsprotected List<TableStat.Condition>conditionsprotected DbTypedbTypeprotected List<SQLMethodInvokeExpr>functionsprotected Set<TableStat.Column>groupByColumnsprotected List<TableStat.Column>orderByColumnsprotected List<SQLName>originalTablesprotected Set<TableStat.Relationship>relationshipsprotected SchemaRepositoryrepositoryprotected HashMap<TableStat.Name,TableStat>tableStats-
Fields inherited from class com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter
features
-
-
Constructor Summary
Constructors Constructor Description SchemaStatVisitor()SchemaStatVisitor(DbType dbType)SchemaStatVisitor(DbType dbType, List<Object> parameters)SchemaStatVisitor(SchemaRepository repository)SchemaStatVisitor(SchemaRepository repository, List<Object> parameters)SchemaStatVisitor(List<Object> parameters)
-
Method Summary
-
Methods inherited from class com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter
config, getFeatures, isEnabled, isEnabled, setFeatures
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.alibaba.druid.sql.visitor.SQLASTVisitor
endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, postVisit, preVisit, preVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
repository
protected SchemaRepository repository
-
tableStats
protected final HashMap<TableStat.Name,TableStat> tableStats
-
columns
protected final Map<Long,TableStat.Column> columns
-
conditions
protected final List<TableStat.Condition> conditions
-
relationships
protected final Set<TableStat.Relationship> relationships
-
orderByColumns
protected final List<TableStat.Column> orderByColumns
-
groupByColumns
protected final Set<TableStat.Column> groupByColumns
-
aggregateFunctions
protected final List<SQLAggregateExpr> aggregateFunctions
-
functions
protected final List<SQLMethodInvokeExpr> functions
-
dbType
protected DbType dbType
-
-
Constructor Detail
-
SchemaStatVisitor
public SchemaStatVisitor()
-
SchemaStatVisitor
public SchemaStatVisitor(SchemaRepository repository)
-
SchemaStatVisitor
public SchemaStatVisitor(DbType dbType)
-
SchemaStatVisitor
public SchemaStatVisitor(SchemaRepository repository, List<Object> parameters)
-
-
Method Detail
-
getRepository
public SchemaRepository getRepository()
-
setRepository
public void setRepository(SchemaRepository repository)
-
addColumn
protected TableStat.Column addColumn(String tableName, String columnName)
-
addColumn
protected TableStat.Column addColumn(SQLName table, String columnName)
-
getMode
protected TableStat.Mode getMode()
-
setModeOrigin
protected void setModeOrigin(SQLObject x)
-
setMode
protected TableStat.Mode setMode(SQLObject x, TableStat.Mode mode)
-
visit
public boolean visit(SQLOrderBy x)
-
visit
public boolean visit(SQLOver x)
-
visit
public boolean visit(SQLWindow x)
-
createOrderByVisitor
protected SQLASTVisitor createOrderByVisitor(SQLOrderBy x)
-
getRelationships
public Set<TableStat.Relationship> getRelationships()
-
getOrderByColumns
public List<TableStat.Column> getOrderByColumns()
-
getGroupByColumns
public Set<TableStat.Column> getGroupByColumns()
-
getConditions
public List<TableStat.Condition> getConditions()
-
getAggregateFunctions
public List<SQLAggregateExpr> getAggregateFunctions()
-
visit
public boolean visit(SQLBetweenExpr x)
-
visit
public boolean visit(SQLBinaryOpExpr x)
-
handleCondition
protected void handleCondition(SQLExpr expr, String operator, List<SQLExpr> values)
-
handleCondition
protected void handleCondition(SQLExpr expr, String operator, SQLExpr... valueExprs)
-
getDbType
public DbType getDbType()
-
getColumn
protected TableStat.Column getColumn(SQLExpr expr)
-
visit
public boolean visit(SQLTruncateStatement x)
-
visit
public boolean visit(SQLDropViewStatement x)
-
visit
public boolean visit(SQLDropTableStatement x)
-
visit
public boolean visit(SQLInsertStatement x)
-
putAliasMap
protected static void putAliasMap(Map<String,String> aliasMap, String name, String value)
-
accept
protected void accept(SQLObject x)
-
visit
public boolean visit(SQLSelectQueryBlock x)
-
endVisit
public void endVisit(SQLSelectQueryBlock x)
-
visit
public boolean visit(SQLJoinTableSource x)
-
visit
public boolean visit(SQLPropertyExpr x)
-
isPseudoColumn
protected boolean isPseudoColumn(long hash)
-
visit
public boolean visit(SQLIdentifierExpr x)
-
handleUnknownColumn
protected TableStat.Column handleUnknownColumn(String columnName)
-
visit
public boolean visit(SQLAllColumnExpr x)
-
getTables
public Map<TableStat.Name,TableStat> getTables()
-
containsTable
public boolean containsTable(String tableName)
-
getColumns
public Collection<TableStat.Column> getColumns()
-
getColumn
public TableStat.Column getColumn(String tableName, String columnName)
-
visit
public boolean visit(SQLSelectStatement x)
-
endVisit
public void endVisit(SQLSelectStatement x)
-
visit
public boolean visit(SQLWithSubqueryClause.Entry x)
-
visit
public boolean visit(SQLSubqueryTableSource x)
-
isSimpleExprTableSource
protected boolean isSimpleExprTableSource(SQLExprTableSource x)
-
getTableStat
public TableStat getTableStat(SQLExprTableSource tableSource)
-
visit
public boolean visit(SQLExprTableSource x)
-
isSubQueryOrParamOrVariant
protected boolean isSubQueryOrParamOrVariant(SQLIdentifierExpr identifierExpr)
-
isSubQueryOrParamOrVariant
protected boolean isSubQueryOrParamOrVariant(SQLPropertyExpr x)
-
visit
public boolean visit(SQLSelectItem x)
-
visit
public boolean visit(SQLSelect x)
-
visit
public boolean visit(SQLAggregateExpr x)
-
visit
public boolean visit(SQLMethodInvokeExpr x)
-
visit
public boolean visit(SQLUpdateStatement x)
-
visit
public boolean visit(SQLUpdateSetItem x)
-
visit
public boolean visit(SQLDeleteStatement x)
-
visit
public boolean visit(SQLInListExpr x)
-
visit
public boolean visit(SQLInSubQueryExpr x)
-
endVisit
public void endVisit(SQLDeleteStatement x)
-
endVisit
public void endVisit(SQLUpdateStatement x)
-
visit
public boolean visit(SQLCreateTableStatement x)
-
visit
public boolean visit(SQLColumnDefinition x)
-
visit
public boolean visit(SQLCallStatement x)
-
endVisit
public void endVisit(SQLCommentStatement x)
-
visit
public boolean visit(SQLCommentStatement x)
-
visit
public boolean visit(SQLCurrentOfCursorExpr x)
-
visit
public boolean visit(SQLAlterTableAddColumn x)
-
endVisit
public void endVisit(SQLAlterTableAddColumn x)
-
visit
public boolean visit(SQLRollbackStatement x)
-
visit
public boolean visit(SQLCreateViewStatement x)
-
visit
public boolean visit(SQLAlterViewStatement x)
-
visit
public boolean visit(SQLAlterTableDropForeignKey x)
-
visit
public boolean visit(SQLUseStatement x)
-
visit
public boolean visit(SQLAlterTableDisableConstraint x)
-
visit
public boolean visit(SQLAlterTableEnableConstraint x)
-
visit
public boolean visit(SQLAlterTableStatement x)
-
visit
public boolean visit(SQLAlterTableDropConstraint x)
-
visit
public boolean visit(SQLAlterTableDropCheck x)
-
visit
public boolean visit(SQLDropIndexStatement x)
-
visit
public boolean visit(SQLCreateIndexStatement x)
-
visit
public boolean visit(SQLForeignKeyImpl x)
-
visit
public boolean visit(SQLDropSequenceStatement x)
-
visit
public boolean visit(SQLDropTriggerStatement x)
-
visit
public boolean visit(SQLDropUserStatement x)
-
visit
public boolean visit(SQLGrantStatement x)
-
visit
public boolean visit(SQLRevokeStatement x)
-
visit
public boolean visit(SQLDropDatabaseStatement x)
-
visit
public boolean visit(SQLAlterTableAddIndex x)
-
visit
public boolean visit(SQLCheck x)
-
visit
public boolean visit(SQLDefault x)
-
visit
public boolean visit(SQLCreateTriggerStatement x)
-
visit
public boolean visit(SQLDropFunctionStatement x)
-
visit
public boolean visit(SQLDropTableSpaceStatement x)
-
visit
public boolean visit(SQLDropProcedureStatement x)
-
visit
public boolean visit(SQLAlterTableRename x)
-
visit
public boolean visit(SQLArrayExpr x)
-
visit
public boolean visit(SQLOpenStatement x)
-
visit
public boolean visit(SQLFetchStatement x)
-
visit
public boolean visit(SQLDropMaterializedViewStatement x)
-
visit
public boolean visit(SQLShowMaterializedViewStatement x)
-
visit
public boolean visit(SQLRefreshMaterializedViewStatement x)
-
visit
public boolean visit(SQLCloseStatement x)
-
visit
public boolean visit(SQLCreateProcedureStatement x)
-
visit
public boolean visit(SQLCreateFunctionStatement x)
-
visit
public boolean visit(SQLBlockStatement x)
-
visit
public boolean visit(SQLShowTablesStatement x)
-
visit
public boolean visit(SQLDeclareItem x)
-
visit
public boolean visit(SQLPartitionByHash x)
-
visit
public boolean visit(SQLPartitionByRange x)
-
visit
public boolean visit(SQLPartitionByList x)
-
visit
public boolean visit(SQLPartitionSingle x)
-
visit
public boolean visit(SQLSubPartition x)
-
visit
public boolean visit(SQLSubPartitionByHash x)
-
visit
public boolean visit(SQLPartitionValue x)
-
visit
public boolean visit(SQLAlterDatabaseStatement x)
-
visit
public boolean visit(SQLAlterTableConvertCharSet x)
-
visit
public boolean visit(SQLAlterTableDropPartition x)
-
visit
public boolean visit(SQLAlterTableReOrganizePartition x)
-
visit
public boolean visit(SQLAlterTableCoalescePartition x)
-
visit
public boolean visit(SQLAlterTableTruncatePartition x)
-
visit
public boolean visit(SQLAlterTableDiscardPartition x)
-
visit
public boolean visit(SQLAlterTableImportPartition x)
-
visit
public boolean visit(SQLAlterTableAnalyzePartition x)
-
visit
public boolean visit(SQLAlterTableCheckPartition x)
-
visit
public boolean visit(SQLAlterTableOptimizePartition x)
-
visit
public boolean visit(SQLAlterTableRebuildPartition x)
-
visit
public boolean visit(SQLAlterTableRepairPartition x)
-
visit
public boolean visit(SQLSequenceExpr x)
-
visit
public boolean visit(SQLMergeStatement x)
-
visit
public boolean visit(SQLSetStatement x)
-
getFunctions
public List<SQLMethodInvokeExpr> getFunctions()
-
visit
public boolean visit(SQLCreateSequenceStatement x)
-
visit
public boolean visit(SQLAlterTableAddConstraint x)
-
visit
public boolean visit(SQLAlterTableDropIndex x)
-
visit
public boolean visit(SQLAlterTableDropPrimaryKey x)
-
visit
public boolean visit(SQLAlterTableDropKey x)
-
visit
public boolean visit(SQLDescribeStatement x)
-
visit
public boolean visit(SQLExplainStatement x)
-
visit
public boolean visit(SQLCreateMaterializedViewStatement x)
-
visit
public boolean visit(SQLReplaceStatement x)
-
statExpr
protected final void statExpr(SQLExpr x)
-
visit
public boolean visit(SQLAlterFunctionStatement x)
-
visit
public boolean visit(SQLDropSynonymStatement x)
-
visit
public boolean visit(SQLAlterTypeStatement x)
-
visit
public boolean visit(SQLAlterProcedureStatement x)
-
visit
public boolean visit(SQLExprStatement x)
-
visit
public boolean visit(SQLDropTypeStatement x)
-
visit
public boolean visit(SQLExternalRecordFormat x)
-
visit
public boolean visit(SQLCreateDatabaseStatement x)
-
visit
public boolean visit(SQLCreateTableGroupStatement x)
-
visit
public boolean visit(SQLDropTableGroupStatement x)
-
visit
public boolean visit(SQLShowDatabasesStatement x)
-
visit
public boolean visit(SQLShowColumnsStatement x)
-
visit
public boolean visit(SQLShowCreateTableStatement x)
-
visit
public boolean visit(SQLShowTableGroupsStatement x)
-
visit
public boolean visit(SQLAlterTableSetOption x)
-
visit
public boolean visit(SQLShowCreateViewStatement x)
-
visit
public boolean visit(SQLCreateRoleStatement x)
-
visit
public boolean visit(SQLDropRoleStatement x)
-
visit
public boolean visit(SQLShowViewsStatement x)
-
visit
public boolean visit(SQLAlterTableExchangePartition x)
-
visit
public boolean visit(SQLDropCatalogStatement x)
-
visit
public boolean visit(SQLUnionQuery x)
-
visit
public boolean visit(SQLValuesTableSource x)
-
visit
public boolean visit(SQLAlterIndexStatement x)
-
visit
public boolean visit(SQLShowIndexesStatement x)
-
visit
public boolean visit(SQLAnalyzeTableStatement x)
-
visit
public boolean visit(SQLExportTableStatement x)
-
visit
public boolean visit(SQLImportTableStatement x)
-
visit
public boolean visit(SQLCreateOutlineStatement x)
-
visit
public boolean visit(SQLDumpStatement x)
-
visit
public boolean visit(SQLDropOutlineStatement x)
-
visit
public boolean visit(SQLAlterOutlineStatement x)
-
visit
public boolean visit(SQLAlterTableArchivePartition x)
-
visit
public boolean visit(SQLCopyFromStatement x)
-
visit
public boolean visit(SQLCloneTableStatement x)
-
visit
public boolean visit(SQLSyncMetaStatement x)
-
visit
public boolean visit(SQLUnique x)
-
visit
public boolean visit(SQLSavePointStatement x)
-
visit
public boolean visit(SQLShowPartitionsStmt x)
-
-