Search in sources :

Example 1 with OracleMultiInsertStatement

use of com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement in project druid by alibaba.

the class OracleStatementParser method parseMultiInsert.

public OracleMultiInsertStatement parseMultiInsert() {
    OracleMultiInsertStatement stmt = new OracleMultiInsertStatement();
    if (lexer.token() == Token.ALL) {
        lexer.nextToken();
        stmt.setOption(OracleMultiInsertStatement.Option.ALL);
    } else if (lexer.token() == Token.FIRST) {
        lexer.nextToken();
        stmt.setOption(OracleMultiInsertStatement.Option.FIRST);
    }
    while (lexer.token() == Token.INTO) {
        OracleMultiInsertStatement.InsertIntoClause clause = new OracleMultiInsertStatement.InsertIntoClause();
        parseInsert0(clause);
        clause.setReturning(parseReturningClause());
        clause.setErrorLogging(parseErrorLoggingClause());
        stmt.addEntry(clause);
    }
    if (lexer.token() == Token.WHEN) {
        OracleMultiInsertStatement.ConditionalInsertClause clause = new OracleMultiInsertStatement.ConditionalInsertClause();
        while (lexer.token() == Token.WHEN) {
            lexer.nextToken();
            OracleMultiInsertStatement.ConditionalInsertClauseItem item = new OracleMultiInsertStatement.ConditionalInsertClauseItem();
            item.setWhen(this.exprParser.expr());
            accept(Token.THEN);
            OracleMultiInsertStatement.InsertIntoClause insertInto = new OracleMultiInsertStatement.InsertIntoClause();
            parseInsert0(insertInto);
            item.setThen(insertInto);
            clause.addItem(item);
        }
        if (lexer.token() == Token.ELSE) {
            lexer.nextToken();
            OracleMultiInsertStatement.InsertIntoClause insertInto = new OracleMultiInsertStatement.InsertIntoClause();
            parseInsert0(insertInto, false);
            clause.setElseItem(insertInto);
        }
        stmt.addEntry(clause);
    }
    SQLSelect subQuery = this.createSQLSelectParser().select();
    stmt.setSubQuery(subQuery);
    return stmt;
}
Also used : OracleMultiInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement)

Example 2 with OracleMultiInsertStatement

use of com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement in project druid by alibaba.

the class OracleSchemaStatVisitor method visit.

@Override
public boolean visit(ConditionalInsertClauseItem x) {
    SQLObject parent = x.getParent();
    if (parent instanceof ConditionalInsertClause) {
        parent = parent.getParent();
    }
    if (parent instanceof OracleMultiInsertStatement) {
        SQLSelect subQuery = ((OracleMultiInsertStatement) parent).getSubQuery();
        if (subQuery != null) {
            String table = (String) subQuery.getAttribute("_table_");
            setCurrentTable(x, table);
        }
    }
    x.getWhen().accept(this);
    x.getThen().accept(this);
    restoreCurrentTable(x);
    return false;
}
Also used : ConditionalInsertClause(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause) SQLObject(com.alibaba.druid.sql.ast.SQLObject) OracleMultiInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement) SQLSelect(com.alibaba.druid.sql.ast.statement.SQLSelect)

Example 3 with OracleMultiInsertStatement

use of com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement in project druid by alibaba.

the class WallVisitorUtils method preVisitCheck.

