001package gudusoft.gsqlparser.stmt.snowflake;
002
003import gudusoft.gsqlparser.EDbVendor;
004import gudusoft.gsqlparser.ESqlStatementType;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.nodes.TExpression;
007import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
008
009/**
010 * expression used in the create function body will be treated as a pseudo expression statement.
011 */
012public class TPseudoExprStmt extends TCustomSqlStatement {
013
014    private TExpression expr;
015
016    public TExpression getExpr() {
017        return expr;
018    }
019
020    public TPseudoExprStmt(EDbVendor dbvendor) {
021        super(dbvendor);
022        sqlstatementtype = ESqlStatementType.sstSnowflakePseudoExprStmt;
023    }
024
025    public int doParseStatement(TCustomSqlStatement psql) {
026        if (rootNode == null) return -1;
027        super.doParseStatement(psql);
028        expr =(TExpression) rootNode;
029
030        return 0;
031    }
032
033    public void accept(TParseTreeVisitor v){
034        v.preVisit(this);
035        v.postVisit(this);
036    }
037
038    public void acceptChildren(TParseTreeVisitor v){
039        v.preVisit(this);
040        v.postVisit(this);
041    }
042
043}