"ordinals": {
"columns": {
"number": {"type": "integer"},
- "name": {"type": "string"}}}}}]])
+ "name": {"type": "string"}}}},
+ "version": "5.1.3",
+ "cksum": "12345678 9"}]])
m4_define([CONSTRAINT_SCHEMA],
[[{"name": "constraints",
AT_CHECK([perl $srcdir/uuidfilt.pl stdout], [0], [$4])
AT_CLEANUP])
+OVSDB_CHECK_EXECUTION([uuid-name must be <id>],
+ [CONSTRAINT_SCHEMA],
+ [[[["constraints",
+ {"op": "insert",
+ "table": "a",
+ "row": {},
+ "uuid-name": "0"}]]]],
+ [[[{"details":"Parsing ovsdb operation 1 of 1 failed: Type mismatch for member 'uuid-name'.","error":"syntax error","syntax":"{\"op\":\"insert\",\"row\":{},\"table\":\"a\",\"uuid-name\":\"0\"}"}]
+]])
+
+OVSDB_CHECK_EXECUTION([named-uuid must be <id>],
+ [CONSTRAINT_SCHEMA],
+ [[[["constraints",
+ {"op": "insert",
+ "table": "a",
+ "row": {"a2a": ["named-uuid", "0"]}}]]]],
+ [[[{"details":"named-uuid string is not a valid <id>","error":"syntax error","syntax":"[\"named-uuid\",\"0\"]"}]
+]])
+
m4_define([EXECUTION_EXAMPLES], [
dnl At one point the "commit" code ignored new rows with all-default values,
dnl so this checks for that problem.
"table": "b",
"where": [["b", "==", 1]]}]]]],
[[[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]}]
-[{"uuid":["uuid","<2>"]},{"details":"reference to nonexistent row <3>","error":"referential integrity violation"}]
+[{"uuid":["uuid","<2>"]},{"details":"Table a column a2b row <2> references nonexistent row <3> in table b.","error":"referential integrity violation"}]
[{"count":1},{"details":"cannot delete a row <0> because of 1 remaining reference(s)","error":"referential integrity violation"}]
[{"count":1},{"details":"cannot delete b row <1> because of 1 remaining reference(s)","error":"referential integrity violation"}]
[{"count":1},{"details":"cannot delete a row <0> because of 1 remaining reference(s)","error":"referential integrity violation"}]