+<base-type>
+
+ The type of a key or value in a database column. Either an
+ <atomic-type> or a JSON object with the following members:
+
+ "type": <atomic-type> required
+ "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
+
+ An <atomic-type> by itself is equivalent to a JSON object with a
+ single member "type" whose value is the <atomic-type>.
+
+ 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
+ equal to minInteger.
+
+ If "type" is "real", then "minReal" or "maxReal" or both may also
+ be specified, restricting the valid real range. If both are
+ 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 "uuid", then "refTable", if present, must be the name
+ of a table within this database. If "refTable" is set, the
+ allowed UUIDs are limited to UUIDs for rows in the named table.
+
+ "refTable" constraints are "deferred" constraints: they are
+ enforced only at transaction commit time (see the "transact"
+ request below). The other contraints on <base-type> are
+ "immediate", enforced immediately by each operation.
+