public static void preVisitCheck(WallVisitor visitor, SQLObject x) {
    WallConfig config = visitor.getProvider().getConfig();
    if (!(x instanceof SQLStatement)) {
        return;
    }
    boolean allow = false;
    int errorCode;
    String denyMessage;
    if (x instanceof SQLInsertStatement) {
        allow = config.isInsertAllow();
        denyMessage = "insert not allow";
        errorCode = ErrorCode.INSERT_NOT_ALLOW;
    } else if (x instanceof SQLSelectStatement) {
        allow = true;
        denyMessage = "select not allow";
        errorCode = ErrorCode.SELECT_NOT_ALLOW;
    } else if (x instanceof SQLDeleteStatement) {
        allow = config.isDeleteAllow();
        denyMessage = "delete not allow";
        errorCode = ErrorCode.DELETE_NOT_ALLOW;
    } else if (x instanceof SQLUpdateStatement) {
        allow = config.isUpdateAllow();
        denyMessage = "update not allow";
        errorCode = ErrorCode.UPDATE_NOT_ALLOW;
    } else if (x instanceof OracleMultiInsertStatement) {
        allow = true;
        denyMessage = "multi-insert not allow";
        errorCode = ErrorCode.INSERT_NOT_ALLOW;
    } else if (x instanceof SQLMergeStatement) {
        allow = config.isMergeAllow();
        denyMessage = "merge not allow";
        errorCode = ErrorCode.MERGE_NOT_ALLOW;
    } else if (x instanceof SQLCallStatement || x instanceof SQLServerExecStatement) {
        allow = config.isCallAllow();
        denyMessage = "call not allow";
        errorCode = ErrorCode.CALL_NOT_ALLOW;
    } else if (x instanceof SQLTruncateStatement) {
        allow = config.isTruncateAllow();
        denyMessage = "truncate not allow";
        errorCode = ErrorCode.TRUNCATE_NOT_ALLOW;
    } else if (//
    x instanceof SQLCreateTableStatement || //
    x instanceof SQLCreateIndexStatement || //
    x instanceof SQLCreateViewStatement || //
    x instanceof SQLCreateTriggerStatement || //
    x instanceof SQLCreateSequenceStatement) {
        allow = config.isCreateTableAllow();
        denyMessage = "create table not allow";
        errorCode = ErrorCode.CREATE_TABLE_NOT_ALLOW;
    } else if (x instanceof SQLAlterTableStatement) {
        allow = config.isAlterTableAllow();
        denyMessage = "alter table not allow";
        errorCode = ErrorCode.ALTER_TABLE_NOT_ALLOW;
    } else if (//
    x instanceof SQLDropTableStatement || //
    x instanceof SQLDropIndexStatement || //
    x instanceof SQLDropViewStatement || //
    x instanceof SQLDropTriggerStatement || //
    x instanceof SQLDropSequenceStatement || //
    x instanceof SQLDropProcedureStatement) {
        allow = config.isDropTableAllow();
        denyMessage = "drop table not allow";
        errorCode = ErrorCode.DROP_TABLE_NOT_ALLOW;
    } else if (//
    x instanceof MySqlSetCharSetStatement || //
    x instanceof MySqlSetNamesStatement || //
    x instanceof SQLSetStatement || x instanceof SQLServerSetStatement) {
        allow = config.isSetAllow();
        denyMessage = "set not allow";
        errorCode = ErrorCode.SET_NOT_ALLOW;
    } else if (x instanceof MySqlReplaceStatement) {
        allow = config.isReplaceAllow();
        denyMessage = "replace not allow";
        errorCode = ErrorCode.REPLACE_NOT_ALLOW;
    } else if (x instanceof MySqlDescribeStatement) {
        allow = config.isDescribeAllow();
        denyMessage = "describe not allow";
        errorCode = ErrorCode.DESC_NOT_ALLOW;
    } else if (x instanceof MySqlShowStatement || x instanceof PGShowStatement || x instanceof SQLShowTablesStatement) {
        allow = config.isShowAllow();
        denyMessage = "show not allow";
        errorCode = ErrorCode.SHOW_NOT_ALLOW;
    } else if (x instanceof MySqlCommitStatement || x instanceof SQLServerCommitStatement) {
        allow = config.isCommitAllow();
        denyMessage = "commit not allow";
        errorCode = ErrorCode.COMMIT_NOT_ALLOW;
    } else if (x instanceof SQLRollbackStatement) {
        allow = config.isRollbackAllow();
        denyMessage = "rollback not allow";
        errorCode = ErrorCode.ROLLBACK_NOT_ALLOW;
    } else if (x instanceof SQLUseStatement) {
        allow = config.isUseAllow();
        denyMessage = "use not allow";
        errorCode = ErrorCode.USE_NOT_ALLOW;
    } else if (x instanceof MySqlRenameTableStatement) {
        allow = config.isRenameTableAllow();
        denyMessage = "rename table not allow";
        errorCode = ErrorCode.RENAME_TABLE_NOT_ALLOW;
    } else if (x instanceof MySqlHintStatement) {
        allow = config.isHintAllow();
        denyMessage = "hint not allow";
        errorCode = ErrorCode.HINT_NOT_ALLOW;
    } else if (x instanceof MySqlLockTableStatement) {
        allow = config.isLockTableAllow();
        denyMessage = "lock table not allow";
        errorCode = ErrorCode.LOCK_TABLE_NOT_ALLOW;
    } else if (x instanceof SQLStartTransactionStatement) {
        allow = config.isStartTransactionAllow();
        denyMessage = "start transaction not allow";
        errorCode = ErrorCode.START_TRANSACTION_NOT_ALLOW;
    } else if (x instanceof SQLBlockStatement) {
        allow = config.isBlockAllow();
        denyMessage = "block statement not allow";
        errorCode = ErrorCode.BLOCK_NOT_ALLOW;
    } else {
        allow = config.isNoneBaseStatementAllow();
        errorCode = ErrorCode.NONE_BASE_STATEMENT_NOT_ALLOW;
        denyMessage = x.getClass() + " not allow";
    }
    if (!allow) {
        addViolation(visitor, errorCode, denyMessage, x);
    }
}
Also used : MySqlSetNamesStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSetNamesStatement) MySqlDescribeStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlDescribeStatement) PGShowStatement(com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGShowStatement) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement) MySqlShowStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowStatement) MySqlReplaceStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement) SQLServerCommitStatement(com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.SQLServerCommitStatement) SQLStartTransactionStatement(com.alibaba.druid.sql.ast.statement.SQLStartTransactionStatement) MySqlRenameTableStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement) SQLServerExecStatement(com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.SQLServerExecStatement) OracleMultiInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement) MySqlLockTableStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement) MySqlSetCharSetStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSetCharSetStatement) MySqlHintStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlHintStatement) WallConfig(com.alibaba.druid.wall.WallConfig) SQLCommentHint(com.alibaba.druid.sql.ast.SQLCommentHint) SQLServerSetStatement(com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSetStatement) MySqlCommitStatement(com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCommitStatement)

