ovsdb-idl: Fix bad logic in ovsdb_idl_txn_commit() state transitions.
[openvswitch] / ovsdb / SPECS
index 4020241e54e44a17a7b5eb9922724bce784304f8..e5cc21b92411f40b6c3316863a20d2ead301c3c9 100644 (file)
@@ -173,12 +173,11 @@ is represented by <database-schema>, as described below.
     <atomic-type> or a JSON object with the following members:
 
         "type": <atomic-type>              required
     <atomic-type> or a JSON object with the following members:
 
         "type": <atomic-type>              required
+        "enum": <value>                    optional
         "minInteger": <integer>            optional, integers only
         "maxInteger": <integer>            optional, integers only
         "minReal": <real>                  optional, reals only
         "maxReal": <real>                  optional, reals only 
         "minInteger": <integer>            optional, integers only
         "maxInteger": <integer>            optional, integers only
         "minReal": <real>                  optional, reals only
         "maxReal": <real>                  optional, reals only 
-        "reMatch": <string>                optional, strings only
-        "reComment": <string>              optional, strings only
         "minLength": <integer>             optional, strings only
         "maxLength": <integer>             optional, strings only
         "refTable": <id>                   optional, uuids only
         "minLength": <integer>             optional, strings only
         "maxLength": <integer>             optional, strings only
         "refTable": <id>                   optional, uuids only
@@ -186,6 +185,13 @@ is represented by <database-schema>, as described below.
     An <atomic-type> by itself is equivalent to a JSON object with a
     single member "type" whose value is the <atomic-type>.
 
     An <atomic-type> by itself is equivalent to a JSON object with a
     single member "type" whose value is the <atomic-type>.
 
+    "enum" may be specified as a <value> whose type is a set of one
+    or more values specified for the member "type".  If "enum" is
+    specified, then the valid values of the <base-type> are limited to
+    those in the <value>.
+
+    "enum" is mutually exclusive with the following constraints.
+
     If "type" is "integer", then "minInteger" or "maxInteger" or both
     may also be specified, restricting the valid integer range.  If
     both are specified, then the maxInteger must be greater than or
     If "type" is "integer", then "minInteger" or "maxInteger" or both
     may also be specified, restricting the valid integer range.  If
     both are specified, then the maxInteger must be greater than or
@@ -196,23 +202,11 @@ is represented by <database-schema>, as described below.
     specified, then the maxReal must be greater than or equal to
     minReal.
 
     specified, then the maxReal must be greater than or equal to
     minReal.
 
-    If "type" is "string", then:
-
-        "reMatch" may be a JavaScript (Perl 5-like) regular expression
-        that restricts the allowed values.  The regular expression
-        must match the entire string value, that is, it is treated as
-        if it begins with ^ and ends with $, regardless of whether it
-        really does.
-
-        If "reMatch" is specified, then "reComment" may be a string
-        that describes the allowed values, phrased so that it fits
-        into a sentence such as "This value must be...".
-
-        "minLength" and "maxLength" or both may be specified,
-        restricting the valid length of value strings.  If both are
-        specified, then maxLength must be greater than or equal to
-        minLength.  String length is measured in characters (not bytes
-        or UTF-16 code units).
+    If "type" is "string", then "minLength" and "maxLength" or both
+    may be specified, restricting the valid length of value strings.
+    If both are specified, then maxLength must be greater than or
+    equal to minLength.  String length is measured in characters (not
+    bytes or UTF-16 code units).
 
     If "type" is "uuid", then "refTable", if present, must be the name
     of a table within this database.  If "refTable" is set, the
 
     If "type" is "uuid", then "refTable", if present, must be the name
     of a table within this database.  If "refTable" is set, the