001package gudusoft.gsqlparser.nodes;
002
003/**
004 * AST node for StarRocks SHOW EXPORT statement.
005 *
006 * Syntax:
007 * SHOW EXPORT[ FROM <db_name> ]
008 * [WHERE
009 *     [ QUERYID = <query_id> ]
010 *     [ STATE = { "PENDING" | "EXPORTING" | "FINISHED" | "CANCELLED" } ]
011 * ]
012 * [ ORDER BY <field_name> [ ASC | DESC ] [, ... ] ]
013 * [ LIMIT <count> ]
014 *
015 * Example:
016 * SHOW EXPORT FROM mydb WHERE STATE = "FINISHED" ORDER BY CreateTime DESC LIMIT 10;
017 */
018public class TShowExportSqlNode extends TParseTreeNode {
019    // FROM database (optional)
020    private TObjectName databaseName;
021
022    // WHERE condition (optional)
023    private TExpression whereCondition;
024
025    // ORDER BY clause (optional)
026    private TOrderByItemList orderByClause;
027
028    // LIMIT clause (optional)
029    private TLimitClause limitClause;
030
031    // Getters and setters
032    public TObjectName getDatabaseName() {
033        return databaseName;
034    }
035
036    public void setDatabaseName(TObjectName databaseName) {
037        this.databaseName = databaseName;
038    }
039
040    public TExpression getWhereCondition() {
041        return whereCondition;
042    }
043
044    public void setWhereCondition(TExpression whereCondition) {
045        this.whereCondition = whereCondition;
046    }
047
048    public TOrderByItemList getOrderByClause() {
049        return orderByClause;
050    }
051
052    public void setOrderByClause(TOrderByItemList orderByClause) {
053        this.orderByClause = orderByClause;
054    }
055
056    public TLimitClause getLimitClause() {
057        return limitClause;
058    }
059
060    public void setLimitClause(TLimitClause limitClause) {
061        this.limitClause = limitClause;
062    }
063}