static void load_all_orders (GncSqlBackend* be) { GncSqlStatement* stmt; GncSqlResult* result; g_return_if_fail (be != NULL); stmt = gnc_sql_create_select_statement (be, TABLE_NAME); result = gnc_sql_execute_select_statement (be, stmt); gnc_sql_statement_dispose (stmt); if (result != NULL) { GncSqlRow* row; GList* list = NULL; row = gnc_sql_result_get_first_row (result); while (row != NULL) { GncOrder* pOrder = load_single_order (be, row); if (pOrder != NULL) { list = g_list_append (list, pOrder); } row = gnc_sql_result_get_next_row (result); } gnc_sql_result_dispose (result); if (list != NULL) { gnc_sql_slots_load_for_list (be, list); g_list_free (list); } } }
void GncSqlOrderBackend::load_all (GncSqlBackend* sql_be) { g_return_if_fail (sql_be != NULL); std::string sql("SELECT * FROM " TABLE_NAME); auto stmt = sql_be->create_statement_from_sql(sql); auto result = sql_be->execute_select_statement(stmt); for (auto row : *result) GncOrder* pOrder = load_single_order (sql_be, row); std::string pkey(col_table[0]->name()); sql = "SELECT DISTINCT "; sql += pkey + " FROM " TABLE_NAME; gnc_sql_slots_load_for_sql_subquery (sql_be, sql, (BookLookupFn)gnc_order_lookup); }
void GncSqlOrderBackend::load_all (GncSqlBackend* be) { g_return_if_fail (be != NULL); std::stringstream sql; sql << "SELECT * FROM " << TABLE_NAME; auto stmt = be->create_statement_from_sql(sql.str()); auto result = be->execute_select_statement(stmt); InstanceVec instances; for (auto row : *result) { GncOrder* pOrder = load_single_order (be, row); if (pOrder != nullptr) instances.push_back(QOF_INSTANCE(pOrder)); } if (!instances.empty()) gnc_sql_slots_load_for_instancevec (be, instances); }