ovsdb-idl: Allow clients to modify records without using structs.
authorBen Pfaff <blp@nicira.com>
Mon, 25 Jan 2010 18:15:17 +0000 (10:15 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 26 Jan 2010 17:49:30 +0000 (09:49 -0800)
commit979821c0a6b0c8a9f941a2e13c49feffe2391ab8
treeea54fde91e9ff44137a2355df1f47aef4067623a
parent36d802ae1fd61d5ae3bfa1b114b8f3a911d987e5
ovsdb-idl: Allow clients to modify records without using structs.

The IDL is intended to allow clients easier access to data in the database
by providing an extra layer of abstraction.  However, ovs-vsctl needs to
also provide generic access to database tables, rows, and columns, and
until now the IDL has not allowed this.  In particular, there was no way
to modify the value of a database column by providing a "struct
ovsdb_datum" with the new value and then have that reflected in the IDL
structs, although the other direction was possible.

This commit fixes that problem, which requires a bit of refactoring of the
IDL layer.  It also exposes the interface for iterating through table
records to clients directly, by moving it from the "private" IDL header to
the public one.
lib/ovsdb-idl-provider.h
lib/ovsdb-idl.c
lib/ovsdb-idl.h
ovsdb/ovsdb-idlc.in