X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2FSPECS;h=3a9af9f39a7acd91ca67e79a38926aab680c2262;hb=e7009c364026d69381cdda23941f99ff040d4948;hp=d64812ae6589fdb2fcd6ee09d8f677d225adc1ae;hpb=d198c4beee03741670d046baf0179ac5583305bb;p=openvswitch diff --git a/ovsdb/SPECS b/ovsdb/SPECS index d64812ae..3a9af9f3 100644 --- a/ovsdb/SPECS +++ b/ovsdb/SPECS @@ -131,6 +131,7 @@ is represented by , as described below. "columns": {: , ...} required "maxRows": optional + "isRoot": optional The value of "columns" is a JSON object whose names are column names and whose values are s. @@ -152,12 +153,28 @@ is represented by , as described below. the database process is stopped and then started again, each "_version" also changes to a new random value. + If "isRoot" is omitted or specified as false, then any given row + in the table may exist only when there is at least one reference + to it, with refType "strong", from a different row (in the same + table or a different table). This is a "deferred" action: + unreferenced rows in the table are deleted just before transaction + commit. If "isRoot" is specified as true, then rows in the table + exist independent of any references (they can be thought of as + part of the "root set" in a garbage collector). + + For compatibility with schemas created before "isRoot" was + introduced, if "isRoot" is omitted or false in every + in a given , then every table is + part of the root set. + If "maxRows" is specified, as a positive integer, it limits the maximum number of rows that may be present in the table. This is a "deferred" constraint, enforced only at transaction commit time (see the "transact" request below). If "maxRows" is not specified, the size of the table is limited only by the resources - available to the database server. + available to the database server. "maxRows" constraints are + enforced after unreferenced rows are deleted from tables with a + false "isRoot".