Example 4 with OracleMultiInsertStatement

use of com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement in project druid by alibaba.

the class OracleStatementParser method parseInsert.

public OracleStatement parseInsert() {
    if (lexer.token() == Token.LPAREN) {
        OracleInsertStatement stmt = new OracleInsertStatement();
        parseInsert0(stmt, false);
        stmt.setReturning(parseReturningClause());
        stmt.setErrorLogging(parseErrorLoggingClause());
        return stmt;
    }
    accept(Token.INSERT);
    List<SQLHint> hints = new ArrayList<SQLHint>();
    parseHints(hints);
    if (lexer.token() == Token.INTO) {
        OracleInsertStatement stmt = new OracleInsertStatement();
        stmt.setHints(hints);
        parseInsert0(stmt);
        stmt.setReturning(parseReturningClause());
        stmt.setErrorLogging(parseErrorLoggingClause());
        return stmt;
    }
    OracleMultiInsertStatement stmt = parseMultiInsert();
    stmt.setHints(hints);
    return stmt;
}
Also used : OracleMultiInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement) OracleInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleInsertStatement) ArrayList(java.util.ArrayList) SQLHint(com.alibaba.druid.sql.ast.SQLHint)

Example 5 with OracleMultiInsertStatement

use of com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement in project druid by alibaba.

the class OracleASTVisitorAdapterTest method test_adapter.

