001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.*; 007 008/** 009 * DROP REPOSITORY statement for StarRocks. 010 * 011 * Syntax: 012 * DROP REPOSITORY `repo_name`; 013 * 014 * This statement deletes the mapping of a repository in StarRocks. 015 * Note: This does not delete the actual data in the remote storage. 016 */ 017public class TStarrocksDropRepositoryStmt extends TCustomSqlStatement { 018 019 // Repository name 020 private TObjectName repositoryName; 021 022 public TStarrocksDropRepositoryStmt(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.sststarrocksDropRepository; 025 } 026 027 // Getters 028 public TObjectName getRepositoryName() { 029 return repositoryName; 030 } 031 032 @Override 033 public int doParseStatement(TCustomSqlStatement psql) { 034 if (rootNode == null) return -1; 035 super.doParseStatement(psql); 036 037 TDropRepositorySqlNode node = (TDropRepositorySqlNode) rootNode; 038 039 this.repositoryName = node.getRepositoryName(); 040 041 return 0; 042 } 043 044 @Override 045 public void accept(TParseTreeVisitor v) { 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049 050 @Override 051 public void acceptChildren(TParseTreeVisitor v) { 052 v.preVisit(this); 053 v.postVisit(this); 054 } 055}