polardbxengine/mysql-test/suite/x/r/crud_update_merge_patch.result

217 lines
8.2 KiB
Plaintext

CREATE SCHEMA xtest;
#
# Requirement:
# * F8 - Must work for collections
command ok
# Implementations of test-cases from RFC 7396
#############################################
# It covers requirements from the worklog:
# * F3 - Must allow deletion of a field
# * F4 - Must allow setting the value of a field to
# a literal value
# * F6 - Must allow above operations to be performed on nested documents
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"a": "c"} = {"a": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"b": "c"} = {"a": "b", "b": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"a": null} = {"_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "b":"c", "_id": 1} patch {"a": null} = {"b": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": ["b"], "_id": 1} patch {"a": "c"} = {"a": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "c", "_id": 1} patch {"a": ["b"]} = {"a": ["b"], "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": {"b":"c"}, "_id": 1} patch {"a": {"b":"d", "c": null}} = {"a": {"b": "d"}, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": [{"b": "c"}], "_id": 1} patch {"a": [1]} = {"a": [1], "_id": 1}]
Got expected error (code 0)
# Test not applicable:
# doc:["a", "b"] patch:["c", "d"] result:["c", "d"]
# document can't be an array
in main, line 157:ERROR: Undefined macro DocumentProtobuf_OnlyTable_UpdatePatch_Find
# Test not applicable:
# doc:{} patch:["c", "d"] result:["c", "d"]
# document can't be an array
# Verification of JSON patch [{"a": "foo", "_id": 1} patch ["c"] = {"a": "foo", "_id": 1}]
Got expected error: Document is missing a required field (code 5115)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch {"_id": "foo"} = {"a": "foo", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch null = {"a": "foo", "_id": 1}]
Got expected error: Document is missing a required field (code 5115)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch "bar" = {"a": "foo", "_id": 1}]
Got expected error: Document is missing a required field (code 5115)
# Verification of JSON patch [{"e": null, "_id": 1} patch {"a": 1} = {"a": 1, "e": null, "_id": 1}]
Got expected error (code 0)
# Test not applicable:
# doc:[1, 2] patch:{"a": "b","c": null} result:{"a": "b"}
# document can't be an array
# Verification of JSON patch [{"_id": 1} patch {"a": "b", "c": null} = {"a": "b", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1} patch {"a": {"bb": {"ccc": null}}} = {"a": {"bb": {}}, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1} patch PROTOBUF_EXPR = {"_id": 1, "my_value_as_int": 10, "my_value_as_string": "ten"}]
Got expected error (code 0)
# Verification of JSON patch [{"a":20, "_id": 1} patch PROTOBUF_EXPR = {"a": 20, "b": 10, "c": 40.0, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "old_field_name": {"field": "fields value"}, "other_fields": {"a": 1}} patch PROTOBUF_EXPR = {"_id": 1, "other_fields": {"a": 1}, "new_field_name": {"field": "fields value"}}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "a": [100, {"c": "nested_value"}, 4]} patch PROTOBUF_EXPR = {"a": [100, {"c": "nested_value"}, 4], "_id": 1, "new_field": "nested_value"}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "old_field": true} patch PROTOBUF_EXPR = {"_id": 1, "old_field": true, "func_call1": "xtest", "func_call2": "AB"}]
Got expected error (code 0)
3 rows affected
Rows matched: 3 Changed: 3 Warnings: 0
send Mysqlx.Crud.Find {
collection {
name: "xdoc"
}
data_model: DOCUMENT
}
doc
{"_id": 1, "new_field": 10, "should_be_updated": "yes"}
{"_id": 2, "new_field": 10, "should_be_updated": "yes"}
{"_id": 3, "should_be_updated": "no"}
{"_id": 4, "should_be_updated": "no"}
{"_id": 5, "should_be_updated": "no"}
{"_id": 6, "new_field": 10, "should_be_updated": "yes"}
command ok
Mysqlx.Ok {
msg: "bye!"
}
ok
#
# Requirement:
# * F10 - Must work for JSON document fields in tables
RUN DROP TABLE IF EXISTS xtest.xdoc
0 rows affected
RUN CREATE TABLE xtest.xdoc(doc JSON)
0 rows affected
# Implementations of test-cases from RFC 7396
#############################################
# It covers requirements from the worklog:
# * F3 - Must allow deletion of a field
# * F4 - Must allow setting the value of a field to
# a literal value
# * F6 - Must allow above operations to be performed on nested documents
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"a": "c"} = {"a": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"b": "c"} = {"a": "b", "b": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "_id": 1} patch {"a": null} = {"_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "b", "b":"c", "_id": 1} patch {"a": null} = {"b": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": ["b"], "_id": 1} patch {"a": "c"} = {"a": "c", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "c", "_id": 1} patch {"a": ["b"]} = {"a": ["b"], "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": {"b":"c"}, "_id": 1} patch {"a": {"b":"d", "c": null}} = {"a": {"b": "d"}, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"a": [{"b": "c"}], "_id": 1} patch {"a": [1]} = {"a": [1], "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [["a", "b"] patch ["c", "d"] = ["c", "d"]]
Got expected error (code 0)
in main, line 157:ERROR: Undefined macro DocumentProtobuf_OnlyTable_UpdatePatch_Find
# Verification of JSON patch [{} patch ["c", "d"] = ["c", "d"]]
Got expected error (code 0)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch ["c"] = ["c"]]
Got expected error (code 0)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch {"_id": "foo"} = {"a": "foo", "_id": "foo"}]
Got expected error (code 0)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch null = null]
Got expected error (code 0)
# Verification of JSON patch [{"a": "foo", "_id": 1} patch "bar" = "bar"]
Got expected error (code 0)
# Verification of JSON patch [{"e": null, "_id": 1} patch {"a": 1} = {"a": 1, "e": null, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [[1, 2] patch {"a": "b","c": null} = {"a": "b"}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1} patch {"a": "b", "c": null} = {"a": "b", "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1} patch {"a": {"bb": {"ccc": null}}} = {"a": {"bb": {}}, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1} patch PROTOBUF_EXPR = {"_id": 1, "my_value_as_int": 10, "my_value_as_string": "ten"}]
Got expected error (code 0)
# Verification of JSON patch [{"a":20, "_id": 1} patch PROTOBUF_EXPR = {"a": 20, "b": 10, "c": 40.0, "_id": 1}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "old_field_name": {"field": "fields value"}, "other_fields": {"a": 1}} patch PROTOBUF_EXPR = {"_id": 1, "other_fields": {"a": 1}, "new_field_name": {"field": "fields value"}}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "a": [100, {"c": "nested_value"}, 4]} patch PROTOBUF_EXPR = {"a": [100, {"c": "nested_value"}, 4], "_id": 1, "new_field": "nested_value"}]
Got expected error (code 0)
# Verification of JSON patch [{"_id": 1, "old_field": true} patch PROTOBUF_EXPR = {"_id": 1, "old_field": true, "func_call1": "xtest", "func_call2": "AB"}]
Got expected error (code 0)
3 rows affected
Rows matched: 3 Changed: 3 Warnings: 0
send Mysqlx.Crud.Find {
collection {
name: "xdoc"
}
data_model: TABLE
}
doc
{"_id": 1, "new_field": 10, "should_be_updated": "yes"}
{"_id": 2, "new_field": 10, "should_be_updated": "yes"}
{"_id": 3, "should_be_updated": "no"}
{"_id": 4, "should_be_updated": "no"}
{"_id": 5, "should_be_updated": "no"}
{"_id": 6, "new_field": 10, "should_be_updated": "yes"}
command ok
Mysqlx.Ok {
msg: "bye!"
}
ok
DROP SCHEMA IF EXISTS xtest;