001package gudusoft.gsqlparser.stmt.flink; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 007 008/** 009 * Flink EXECUTE STATEMENT SET support. 010 * 011 * Syntax: 012 * EXECUTE STATEMENT SET 013 * BEGIN 014 * INSERT INTO ...; 015 * INSERT INTO ...; 016 * END; 017 * 018 * The raw statement splitter treats the header ("EXECUTE STATEMENT SET BEGIN"), 019 * each inner INSERT, and the trailing "END" as separate statements. This class 020 * represents the header and the trailing END marker; the inner INSERT statements 021 * are regular {@link gudusoft.gsqlparser.stmt.TInsertSqlStatement} instances that 022 * immediately follow it in the statement list. 023 * 024 * @since 4.1.9 025 */ 026public class TFlinkExecuteStatementSetStmt extends TCustomSqlStatement { 027 028 public TFlinkExecuteStatementSetStmt(EDbVendor dbvendor) { 029 super(dbvendor); 030 sqlstatementtype = ESqlStatementType.sstExecute; 031 } 032 033 @Override 034 public int doParseStatement(TCustomSqlStatement psql) { 035 if (rootNode == null) return -1; 036 super.doParseStatement(psql); 037 return 0; 038 } 039 040 public void accept(TParseTreeVisitor v){ 041 v.preVisit(this); 042 v.postVisit(this); 043 } 044 045 public void acceptChildren(TParseTreeVisitor v){ 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049}