X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2FSPECS;h=2c83cf2a66c0514dc2ff22f0f660f0a6106db6c7;hb=822b56da1165488311e7a5460ed995cf0465b672;hp=524e52f3107c5c5fb75647f8b488d61ee1a3e3a9;hpb=65e18fa85dde840da4a9cb956cf7bb2c0fc1d95c;p=openvswitch diff --git a/ovsdb/SPECS b/ovsdb/SPECS index 524e52f3..2c83cf2a 100644 --- a/ovsdb/SPECS +++ b/ovsdb/SPECS @@ -33,6 +33,11 @@ values. Additional notation is presented later. s that begin with _ are reserved to the implementation and may not be used by the user. + + + A JSON string that contains a version number that matches + [0-9]+\.[0-9]+\.[0-9]+ + A JSON true or false value. @@ -102,6 +107,8 @@ is represented by , as described below. A JSON object with the following members: "name": required + "version": required + "cksum": optional "tables": {: , ...} required The "name" identifies the database as a whole. It must be @@ -109,6 +116,15 @@ is represented by , as described below. operated on. The value of "tables" is a JSON object whose names are table names and whose values are s. + The "version" reports the version of the database schema. Because + this is a recent addition to the schema format, OVSDB permits it + to be omitted, but future versions of OVSDB will require it to be + present. Open vSwitch semantics for "version" are described in + ovs-vswitchd.conf.db(5). + + The "cksum" optionally reports an implementation-defined checksum + for the database schema. + A JSON object with the following members: @@ -149,11 +165,14 @@ is represented by , as described below. "type": required "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 not guaranteed to be durable; they may be lost when the database - restarts. + 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. @@ -192,7 +211,7 @@ is represented by , as described below. "minInteger": optional, integers only "maxInteger": optional, integers only "minReal": optional, reals only - "maxReal": optional, reals only + "maxReal": optional, reals only "minLength": optional, strings only "maxLength": optional, strings only "refTable": optional, uuids only @@ -416,7 +435,7 @@ Response object members: This JSON-RPC notification instructs the database server to immediately complete or cancel the "transact" request whose "id" is -the same as the notification's "params" value. +the same as the notification's "params" value. If the "transact" request can be completed immediately, then the server sends a response in the form described for "transact", above. @@ -438,8 +457,10 @@ Request object members: "params": [, , ] required "id": required - is an object that maps from a table name to a -. + is an object that maps from a table name to an +array of objects. For backward compatibility, a +single may be used instead of an array; it is +treated as a single-element array. Each is an object with the following members: @@ -460,15 +481,16 @@ Response object members: "id": same "id" as request This JSON-RPC request enables a client to replicate tables or subsets -of tables within database . Each specifies -a table to be replicated. The JSON-RPC response to the "monitor" -includes the initial contents of each table. Afterward, when changes -to those tables are committed, the changes are automatically sent to -the client using the "update" monitor notification. This monitoring -persists until the JSON-RPC session terminates or until the client -sends a "monitor_cancel" JSON-RPC request. +of tables within database . Each element of + specifies a table to be replicated. The JSON-RPC +response to the "monitor" includes the initial contents of each table, +unless disabled (see below). Afterward, when changes to those tables +are committed, the changes are automatically sent to the client using +the "update" monitor notification. This monitoring persists until the +JSON-RPC session terminates or until the client sends a +"monitor_cancel" JSON-RPC request. -Each describes how to monitor a table: +Each describes how to monitor columns in a table: The circumstances in which an "update" notification is sent for a row within the table are determined by : @@ -486,8 +508,13 @@ Each describes how to monitor a table: sent whenever when a row in the table is modified. The "columns" member specifies the columns whose values are - monitored. If "columns" is omitted, all columns in the table, - except for "_uuid", are monitored. + monitored. It must not contain duplicates. If "columns" is + omitted, all columns in the table, except for "_uuid", are + monitored. + +If there is more than one in an array of them, then +each in the array should specify both "columns" and +"select", and the "columns" must be non-overlapping sets. The "result" in the JSON-RPC response to the "monitor" request is a object (see below) that contains the contents of the @@ -920,7 +947,7 @@ Semantics: column specified in "row". The "_uuid" and "_version" columns of a table may not be directly - updated with this operation. Columns designated read-only in the + updated with this operation. Columns designated read-only in the schema also may not be updated. The "count" member of the result specifies the number of rows @@ -1034,7 +1061,7 @@ Semantics: restarted later, after a change in the database makes it possible for the operation to succeed. The client will not receive a response until the operation permanently succeeds or fails. - + If "until" is "!=", the sense of the test is negated. That is, as long as the query on "table" specified by "where" and "columns" returns "rows", the transaction will be rolled back and restarted