001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TDummy; 007import gudusoft.gsqlparser.nodes.TObjectName; 008import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 009import gudusoft.gsqlparser.nodes.TStubStmtSqlNode; 010 011 012public class TShowStmt extends TCustomSqlStatement { 013 public enum EShowType {parameter, transaction, replicaStatus}; 014 015 private TObjectName parameterName; 016 private EShowType showType; 017 018 public EShowType getShowType() { 019 return showType; 020 } 021 022 public TObjectName getParameterName() { 023 return parameterName; 024 } 025 026 public TShowStmt(EDbVendor dbvendor) { 027 super(dbvendor); 028 sqlstatementtype = ESqlStatementType.sstShow; 029 } 030 031 public int doParseStatement(TCustomSqlStatement psql) { 032 if (rootNode == null) return -1; 033 super.doParseStatement(psql); 034 if (rootNode instanceof TDummy){ 035 TDummy node = (TDummy)rootNode; 036 parameterName = (TObjectName) node.node1; 037 showType = node.showType; 038 039 }else if (rootNode instanceof TStubStmtSqlNode){ 040 // sparksql 041 } 042 043 return 0; 044 } 045 public void accept(TParseTreeVisitor v){ 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049 public void acceptChildren(TParseTreeVisitor v){ 050 v.preVisit(this); 051 v.postVisit(this); 052 } 053 054}