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 EXPORT statement for StarRocks. 010 * 011 * Syntax: 012 * SHOW EXPORT[ FROM <db_name> ] 013 * [WHERE 014 * [ QUERYID = <query_id> ] 015 * [ STATE = { "PENDING" | "EXPORTING" | "FINISHED" | "CANCELLED" } ] 016 * ] 017 * [ ORDER BY <field_name> [ ASC | DESC ] [, ... ] ] 018 * [ LIMIT <count> ] 019 * 020 * This statement queries the execution information of export jobs. 021 */ 022public class TStarrocksShowExportStmt extends TCustomSqlStatement { 023 024 // FROM database (optional) 025 private TObjectName databaseName; 026 027 // WHERE condition (optional) 028 private TExpression whereCondition; 029 030 // ORDER BY clause (optional) 031 private TOrderByItemList orderByClause; 032 033 // LIMIT clause (optional) 034 private TLimitClause limitClause; 035 036 public TStarrocksShowExportStmt(EDbVendor dbvendor) { 037 super(dbvendor); 038 sqlstatementtype = ESqlStatementType.sststarrocksShowExport; 039 } 040 041 // Getters 042 public TObjectName getDatabaseName() { 043 return databaseName; 044 } 045 046 public TExpression getWhereCondition() { 047 return whereCondition; 048 } 049 050 public TOrderByItemList getOrderByClause() { 051 return orderByClause; 052 } 053 054 public TLimitClause getLimitClause() { 055 return limitClause; 056 } 057 058 @Override 059 public int doParseStatement(TCustomSqlStatement psql) { 060 if (rootNode == null) return -1; 061 super.doParseStatement(psql); 062 063 TShowExportSqlNode node = (TShowExportSqlNode) rootNode; 064 065 this.databaseName = node.getDatabaseName(); 066 this.whereCondition = node.getWhereCondition(); 067 this.orderByClause = node.getOrderByClause(); 068 this.limitClause = node.getLimitClause(); 069 070 return 0; 071 } 072 073 @Override 074 public void accept(TParseTreeVisitor v) { 075 v.preVisit(this); 076 v.postVisit(this); 077 } 078 079 @Override 080 public void acceptChildren(TParseTreeVisitor v) { 081 v.preVisit(this); 082 v.postVisit(this); 083 } 084}