001package gudusoft.gsqlparser.nodes;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005
006public class TCreateMacroSqlNode extends TParseTreeNode {
007    private TExpression expr;
008
009    public TExpression getExpr() {
010        return expr;
011    }
012
013    private TParameterDeclarationList parameters = null;
014    private TStatementListSqlNode stmts = null;
015    private TObjectName macroName;
016
017    public TParameterDeclarationList getParameters() {
018        return parameters;
019    }
020
021    public TStatementListSqlNode getStmts() {
022        return stmts;
023    }
024
025    public TObjectName getMacroName() {
026        return macroName;
027    }
028
029    public void setParameters(TParameterDeclarationList parameters) {
030        this.parameters = parameters;
031    }
032
033    public void init(Object arg1){
034        macroName = (TObjectName)arg1;
035
036    }
037
038    public void init(Object arg1, Object arg2){
039        macroName = (TObjectName)arg1;
040        stmts = (TStatementListSqlNode)arg2;
041    }
042
043    public void init(Object arg1, Object arg2,Object arg3){
044        switch (dbvendor){
045            case dbvteradata:
046                init(arg1,arg2);
047                parameters = (TParameterDeclarationList)arg3;
048                break;
049            case dbvhive:
050                init(arg1);
051                parameters = (TParameterDeclarationList)arg2;
052                expr = (TExpression)arg3;
053                break;
054        }
055    }
056}