X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2FSPECS;h=951c0976e54d46265e1705d67d14bee812f2e67b;hb=8628b0b71d1cf5b3bd7425e50f0aa1435aa38804;hp=3a9af9f39a7acd91ca67e79a38926aab680c2262;hpb=c5f341ab193b9126dffef8c77bf8ed35e91290fd;p=openvswitch diff --git a/ovsdb/SPECS b/ovsdb/SPECS index 3a9af9f3..951c0976 100644 --- a/ovsdb/SPECS +++ b/ovsdb/SPECS @@ -132,6 +132,7 @@ is represented by , as described below. "columns": {: , ...} required "maxRows": optional "isRoot": optional + "indexes": [*] optional The value of "columns" is a JSON object whose names are column names and whose values are s. @@ -176,6 +177,15 @@ is represented by , as described below. enforced after unreferenced rows are deleted from tables with a false "isRoot". + If "indexes" is specified, it must be an array of zero or more + s. A is an array of one or more strings, + each of which names a column. Each is a set of + columns whose values, taken together within any given row, must be + unique within the table. This is a "deferred" constraint, + enforced only at transaction commit time, after unreferenced rows + are deleted and dangling weak references are removed. Ephemeral + columns may not be part of indexes. + A JSON object with the following members: @@ -184,12 +194,18 @@ is represented by , as described below. "ephemeral": optional "mutable": optional - The "type" specifies the type of data stored in this column. If - "ephemeral" is specified as true, then this column's values are + The "type" specifies the type of data stored in this column. + + If "ephemeral" is specified as true, then this column's values are not guaranteed to be durable; they may be lost when the database - restarts. If "mutable" is specified as false, then this column's - values may not be modified after they are initially set with the - "insert" operation. + restarts. A column whose type (either key or value) is a strong + reference to a table that is not part of the root set is always + durable, regardless of this value. (Otherwise, restarting the + database could lose entire rows.) + + If "mutable" is specified as false, then this column's values may + not be modified after they are initially set with the "insert" + operation. @@ -426,6 +442,16 @@ include at least the following: The number of rows in a table exceeds the maximum number permitted by the table's "maxRows" value (see ). + "error": "constraint violation" + + Two or more rows in a table had the same values in the columns + that comprise an index. + + "error": "resources exhausted" + "error": "I/O error" + + As described in the definition of above. + If "params" contains one or more "wait" operations, then the transaction may take an arbitrary amount of time to complete. The database implementation must be capable of accepting, executing, and