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.TParseTreeVisitor; 009import gudusoft.gsqlparser.nodes.TResetSqlNode; 010 011/** 012 * This class represents reset statement of GaussDB. (2024/6/30) 013 * In other databases, All reset statement is still represented by {@link TSetStmt} 014 * In the future, use this class to represent the reset statement. 015 */ 016public class TResetStmt extends TCustomSqlStatement { 017 018 private TObjectName variableName; 019 020 public TObjectName getVariableName() { 021 return variableName; 022 } 023 024 public TResetStmt(EDbVendor dbvendor) { 025 super(dbvendor); 026 sqlstatementtype = ESqlStatementType.sstReset; 027 } 028 029 public int doParseStatement(TCustomSqlStatement psql) { 030 if (rootNode == null) return -1; 031 TResetSqlNode resetSqlNode = (TResetSqlNode)rootNode; 032 super.doParseStatement(psql); 033 variableName = resetSqlNode.getVariableName(); 034 variableName.setDbObjectType(EDbObjectType.variable); 035 return 0; 036 } 037 038 public void accept(TParseTreeVisitor v){ 039 v.preVisit(this); 040 v.postVisit(this); 041 } 042 043 public void acceptChildren(TParseTreeVisitor v){ 044 v.preVisit(this); 045 v.postVisit(this); 046 } 047 048}