Search in sources :

Example 26 with MySqlOutputVisitor

use of com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor in project druid by alibaba.

the class MysqlTest method output.

protected String output(List<SQLStatement> stmtList) {
    StringBuilder out = new StringBuilder();
    MySqlOutputVisitor visitor = new MySqlOutputVisitor(out);
    for (SQLStatement stmt : stmtList) {
        stmt.accept(visitor);
    }
    return out.toString();
}
Also used : MySqlOutputVisitor(com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement)

Example 27 with MySqlOutputVisitor

use of com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor in project druid by alibaba.

the class OnlineSQLTest method validate.

void validate(int id, String sql) throws Exception {
    sql = sql.trim();
    boolean sqlFlag = false;
    String lowerSql = sql.toLowerCase();
    if (lowerSql.startsWith("insert") || lowerSql.startsWith("select") || lowerSql.startsWith("upate") || lowerSql.startsWith("delete") || lowerSql.startsWith("create") || lowerSql.startsWith("drop")) {
        sqlFlag = true;
    }
    if (!sqlFlag) {
        update(id, sql, 2);
        return;
    }
    MySqlStatementParser parser = new MySqlStatementParser(sql);
    List<SQLStatement> statementList = parser.parseStatementList();
    SQLStatement statemen = statementList.get(0);
    Assert.assertEquals(1, statementList.size());
    StringBuilder out = new StringBuilder();
    MySqlOutputVisitor visitor = new MySqlOutputVisitor(out, true);
    statemen.accept(visitor);
    update(id, out.toString(), 1);
    System.out.println(sql);
    System.out.println(out.toString());
}
Also used : MySqlOutputVisitor(com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor) MySqlStatementParser(com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement)

Example 28 with MySqlOutputVisitor

use of com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor in project druid by alibaba.

the class NumberTest method output.

private String output(List<SQLStatement> stmtList) {
    StringBuilder out = new StringBuilder();
    for (SQLStatement stmt : stmtList) {
        stmt.accept(new MySqlOutputVisitor(out));
        out.append(";");
    }
    return out.toString();
}
Also used : MySqlOutputVisitor(com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement)

Example 29 with MySqlOutputVisitor

use of com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor in project druid by alibaba.

the class REPLACE_Syntax_Test method output.

private String output(List<SQLStatement> stmtList) {
    StringBuilder out = new StringBuilder();
    for (SQLStatement stmt : stmtList) {
        stmt.accept(new MySqlOutputVisitor(out));
        out.append(";");
    }
    return out.toString();
}
Also used : MySqlOutputVisitor(com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement)

Example 30 with MySqlOutputVisitor

use of com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor in project druid by alibaba.

the class SHOW_STATUS_Syntax_Test method output.

private String output(List<SQLStatement> stmtList) {
    StringBuilder out = new StringBuilder();
    for (SQLStatement stmt : stmtList) {
        stmt.accept(new MySqlOutputVisitor(out));
        out.append(";");
    }
    return out.toString();
}
Also used : MySqlOutputVisitor(com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor) SQLStatement(com.alibaba.druid.sql.ast.SQLStatement)

Aggregations

MySqlOutputVisitor (com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor)61 SQLStatement (com.alibaba.druid.sql.ast.SQLStatement)60 MySqlStatementParser (com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser)20 SQLInListExpr (com.alibaba.druid.sql.ast.expr.SQLInListExpr)1 SQLSelectItem (com.alibaba.druid.sql.ast.statement.SQLSelectItem)1 MySqlInsertStatement (com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlInsertStatement)1 SQLStatementParser (com.alibaba.druid.sql.parser.SQLStatementParser)1 AggregationColumn (com.dangdang.ddframe.rdb.sharding.parser.result.merger.AggregationColumn)1 AggregationType (com.dangdang.ddframe.rdb.sharding.parser.result.merger.AggregationColumn.AggregationType)1