"columns": {<id>: <column-schema>, ...} required
"maxRows": <integer> optional
"isRoot": <boolean> optional
+ "indexes": [<column-set>*] optional
The value of "columns" is a JSON object whose names are column
names and whose values are <column-schema>s.
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
+ <column-set>s. A <column-set> is an array of one or more strings,
+ each of which names a column. Each <column-set> 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.
+
<column-schema>
A JSON object with the following members:
The number of rows in a table exceeds the maximum number
permitted by the table's "maxRows" value (see <table-schema>).
+ "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 <error> 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