AT_BANNER([OVSDB -- tables]) OVSDB_CHECK_POSITIVE_CPY([non-root table with one column], [[parse-table mytable '{"columns": {"name": {"type": "string"}}}']], [[{"columns":{"name":{"type":"string"}}}]]) OVSDB_CHECK_POSITIVE_CPY([immutable table with one column], [[parse-table mytable \ '{"columns": {"name": {"type": "string"}}, "mutable": false}']], [[{"columns":{"name":{"type":"string"}},"mutable":false}]]) OVSDB_CHECK_POSITIVE_CPY([root table with one column], [[parse-table mytable \ '{"columns": {"name": {"type": "string"}}, "isRoot": true}']], [[{"columns":{"name":{"type":"string"}},"isRoot":true}]]) OVSDB_CHECK_POSITIVE_CPY([non-root table with default_is_root=true], [[parse-table mytable '{"columns": {"name": {"type": "string"}}}' true]], [[{"columns":{"name":{"type":"string"}},"isRoot":false}]]) OVSDB_CHECK_POSITIVE_CPY([root table with default_is_root=true], [[parse-table mytable \ '{"columns": {"name": {"type": "string"}}, "isRoot": true}' true]], [[{"columns":{"name":{"type":"string"}}}]]) OVSDB_CHECK_POSITIVE_CPY([table with maxRows of 2], [[parse-table mytable '{"columns": {"name": {"type": "string"}}, "maxRows": 2}']], [[{"columns":{"name":{"type":"string"}},"maxRows":2}]]) OVSDB_CHECK_POSITIVE_CPY([table with index], [[parse-table mytable '{"columns": {"a": {"type": "integer"}, "b": {"type": "string"}}, "indexes": [["b", "a"]]}']], [[{"columns":{"a":{"type":"integer"},"b":{"type":"string"}},"indexes":[["b","a"]]}]]) OVSDB_CHECK_NEGATIVE_CPY([table with syntax error in index], [[parse-table mytable '{"columns": {"a": {"type": "integer"}, "b": {"type": "string"}}, "indexes": [["b", "a"], [0]]}']], [[array of distinct column names expected]]) OVSDB_CHECK_NEGATIVE_CPY([table with empty index], [[parse-table mytable '{"columns": {"a": {"type": "integer"}, "b": {"type": "string"}}, "indexes": [[]]}']], [[index must have at least one column]]) OVSDB_CHECK_NEGATIVE_CPY([table with index of ephemeral column], [[parse-table mytable '{"columns": {"a": {"type": "integer", "ephemeral": true}, "b": {"type": "string"}}, "indexes": [["b", "a"]]}']], [[ephemeral columns (such as a) may not be indexed]]) OVSDB_CHECK_NEGATIVE_CPY([column names may not begin with _], [[parse-table mytable \ '{"columns": {"_column": {"type": "integer"}}}']], [[names beginning with "_" are reserved]], [table]) OVSDB_CHECK_NEGATIVE_CPY([table must have at least one column (1)], [[parse-table mytable '{}']], [[Parsing table schema for table mytable failed: Required 'columns' member is missing.]]) OVSDB_CHECK_NEGATIVE_CPY([table must have at least one column (2)], [[parse-table mytable '{"columns": {}}']], [[table must have at least one column]]) OVSDB_CHECK_NEGATIVE_CPY([table maxRows must be positive], [[parse-table mytable '{"columns": {"name": {"type": "string"}}, "maxRows": 0}']], [[syntax "{"columns":{"name":{"type":"string"}},"maxRows":0}": syntax error: maxRows must be at least 1]])