public void test_adapter() throws Exception {
    OracleASTVisitorAdapter adapter = new OracleASTVisitorAdapter();
    new OraclePLSQLCommitStatement().accept(adapter);
    new OracleAnalytic().accept(adapter);
    new OracleAnalyticWindowing().accept(adapter);
    new SQLDateExpr().accept(adapter);
    new OracleDbLinkExpr().accept(adapter);
    new OracleSelectForUpdate().accept(adapter);
    new OracleSelectHierachicalQueryClause().accept(adapter);
    new OracleSelectPivot.Item().accept(adapter);
    new OracleSelectPivot().accept(adapter);
    new CheckOption().accept(adapter);
    new ReadOnly().accept(adapter);
    new OracleSelectUnPivot().accept(adapter);
    new SQLTimestampExpr().accept(adapter);
    new PartitionExtensionClause().accept(adapter);
    new VersionsFlashbackQueryClause().accept(adapter);
    new VersionsFlashbackQueryClause().accept(adapter);
    new AsOfFlashbackQueryClause().accept(adapter);
    new SQLGroupingSetExpr().accept(adapter);
    new OracleWithSubqueryEntry().accept(adapter);
    new OracleFileSpecification().accept(adapter);
    new OracleAlterTablespaceAddDataFile().accept(adapter);
    new OracleAlterTablespaceStatement().accept(adapter);
    new SQLCreateSequenceStatement().accept(adapter);
    new SQLLoopStatement().accept(adapter);
    new OracleIntervalExpr().accept(adapter);
    new OracleDeleteStatement().accept(adapter);
    new OracleUpdateStatement().accept(adapter);
    new SampleClause().accept(adapter);
    new OracleSelectTableReference().accept(adapter);
    new SearchClause().accept(adapter);
    new CycleClause().accept(adapter);
    new OracleBinaryFloatExpr().accept(adapter);
    new OracleBinaryDoubleExpr().accept(adapter);
    new OracleCursorExpr().accept(adapter);
    new OracleIsSetExpr().accept(adapter);
    new ReturnRowsClause().accept(adapter);
    new ModelClause().accept(adapter);
    new MainModelClause().accept(adapter);
    new ModelColumnClause().accept(adapter);
    new QueryPartitionClause().accept(adapter);
    new ModelColumn().accept(adapter);
    new ModelRulesClause().accept(adapter);
    new CellAssignmentItem().accept(adapter);
    new CellAssignment().accept(adapter);
    new SQLMergeStatement().accept(adapter);
    new MergeUpdateClause().accept(adapter);
    new MergeInsertClause().accept(adapter);
    new SQLErrorLoggingClause().accept(adapter);
    new OracleReturningClause().accept(adapter);
    new OracleInsertStatement().accept(adapter);
    new InsertIntoClause().accept(adapter);
    new OracleMultiInsertStatement().accept(adapter);
    new ConditionalInsertClause().accept(adapter);
    new ConditionalInsertClauseItem().accept(adapter);
    new OracleSelectQueryBlock().accept(adapter);
    new SQLBlockStatement().accept(adapter);
    new OracleLockTableStatement().accept(adapter);
    new OracleAlterSessionStatement().accept(adapter);
    new OracleExprStatement().accept(adapter);
    new OracleDatetimeExpr().accept(adapter);
    new OracleExceptionStatement().accept(adapter);
    new OracleExceptionStatement.Item().accept(adapter);
    new OracleArgumentExpr().accept(adapter);
    new OracleSetTransactionStatement().accept(adapter);
    new SQLDropSequenceStatement().accept(adapter);
    new OracleDataTypeIntervalDay().accept(adapter);
    new OracleDataTypeIntervalYear().accept(adapter);
    new OracleDataTypeTimestamp().accept(adapter);
    new OracleDropDbLinkStatement().accept(adapter);
    new OracleCreateDatabaseDbLinkStatement().accept(adapter);
    new SQLCreateProcedureStatement().accept(adapter);
    new OracleSavePointStatement().accept(adapter);
    new SQLFetchStatement().accept(adapter);
    new OracleExitStatement().accept(adapter);
    new OracleExplainStatement().accept(adapter);
    new OracleAlterProcedureStatement().accept(adapter);
    new OracleAlterTableDropPartition().accept(adapter);
    new OracleAlterTableTruncatePartition().accept(adapter);
    new OracleAlterTableSplitPartition.TableSpaceItem().accept(adapter);
    new OracleAlterTableSplitPartition.UpdateIndexesClause().accept(adapter);
    new OracleAlterTableSplitPartition.NestedTablePartitionSpec().accept(adapter);
    new OracleAlterTableSplitPartition().accept(adapter);
    new OracleAlterTableModify().accept(adapter);
    new OracleCreateIndexStatement().accept(adapter);
    new OracleAlterIndexStatement().accept(adapter);
    new OracleForStatement().accept(adapter);
    new OracleAlterIndexStatement().accept(adapter);
    new OracleRangeExpr().accept(adapter);
    new OraclePrimaryKey().accept(adapter);
    new OracleCreateTableStatement().accept(adapter);
    new SQLAlterTableRename().accept(adapter);
    new OracleStorageClause().accept(adapter);
    new OracleGotoStatement().accept(adapter);
    new OracleLabelStatement().accept(adapter);
    new SQLParameter().accept(adapter);
    new OracleCommitStatement().accept(adapter);
    new OracleAlterTriggerStatement().accept(adapter);
    new OracleAlterSynonymStatement().accept(adapter);
    new AsOfSnapshotClause().accept(adapter);
    new OracleAlterViewStatement().accept(adapter);
    new OracleAlterTableMoveTablespace().accept(adapter);
    new OracleSizeExpr().accept(adapter);
}
Also used : OracleDropDbLinkStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleDropDbLinkStatement) OracleWithSubqueryEntry(com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry) ModelColumnClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ModelColumnClause) SQLTimestampExpr(com.alibaba.druid.sql.ast.expr.SQLTimestampExpr) ModelClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause) MainModelClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.MainModelClause) ConditionalInsertClauseItem(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem) OracleDataTypeTimestamp(com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeTimestamp) OracleExprStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleExprStatement) OracleAnalytic(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic) OracleBinaryDoubleExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleBinaryDoubleExpr) OracleAlterTableSplitPartition(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableSplitPartition) OracleDataTypeIntervalYear(com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalYear) AsOfFlashbackQueryClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.AsOfFlashbackQueryClause) OracleIntervalExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleIntervalExpr) OracleSelectPivot(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectPivot) OracleSelectUnPivot(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectUnPivot) SQLParameter(com.alibaba.druid.sql.ast.SQLParameter) OracleGotoStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleGotoStatement) InsertIntoClause(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause) OracleRangeExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleRangeExpr) OracleAlterSynonymStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement) OracleCursorExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleCursorExpr) OracleCreateIndexStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleCreateIndexStatement) VersionsFlashbackQueryClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.VersionsFlashbackQueryClause) ModelColumn(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ModelColumn) OracleBinaryFloatExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleBinaryFloatExpr) OracleAlterTablespaceAddDataFile(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTablespaceAddDataFile) OracleAlterSessionStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement) ConditionalInsertClause(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause) CheckOption(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectRestriction.CheckOption) OracleAlterTableModify(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify) OraclePrimaryKey(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey) OracleSetTransactionStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSetTransactionStatement) CellAssignmentItem(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.CellAssignmentItem) OracleFileSpecification(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleFileSpecification) OracleReturningClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause) OracleCreateDatabaseDbLinkStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleCreateDatabaseDbLinkStatement) SearchClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause) SampleClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause) OracleAlterTableMoveTablespace(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace) OracleAlterTriggerStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTriggerStatement) OracleAlterViewStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterViewStatement) OracleAlterTableTruncatePartition(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableTruncatePartition) OracleExplainStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleExplainStatement) OracleSizeExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleSizeExpr) CycleClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.CycleClause) OracleLockTableStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleLockTableStatement) MergeUpdateClause(com.alibaba.druid.sql.ast.statement.SQLMergeStatement.MergeUpdateClause) OracleSelectTableReference(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference) OracleAnalyticWindowing(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalyticWindowing) OracleIsSetExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleIsSetExpr) OracleDatetimeExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleDatetimeExpr) ReadOnly(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectRestriction.ReadOnly) OracleAlterProcedureStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement) OracleSelectForUpdate(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectForUpdate) PartitionExtensionClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause) OracleArgumentExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleArgumentExpr) OracleUpdateStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateStatement) OracleAlterIndexStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement) OracleInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleInsertStatement) OracleSelectQueryBlock(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock) OracleDbLinkExpr(com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleDbLinkExpr) OracleAlterTablespaceStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTablespaceStatement) MainModelClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.MainModelClause) OracleForStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleForStatement) OracleExitStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleExitStatement) OracleStorageClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause) CellAssignment(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.CellAssignment) ModelRulesClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ModelRulesClause) OracleCommitStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleCommitStatement) SQLGroupingSetExpr(com.alibaba.druid.sql.ast.expr.SQLGroupingSetExpr) OracleAlterTableDropPartition(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition) OracleSavePointStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSavePointStatement) ReturnRowsClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ReturnRowsClause) OracleDeleteStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleDeleteStatement) OracleLabelStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleLabelStatement) OraclePLSQLCommitStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePLSQLCommitStatement) OracleASTVisitorAdapter(com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitorAdapter) OracleMultiInsertStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement) QueryPartitionClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.QueryPartitionClause) OracleSelectHierachicalQueryClause(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectHierachicalQueryClause) OracleExceptionStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleExceptionStatement) AsOfSnapshotClause(com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.AsOfSnapshotClause) OracleCreateTableStatement(com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleCreateTableStatement) SQLDateExpr(com.alibaba.druid.sql.ast.expr.SQLDateExpr) OracleDataTypeIntervalDay(com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalDay) MergeInsertClause(com.alibaba.druid.sql.ast.statement.SQLMergeStatement.MergeInsertClause)

