static void load_all_vendors( 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 ) { GncVendor* pVendor = load_single_vendor( be, row ); if ( pVendor != NULL ) { list = g_list_append( list, pVendor ); } 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 GncSqlVendorBackend::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) GncVendor* pVendor = load_single_vendor (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_vendor_lookup); }
void GncSqlVendorBackend::load_all (GncSqlBackend* sql_be) { g_return_if_fail (sql_be != NULL); std::stringstream sql; sql << "SELECT * FROM " << TABLE_NAME; auto stmt = sql_be->create_statement_from_sql(sql.str()); auto result = sql_be->execute_select_statement(stmt); InstanceVec instances; for (auto row : *result) { GncVendor* pVendor = load_single_vendor (sql_be, row); if (pVendor != nullptr) instances.push_back(QOF_INSTANCE(pVendor)); } if (!instances.empty()) gnc_sql_slots_load_for_instancevec (sql_be, instances); }