001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.*; 007 008/** 009 * SHOW STORAGE VOLUMES statement for StarRocks. 010 * 011 * Syntax: 012 * SHOW STORAGE VOLUMES [ LIKE '<pattern>' ] 013 * 014 * This statement lists all storage volumes in the cluster. 015 * The LIKE pattern can be used to filter results. 016 */ 017public class TStarrocksShowStorageVolumeStmt extends TCustomSqlStatement { 018 019 // Optional LIKE pattern 020 private String likePattern; 021 022 public TStarrocksShowStorageVolumeStmt(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.sststarrocksShowStorageVolume; 025 } 026 027 // Getters 028 public String getLikePattern() { 029 return likePattern; 030 } 031 032 @Override 033 public int doParseStatement(TCustomSqlStatement psql) { 034 if (rootNode == null) return -1; 035 super.doParseStatement(psql); 036 037 TShowStorageVolumeSqlNode node = (TShowStorageVolumeSqlNode) rootNode; 038 039 if (node.getLikePattern() != null) { 040 this.likePattern = node.getLikePattern().toString(); 041 } 042 043 return 0; 044 } 045 046 @Override 047 public void accept(TParseTreeVisitor v) { 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052 @Override 053 public void acceptChildren(TParseTreeVisitor v) { 054 v.preVisit(this); 055 v.postVisit(this); 056 } 057}