Aggregations

OracleMultiInsertStatement (com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement)5 OracleInsertStatement (com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleInsertStatement)2 SQLCommentHint (com.alibaba.druid.sql.ast.SQLCommentHint)1 SQLHint (com.alibaba.druid.sql.ast.SQLHint)1 SQLObject (com.alibaba.druid.sql.ast.SQLObject)1 SQLParameter (com.alibaba.druid.sql.ast.SQLParameter)1 SQLStatement (com.alibaba.druid.sql.ast.SQLStatement)1 SQLDateExpr (com.alibaba.druid.sql.ast.expr.SQLDateExpr)1 SQLGroupingSetExpr (com.alibaba.druid.sql.ast.expr.SQLGroupingSetExpr)1 SQLTimestampExpr (com.alibaba.druid.sql.ast.expr.SQLTimestampExpr)1 MergeInsertClause (com.alibaba.druid.sql.ast.statement.SQLMergeStatement.MergeInsertClause)1 MergeUpdateClause (com.alibaba.druid.sql.ast.statement.SQLMergeStatement.MergeUpdateClause)1 SQLSelect (com.alibaba.druid.sql.ast.statement.SQLSelect)1 SQLStartTransactionStatement (com.alibaba.druid.sql.ast.statement.SQLStartTransactionStatement)1 MySqlCommitStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCommitStatement)1 MySqlDescribeStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlDescribeStatement)1 MySqlHintStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlHintStatement)1 MySqlLockTableStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement)1 MySqlRenameTableStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement)1 MySqlReplaceStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement)1