001package gudusoft.gsqlparser.stmt;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TObjectName;
008import gudusoft.gsqlparser.nodes.TObjectNameList;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.TUnsetSqlNode;
011
012public class TUnsetStmt extends TCustomSqlStatement {
013
014    private TObjectName variableName;
015    private TObjectNameList nameList;
016    private EDbObjectType objectType; 
017
018    public EDbObjectType getObjectType() {
019        return objectType;
020    }
021
022    public TObjectName getVariableName(){
023        return variableName;
024    }
025
026    public TObjectNameList getNameList(){
027        return nameList;
028    }
029
030    public TUnsetStmt(EDbVendor dbvendor) {
031        super(dbvendor);
032        sqlstatementtype = ESqlStatementType.sstunset;
033    }
034
035    public int doParseStatement(TCustomSqlStatement psql) {
036        if (rootNode == null) return -1;
037        super.doParseStatement(psql);
038        TUnsetSqlNode unsetNode = (TUnsetSqlNode)rootNode;
039        objectType = unsetNode.getObjectType();
040        variableName = unsetNode.getVariableName();
041        if (variableName != null){
042            variableName.setDbObjectType(EDbObjectType.variable);
043        }
044        nameList = unsetNode.getNameList();
045
046
047        return 0;
048    }
049
050    public void accept(TParseTreeVisitor v){
051        v.preVisit(this);
052        v.postVisit(this);
053    }
054
055    public void acceptChildren(TParseTreeVisitor v){
056        v.preVisit(this);
057        v.postVisit(this);
058    }
059
060
061}