001package gudusoft.gsqlparser.nodes; 002 003/** 004 * AST node for StarRocks CANCEL BACKUP and CANCEL RESTORE statements. 005 * 006 * Syntax: 007 * CANCEL BACKUP FROM <db_name> 008 * CANCEL BACKUP FOR EXTERNAL CATALOG 009 * CANCEL RESTORE FROM <db_name> 010 * 011 * Note: If a RESTORE task is canceled during the COMMIT phase, the restored 012 * data will be corrupted and inaccessible. 013 * 014 * Example: 015 * CANCEL BACKUP FROM example_db; 016 * CANCEL RESTORE FROM example_db; 017 */ 018public class TCancelBackupRestoreSqlNode extends TParseTreeNode { 019 020 /** 021 * Type of cancel statement - BACKUP or RESTORE 022 */ 023 public enum CancelType { 024 BACKUP, 025 RESTORE 026 } 027 028 // Type of cancel statement 029 private CancelType cancelType; 030 031 // FROM clause - database name (required for RESTORE, optional for BACKUP) 032 private TObjectName databaseName; 033 034 // FOR EXTERNAL CATALOG flag (BACKUP only) 035 private boolean forExternalCatalog; 036 037 // Getters and setters 038 public CancelType getCancelType() { 039 return cancelType; 040 } 041 042 public void setCancelType(CancelType cancelType) { 043 this.cancelType = cancelType; 044 } 045 046 public TObjectName getDatabaseName() { 047 return databaseName; 048 } 049 050 public void setDatabaseName(TObjectName databaseName) { 051 this.databaseName = databaseName; 052 } 053 054 public boolean isForExternalCatalog() { 055 return forExternalCatalog; 056 } 057 058 public void setForExternalCatalog(boolean forExternalCatalog) { 059 this.forExternalCatalog = forExternalCatalog; 060 } 061 062 public void init(Object arg1) { 063 // Default initialization 064 } 065}