ovsdb-idlc: Check and restore ovsdb_datum invariants when setting data.
authorBen Pfaff <blp@nicira.com>
Wed, 16 Jun 2010 21:08:49 +0000 (14:08 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 12 Jul 2010 17:07:36 +0000 (10:07 -0700)
commita1ec42a39c4a58ad7d67699900514b8d62f8d792
treef11d6125c53abef0bb268ae69aea554e560cd14f
parent2b66469b96c8a2955d4321fc7caf96be74d33185
ovsdb-idlc: Check and restore ovsdb_datum invariants when setting data.

ovsdb_datum has an important invariant (documented in the large comment
on the declaration of struct ovsdb_datum) that a lot of code relies upon:
keys must be unique and in sorted order.  Most code that creates or
modifies ovsdb_datum structures maintains this invariant.  However, the
"set" functions generated by ovsdb-idlc.in do not check or restore it.
This commit adds that checking.

This might fix an actual bug or two--none have been reported--but mostly it
is just to add some additional checking to avoid future subtle bugs.
ovsdb/ovsdb-idlc.in