1install plugin mysqlx soname "mysqlx.so"; 2call mtr.add_suppression("Plugin mysqlx reported: .Failed at SSL configuration: .SSL context is not usable without certificate and private key.."); 3call mtr.add_suppression("Plugin mysqlx reported: .SSL_CTX_load_verify_locations failed."); 4DROP SCHEMA IF EXISTS xtest; 5Warnings: 6Note 1008 Can't drop database 'xtest'; database doesn't exist 7CREATE SCHEMA xtest DEFAULT CHARSET 'utf8mb4'; 8CREATE TABLE xtest.xcoll (doc JSON, _id VARBINARY(16) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(doc, '$._id'))) STORED PRIMARY KEY); 9INSERT INTO xtest.xcoll (doc) VALUES 10('{"_id": 1, "age": 1, "name": "foo"}'), 11('{"_id": 2, "age": 2, "name": "bar"}'), 12('{"_id": 3, "age": 3, "name": "baz", "date": {"day": 20, "month": "Apr"}} '), 13('{"_id": 4, "age": 7, "name": "foo"}'), 14('{"_id": 5, "age": 17, "name": "buz"}'); 15group by name 16doc 17{"name": "bar"} 18{"name": "baz"} 19{"name": "buz"} 20{"name": "foo"} 21command ok 22group by name and count 23doc 24{"name": "bar", "count": 1} 25{"name": "baz", "count": 1} 26{"name": "buz", "count": 1} 27{"name": "foo", "count": 2} 28command ok 29group by name, age and count 30doc 31{"age": 2, "name": "bar", "count": 1} 32{"age": 3, "name": "baz", "count": 1} 33{"age": 17, "name": "buz", "count": 1} 34{"age": 1, "name": "foo", "count": 1} 35{"age": 7, "name": "foo", "count": 1} 36command ok 37no projection - error expected 38Got expected error: Invalid empty projection list for grouping (code 5114) 39group by name, count name and criteria on count 40Got expected error: Invalid expression in grouping criteria (code 5154) 41group by name, criteria on max(age) 42doc 43{"my_age": "17", "my_name": "buz"} 44{"my_age": "7", "my_name": "foo"} 45command ok 46Mysqlx.Ok { 47 msg: "bye!" 48} 49ok 50DROP SCHEMA IF EXISTS xtest; 51UNINSTALL PLUGIN mysqlx; 52