| 128 | } //ImpalaServer::ExecuteIgnoreResults |
| 129 | |
| 130 | Status ImpalaServer::ExecuteAndFetchAllHS2(const std::string& user_name, |
| 131 | const std::string& sql, vector<TRow>& results, const QueryOptionMap& query_opts, |
| 132 | const bool persist_in_db, results_columns* columns, TUniqueId* query_id) { |
| 133 | TUniqueId session_id; |
| 134 | TUniqueId internal_query_id; |
| 135 | Status result; |
| 136 | |
| 137 | result = SubmitAndWait(user_name, sql, session_id, internal_query_id, query_opts, |
| 138 | persist_in_db); |
| 139 | |
| 140 | if (query_id != nullptr) { |
| 141 | *query_id = internal_query_id; |
| 142 | } |
| 143 | |
| 144 | if (result.ok()) { |
| 145 | result = FetchAllRowsHS2(internal_query_id, results, columns); |
| 146 | } |
| 147 | |
| 148 | if (!UUIDEmpty(internal_query_id)) { |
| 149 | CloseQuery(internal_query_id); |
| 150 | } |
| 151 | |
| 152 | CloseSession(session_id); |
| 153 | |
| 154 | return result; |
| 155 | } // ImpalaServer::ExecuteAndFetchAllHS2 |
| 156 | |
| 157 | Status ImpalaServer::SubmitAndWait(const string& user_name, const string& sql, |
| 158 | TUniqueId& new_session_id, TUniqueId& new_query_id, const QueryOptionMap& query_opts, |