lib/ovsdb-idl.c
/* Returns a row in 'table_class''s table in 'idl', or a null pointer if that
 * table is empty.
 *
 * Database tables are internally maintained as hash tables, so adding or
 * removing rows while traversing the same table can cause some rows to be
 * visited twice or not at apply. */


Database tables are internally maintained as hash tables, so adding or
removing rows while traversing the same table can cause some rows to be
visited twice or not at apply.
Database tables are internally maintained as hash tables so adding or removing rows while traversing the same table can cause some rows to be visited twice or not at apply .
const struct ovsdb_idl_row *
ovsdb_idl_first_row(const struct ovsdb_idl *idl,
                    const struct ovsdb_idl_table_class *table_class)
{
    struct ovsdb_idl_table *table = ovsdb_idl_table_from_class(idl,
                                                               table_class);
    return next_real_row(table, hmap_first(&table->rows));
}
const struct ovsdb_idl_row * ovsdb_idl_first_row ( const struct ovsdb_idl * idl , const struct ovsdb_idl_table_class * table_class ) { struct ovsdb_idl_table * table = ovsdb_idl_table_from_class ( idl , table_class ) ; return next_real_row ( table , hmap_first ( & table -> rows ) ) ; }
Returns a row in 'table_class''s table in 'idl', or a null pointer if that
 table is empty.
Returns a row in ' table_class ' ' s table in ' idl ' or a null pointer if that table is empty .