001package gudusoft.gsqlparser.nodes;
002
003/**
004 * AST node for StarRocks ABORT LOAD TRANSACTION statement.
005 *
006 * Syntax:
007 * ABORT LOAD TRANSACTION [label_name]
008 * ABORT LOAD TRANSACTION [FOR db_name]
009 *
010 * Aborts the stream load transaction to roll back data changes.
011 * Note: ROLLBACK LOAD TRANSACTION is an alias for ABORT LOAD TRANSACTION.
012 */
013public class TAbortLoadTransactionSqlNode extends TParseTreeNode {
014    // Transaction label (optional)
015    private TObjectName labelName;
016
017    // Database name (optional: FOR db_name)
018    private TObjectName databaseName;
019
020    // Whether this was specified using ROLLBACK instead of ABORT
021    private boolean isRollback;
022
023    // Getters and setters
024    public TObjectName getLabelName() {
025        return labelName;
026    }
027
028    public void setLabelName(TObjectName labelName) {
029        this.labelName = labelName;
030    }
031
032    public TObjectName getDatabaseName() {
033        return databaseName;
034    }
035
036    public void setDatabaseName(TObjectName databaseName) {
037        this.databaseName = databaseName;
038    }
039
040    public boolean isRollback() {
041        return isRollback;
042    }
043
044    public void setRollback(boolean isRollback) {
045        this.isRollback = isRollback;
046    }
047
048    public void init(Object arg1) {
049        // arg1 can be label name (TObjectName) or null
050        if (arg1 instanceof TObjectName) {
051            this.labelName = (TObjectName) arg1;
052        }
053    }
054}