001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.*; 007 008/** 009 * DESC[RIBE] STORAGE VOLUME statement for StarRocks. 010 * 011 * Syntax: 012 * DESC[RIBE] STORAGE VOLUME <storage_volume_name> 013 * 014 * This statement describes a specific storage volume, including 015 * its name, type, location, credentials, enabled status, and comment. 016 */ 017public class TStarrocksDescStorageVolumeStmt extends TCustomSqlStatement { 018 019 // Storage volume name 020 private TObjectName volumeName; 021 022 public TStarrocksDescStorageVolumeStmt(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.sststarrocksDescStorageVolume; 025 } 026 027 // Getters 028 public TObjectName getVolumeName() { 029 return volumeName; 030 } 031 032 @Override 033 public int doParseStatement(TCustomSqlStatement psql) { 034 if (rootNode == null) return -1; 035 super.doParseStatement(psql); 036 037 TDescStorageVolumeSqlNode node = (TDescStorageVolumeSqlNode) rootNode; 038 039 this.volumeName = node.getVolumeName(); 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}