001 002package gudusoft.gsqlparser.dlineage.dataflow.model; 003 004import gudusoft.gsqlparser.ESetOperatorType; 005import gudusoft.gsqlparser.nodes.TResultColumnList; 006import gudusoft.gsqlparser.stmt.TSelectSqlStatement; 007 008public class SelectSetResultSet extends ResultSet { 009 010 private TSelectSqlStatement selectObject; 011 012 public SelectSetResultSet(TSelectSqlStatement select, boolean isTarget) { 013 super(select, isTarget); 014 this.selectObject = select; 015 } 016 017 public ESetOperatorType getSetOperatorType() { 018 return selectObject.getSetOperatorType(); 019 } 020 021 public TResultColumnList getResultColumnObject() { 022 return getResultColumnList(selectObject); 023 } 024 025 private TResultColumnList getResultColumnList(TSelectSqlStatement stmt) { 026 if (stmt.isCombinedQuery()) { 027 TResultColumnList columns = getResultColumnList(stmt.getLeftStmt()); 028 if(columns!=null){ 029 return columns; 030 } 031 return getResultColumnList(stmt.getRightStmt()); 032 } else { 033 return stmt.getResultColumnList(); 034 } 035 } 036 037 public TSelectSqlStatement getSelectObject() { 038 return selectObject; 039 } 040}