MCPcopy Create free account
hub / github.com/BlazingDB/blazingsql / get_next

Method get_next

engine/src/io/data_provider/sql/MySQLDataProvider.cpp:196–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196data_handle mysql_data_provider::get_next(bool open_file) {
197 data_handle ret;
198
199 if (open_file == false) {
200 ret.sql_handle.table = this->sql.table;
201 ret.sql_handle.column_names = this->column_names;
202 ret.sql_handle.column_types = this->column_types;
203 return ret;
204 }
205
206 std::string query = this->build_select_query(this->batch_index);
207
208 // DEBUG
209 //std::cout << "\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MYSQL QUERY:\n\n" << query << "\n\n\n";
210 ++this->batch_index;
211 auto res = execute_mysql_query(this->mysql_connection.get(), query);
212
213 if (res->rowsCount() == 0) {
214 this->table_fetch_completed = true;
215 }
216
217 ret.sql_handle.table = this->sql.table;
218 ret.sql_handle.column_names = this->column_names;
219 ret.sql_handle.column_types = this->column_types;
220 ret.sql_handle.mysql_resultset = res;
221 ret.sql_handle.row_count = res->rowsCount();
222 // TODO percy add columns to uri.query
223 ret.uri = Uri("mysql", "", this->sql.schema + "/" + this->sql.table, "", "");
224 return ret;
225}
226
227size_t mysql_data_provider::get_num_handles() {
228 size_t ret = this->estimated_table_row_count / this->sql.table_batch_size;

Callers 1

get_someMethod · 0.45

Calls 3

execute_mysql_queryFunction · 0.85
build_select_queryMethod · 0.80
UriClass · 0.50

Tested by

no test coverage detected