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 /
t /
[ HOME SHELL ]
Name
Size
Permission
Action
macros
[ DIR ]
drwxr-xr-x
admin_bogus.test
600
B
-rw-r--r--
admin_bogus_mysqlx.test
597
B
-rw-r--r--
admin_create_collection.test
3.29
KB
-rw-r--r--
admin_create_collection_mysqlx...
2.67
KB
-rw-r--r--
admin_create_index_datetime.te...
5.15
KB
-rw-r--r--
admin_create_index_datetime_my...
2.6
KB
-rw-r--r--
admin_create_index_string.test
12.03
KB
-rw-r--r--
admin_create_index_string_mysq...
3.29
KB
-rw-r--r--
admin_ensure_collection.test
4.51
KB
-rw-r--r--
admin_ensure_collection_mysqlx...
3.7
KB
-rw-r--r--
admin_kill.test
2.36
KB
-rw-r--r--
admin_kill_client_mysqlx.test
1.69
KB
-rw-r--r--
admin_list_objects.test
2.57
KB
-rw-r--r--
admin_list_objects_case_insens...
577
B
-rw-r--r--
admin_list_objects_case_insens...
735
B
-rw-r--r--
admin_list_objects_case_sensit...
353
B
-rw-r--r--
admin_list_objects_case_sensit...
27
B
-rw-r--r--
admin_list_objects_case_sensit...
394
B
-rw-r--r--
admin_list_objects_mysqlx.test
2.59
KB
-rw-r--r--
admin_ping.test
484
B
-rw-r--r--
admin_ping_mysqlx.test
1.21
KB
-rw-r--r--
admin_xkill.test
44.87
KB
-rw-r--r--
binary_log-master.opt
110
B
-rw-r--r--
binary_log.test
1.2
KB
-rw-r--r--
bug_23028052.test
2.56
KB
-rw-r--r--
capabilities-master.opt
42
B
-rw-r--r--
capabilities.test
10.19
KB
-rw-r--r--
client_close.test
8.23
KB
-rw-r--r--
client_close_abort.test
1.93
KB
-rw-r--r--
client_session.test
1.61
KB
-rw-r--r--
connection.test
31.38
KB
-rw-r--r--
connection_default_schema.test
2.3
KB
-rw-r--r--
connection_expire.test
7.4
KB
-rw-r--r--
connection_expired_certs-maste...
167
B
-rw-r--r--
connection_expired_certs.test
677
B
-rw-r--r--
connection_ipv6-master.opt
35
B
-rw-r--r--
connection_ipv6.test
5.39
KB
-rw-r--r--
connection_nonssl-master.opt
42
B
-rw-r--r--
connection_nonssl.test
5.97
KB
-rw-r--r--
connection_openssl-master.opt
273
B
-rw-r--r--
connection_openssl.test
70
B
-rw-r--r--
connection_require_secure_tran...
2.77
KB
-rw-r--r--
connection_reset_by_peer.test
1.01
KB
-rw-r--r--
connection_skip_grant_table.te...
2.88
KB
-rw-r--r--
connection_skip_networking.tes...
3.21
KB
-rw-r--r--
connection_skip_networking_win...
57
B
-rw-r--r--
connection_skip_networking_win...
1.77
KB
-rw-r--r--
connection_timeout.test
2.72
KB
-rw-r--r--
connection_tls_version-master....
300
B
-rw-r--r--
connection_tls_version.test
4.47
KB
-rw-r--r--
connection_unixsocket.test
6.81
KB
-rw-r--r--
connection_unixsocket_invalid....
7.29
KB
-rw-r--r--
connection_unixsocket_lock.tes...
3.15
KB
-rw-r--r--
connection_unixsocket_rpl.test
7.17
KB
-rw-r--r--
connection_user_authentication...
89
B
-rw-r--r--
connection_user_authentication...
85
B
-rw-r--r--
connection_without_session.tes...
464
B
-rw-r--r--
connection_yassl-master.opt
272
B
-rw-r--r--
create_alter_sql.test
7.07
KB
-rw-r--r--
create_drop_collection_crud.te...
17.36
KB
-rw-r--r--
create_index_crud.test
23.75
KB
-rw-r--r--
crud_asterisk.test
1.65
KB
-rw-r--r--
crud_create_view-master.opt
31
B
-rw-r--r--
crud_create_view.test
5.47
KB
-rw-r--r--
crud_debug.test
6.46
KB
-rw-r--r--
crud_delete_args.test
2.16
KB
-rw-r--r--
crud_doc_criteria_args.test
21.18
KB
-rw-r--r--
crud_doc_expr_array.test
14.41
KB
-rw-r--r--
crud_doc_expr_object.test
6.69
KB
-rw-r--r--
crud_drop_view.test
1.12
KB
-rw-r--r--
crud_find_args.test
5.47
KB
-rw-r--r--
crud_find_doc_criteria.test
3.17
KB
-rw-r--r--
crud_find_doc_groupby.test
5.82
KB
-rw-r--r--
crud_find_groupby.test
8.13
KB
-rw-r--r--
crud_insert_args.test
2.01
KB
-rw-r--r--
crud_insert_cast.test
8.81
KB
-rw-r--r--
crud_insert_default.test
2.52
KB
-rw-r--r--
crud_insert_expr.test
2.66
KB
-rw-r--r--
crud_insert_nodoc.test
814
B
-rw-r--r--
crud_modify_view.test
2.4
KB
-rw-r--r--
crud_myisam_memory.test
9
KB
-rw-r--r--
crud_octets_content_type.test
2.35
KB
-rw-r--r--
crud_order_by.test
1.47
KB
-rw-r--r--
crud_pipe.test
4.18
KB
-rw-r--r--
crud_resultset_metadata.test
965
B
-rw-r--r--
crud_rpl.test
6.69
KB
-rw-r--r--
crud_sundries.test
20.07
KB
-rw-r--r--
crud_table_criteria_args.test
17.61
KB
-rw-r--r--
crud_table_expr_array.test
14.32
KB
-rw-r--r--
crud_table_expr_object.test
5.9
KB
-rw-r--r--
crud_update_args.test
3.37
KB
-rw-r--r--
crud_update_table_json.test
7.16
KB
-rw-r--r--
crud_view_sundries.test
2.95
KB
-rw-r--r--
delete_crud_1.test
6.81
KB
-rw-r--r--
delete_crud_o.test
23.94
KB
-rw-r--r--
delete_del_all.test
1.5
KB
-rw-r--r--
delete_del_bad_collection.test
1.98
KB
-rw-r--r--
delete_del_bad_expr.test
1.83
KB
-rw-r--r--
delete_del_missing_arg.test
1.81
KB
-rw-r--r--
delete_del_multi_by_expr.test
1.88
KB
-rw-r--r--
delete_del_multi_by_id.test
1.55
KB
-rw-r--r--
delete_del_none_by_expr.test
1.88
KB
-rw-r--r--
delete_del_none_table.test
2.41
KB
-rw-r--r--
delete_del_one_by_expr.test
2.38
KB
-rw-r--r--
delete_del_table.test
1.78
KB
-rw-r--r--
delete_del_table_doc.test
2.94
KB
-rw-r--r--
delete_del_table_order.test
2.32
KB
-rw-r--r--
delete_sql_o.test
7.77
KB
-rw-r--r--
disabled.def
259
B
-rw-r--r--
drop_index_crud.test
26.67
KB
-rw-r--r--
expect_noerror.test
5.51
KB
-rw-r--r--
fieldtypes_all.test
6.1
KB
-rw-r--r--
find_crud_conditionalclauses_o...
24.24
KB
-rw-r--r--
find_crud_groupby_o.test
16.22
KB
-rw-r--r--
find_doc_proj.test
8.52
KB
-rw-r--r--
find_doc_simple.test
5.28
KB
-rw-r--r--
find_docpath_expr.test
5.09
KB
-rw-r--r--
find_funtion_call.test
34.5
KB
-rw-r--r--
find_table_find.test
5.18
KB
-rw-r--r--
find_table_find_as_doc.test
4.5
KB
-rw-r--r--
find_table_find_rows_proj.test
5.3
KB
-rw-r--r--
forbidden_sql_cmd.test
1.28
KB
-rw-r--r--
input_queue.test
3.81
KB
-rw-r--r--
insert_crud_1.test
16.11
KB
-rw-r--r--
insert_crud_o.test
25.09
KB
-rw-r--r--
insert_doc_bad_proj.test
1.79
KB
-rw-r--r--
insert_doc_id.test
1.74
KB
-rw-r--r--
insert_doc_id_dup.test
2.61
KB
-rw-r--r--
insert_doc_noid.test
1.72
KB
-rw-r--r--
insert_sql_o.test
5.24
KB
-rw-r--r--
insert_table.test
8.29
KB
-rw-r--r--
insert_table_bad_column.test
2.27
KB
-rw-r--r--
insert_table_bad_column_type.t...
5.1
KB
-rw-r--r--
insert_table_bad_numcolumns.te...
5.39
KB
-rw-r--r--
insert_table_escape_identifier...
1.19
KB
-rw-r--r--
insert_table_missing_notnull_c...
1.17
KB
-rw-r--r--
insert_table_string_quoting.te...
1.31
KB
-rw-r--r--
installxplugin.test
11.13
KB
-rw-r--r--
killconnection.test
4.78
KB
-rw-r--r--
message_empty_payload.test
1.42
KB
-rw-r--r--
message_protobuf_nested-master...
31
B
-rw-r--r--
message_protobuf_nested.test
2.55
KB
-rw-r--r--
multiple_resultsets_and_out_pa...
4.72
KB
-rw-r--r--
mysql_session_user.test
2.91
KB
-rw-r--r--
mysqlx_server_var.test
6.25
KB
-rw-r--r--
mysqlxtest_help.test
620
B
-rw-r--r--
notice_warning.test
2.61
KB
-rw-r--r--
notice_warning_mysqlx.test
2.14
KB
-rw-r--r--
notices_disable-master.opt
53
B
-rw-r--r--
notices_disable.test
31.05
KB
-rw-r--r--
notices_disable_mysqlx-master....
53
B
-rw-r--r--
notices_disable_mysqlx.test
21.94
KB
-rw-r--r--
notices_enable-master.opt
86
B
-rw-r--r--
notices_enable.test
33.99
KB
-rw-r--r--
notices_enable_mysqlx-master.o...
86
B
-rw-r--r--
notices_enable_mysqlx.test
25.1
KB
-rw-r--r--
performance_schema-master.opt
167
B
-rw-r--r--
performance_schema.test
20.09
KB
-rw-r--r--
performance_schema_memory.test
5.61
KB
-rw-r--r--
performance_schema_sockets-mas...
167
B
-rw-r--r--
performance_schema_sockets.tes...
8.59
KB
-rw-r--r--
performance_schema_threads-mas...
211
B
-rw-r--r--
performance_schema_threads.tes...
2.26
KB
-rw-r--r--
performance_schema_unixsockets...
8.41
KB
-rw-r--r--
plugin_license.test
613
B
-rw-r--r--
regression-master.opt
82
B
-rw-r--r--
regression.test
4.74
KB
-rw-r--r--
result_types.test
896
B
-rw-r--r--
session_reset.test
2.18
KB
-rw-r--r--
status_bytes_received.test
2.04
KB
-rw-r--r--
status_variable_errors_unknown...
31
B
-rw-r--r--
status_variable_errors_unknown...
3.15
KB
-rw-r--r--
status_variable_notices.test
751
B
-rw-r--r--
status_variables-master.opt
42
B
-rw-r--r--
status_variables.test
13.86
KB
-rw-r--r--
status_variables_incrementing....
2.52
KB
-rw-r--r--
stmtexecute_query_no_result.te...
1.07
KB
-rw-r--r--
stmtexecute_query_result.test
1.45
KB
-rw-r--r--
stmtexecute_status_vars.test
18.41
KB
-rw-r--r--
stmtexecute_with_args.test
5.27
KB
-rw-r--r--
suite.opt
30
B
-rw-r--r--
system_variable_bind_address.t...
2.27
KB
-rw-r--r--
system_variable_max_allowed_pa...
31
B
-rw-r--r--
system_variable_max_allowed_pa...
1.6
KB
-rw-r--r--
system_variable_min_worker_thr...
709
B
-rw-r--r--
system_variable_port_open_time...
6.79
KB
-rw-r--r--
system_variables.test
4.18
KB
-rw-r--r--
update_crud_arrayappend_o.test
17.02
KB
-rw-r--r--
update_crud_arrayinsert_o.test
21.96
KB
-rw-r--r--
update_crud_itemmerge_o.test
16.5
KB
-rw-r--r--
update_crud_o.test
31.18
KB
-rw-r--r--
update_crud_remove_o.test
14.41
KB
-rw-r--r--
update_crud_replace_o.test
18.42
KB
-rw-r--r--
update_doc.test
22.58
KB
-rw-r--r--
update_sql_o.test
5.23
KB
-rw-r--r--
update_table.test
9.51
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : insert_crud_1.test
## =================================================================== ## ## CRUD INSERT SCENARIOS ## ## =================================================================== ## This test runs aims to run insert statementwith mysqlxtest client # ## Test covers # ## - Insert with crud calls # ## - Insert in normal and document table # ## - Insert NULL values # ## - Insert into parent-child(PK-FK) table # ## - Insert with transaction # ## - Insert with lock table # ## - Insert not allowed for user having read permission # ## - Try insert when table lock is acquired by other session(wait) # ## - Two session run insert in parallel # ## - Error case # ## - Try to Insert doc which do not have _id member # ## - Try to insert null for doc column # ## - Try non unique value for _id member # ## - Try projection for DOCUMENT TABLE # ## =================================================================== # Insert xmessage # Inserts a row or set of rows in the specified collection or table. # Arguments # schema and table # data_model - relational or document # projection - list of columns being inserted (for TABLE inserts) # rows - 1 or more rows with the data to be inserted # Results # rows_affected - number of rows that were affected by the operation # last_insert_id - last value used for the auto-increment field in # a TABLE INSERT operation (not set for DOCUMENT inserts) # Mapping # When inserting into a document collection, the generated INSERT # statement will look like: # INSERT INTO schema.table (doc, _id) VALUES (?, JSN_UNQUOTE(JSN_EXTRACT(doc, '$._id'))); # When inserting into a relational table, the generated INSERT will be as: # INSERT INTO schema.table (projection, ...) VALUES (?, ...); ## Preamble --source ../include/xplugin_preamble.inc create user readuser@localhost identified by 'readuser'; grant select on *.* to readuser@localhost; --write_file $MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp -- "Create relational TABLE " -->sql DROP SCHEMA if EXISTS xplugintest; CREATE SCHEMA xplugintest DEFAULT CHARSET='utf8'; USE xplugintest; 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) ); -->endsql -->echo Insert multiple rows Mysqlx.Crud.Insert { collection { name: "categories" schema: "xplugintest" } data_model: TABLE projection { name: "categoryid" } projection { name: "categoryname" } projection { name: "categorydescription" } projection { name: "categoryimei" } projection { name: "categorydecimal" } projection { name: "categorybool" } row { field { type : LITERAL literal { type: V_SINT v_signed_int: 1 }} field { type: LITERAL literal { type: V_STRING v_string { value: "Sports" } }} field { type: LITERAL literal { type: V_STRING v_string { value: "Sports related category" } }} field { type : LITERAL literal { type: V_SINT v_signed_int: 1 }} field { type: LITERAL literal { type: V_DOUBLE v_double: 235.15 }} field { type : LITERAL literal { type: V_BOOL v_bool: false }} } row { field { type: LITERAL literal { type: V_SINT v_signed_int: 2 }} field { type: LITERAL literal { type: V_STRING v_string { value: "Entertaiment" } }} field { type : LITERAL literal { type: V_STRING v_string { value: "Entertaiment related category" } }} field { type: LITERAL literal { type: V_SINT v_signed_int: 2 }} field { type: LITERAL literal { type: V_DOUBLE v_double: 156.17 }} field { type: LITERAL literal { type: V_BOOL v_bool: true }} } row { field { type: LITERAL literal { type: V_SINT v_signed_int: 18 }} field { type: LITERAL literal { type: V_STRING v_string { value: "Cooking" } }} field { type: LITERAL literal { type: V_STRING v_string { value: "Cooking related category" } }} field { type: LITERAL literal { type: V_SINT v_signed_int: 18 }} field { type: LITERAL literal { type: V_DOUBLE v_double: 116.17 }} field { type: LITERAL literal { type: V_BOOL v_bool: true }} } } -- Mysqlx.Sql.StmtExecuteOk -->recvresult -->sql SELECT * FROM categories; -->endsql -->echo "No auto increment column mentioned in projection" Mysqlx.Crud.Insert { collection { name: "categories" schema: "xplugintest" } data_model: TABLE projection { name: "categoryname" } row { field { type: LITERAL literal { type: V_STRING v_string { value: "GROUND" } }} } } -->recvresult -->sql SELECT * FROM categories; -->endsql -->echo "Enter NULL values" Mysqlx.Crud.Insert { collection { name: "categories" schema: "xplugintest" } data_model: TABLE projection { name: "categoryname" } row { field { type: LITERAL literal { type: V_NULL }} } } -->recvresult -->sql SELECT * FROM categories; -->endsql -->sql CREATE TABLE categories_child( col1 INT , col2 JSON , FOREIGN KEY (col1) REFERENCES categories(categoryid)); -->endsql Mysqlx.Crud.Insert { collection { name: "categories_child" schema: "xplugintest" } data_model: TABLE projection { name: "col1" } row { field { type: LITERAL literal { type: V_SINT v_signed_int: 18 }} } } -->recvresult Mysqlx.Crud.Insert { collection { name: "categories_child" schema: "xplugintest" } data_model: TABLE projection { name: "col1" } row { field { type: LITERAL literal { type: V_SINT v_signed_int: 100 }} } } -->echo "Insert fails as referencing value not present in parent" -->recv -->sql SELECT * FROM categories_child; -->endsql -->echo "Column mismatch" Mysqlx.Crud.Insert { collection { name: "categories_child" schema: "xplugintest" } data_model: TABLE projection { name: "col1" } projection { name: "col2" } row { field { type: LITERAL literal { type: V_SINT v_signed_int: 18 }} } } -->expecterror ER_X_BAD_INSERT_DATA -->recvresult -->sql SELECT * FROM categories_child; DROP TABLE categories_child; -->endsql -- "Create DOCUMENT table " Mysqlx.Sql.StmtExecute { stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "maincollection" } } } namespace: "xplugin" } -->recvresult -->echo Insert multiple rows into a Document column Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"1\",\n \"name\": \"Omar Bras\", \"id\": \"1\"\n}" } } }} row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"2\",\n \"name\": \"Omar Mex\", \"id\": \"2\"\n}" } }} } } -->recvresult -->sql SELECT * FROM maincollection; -->endsql -->echo "Non unique value for _id member of `doc` " Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"3\",\n \"name\": \"Omar Bras\", \"id\": \"3\"\n}" } }} } row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"2\",\n \"name\": \"Omar Mex\", \"id\": \"4\"\n}" } }} } } -->recv -->echo "Error expected as non unique value for _id provided for member of JSON doc " -->sql SELECT * FROM maincollection; -->endsql -->echo "No _id member for JSON doc" Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"name\": \"Omar Bras\", \"id\": \"3\"\n}" } }} } } -->recv -->echo "Error expected as _id member is not provided for JSON doc " -->sql SELECT * FROM maincollection; -->endsql -->echo "projection is not allowed for DOCUMENT table" Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT projection { name: "doc" } row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"name\": \"Omar Bras\", \"id\": \"3\"\n}" } }} } } -->recv -->echo "Error expected as projection given for DOCUMENT table " -->sql SELECT * FROM maincollection; -->endsql -->echo "Error when inserting doc as null" Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_NULL }} } } -->expecterror ER_X_DOC_ID_MISSING -->recvresult -->sql SELECT * FROM maincollection; -->endsql -->echo "enter null value in doc member" Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"4\",\n \"name\": \"Jackson\", \"id\": null\n}" } }} } } -->recvresult -->sql SELECT * FROM maincollection; -->endsql -->echo "Insert using transaction" -->sql START TRANSACTION; -->endsql Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"5\",\n \"name\": \"Jimmy \", \"id\": null\n}" } }} } } -->recvresult -->sql SAVEPOINT A; -->endsql Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"6\",\n \"name\": \"Joe\", \"id\": null\n}" } } }} } -->recvresult -->sql SAVEPOINT B; -->endsql Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"7\",\n \"name\": \"Jacky\", \"id\": null\n}" } }} } } -->recvresult -->sql ROLLBACK TO SAVEPOINT A; COMMIT; -->endsql -->sql SELECT * FROM maincollection; -->endsql -- "Insert by acquiring lock" -->sql LOCK TABLES maincollection READ; -->endsql Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"7\",\n \"name\": \"Jacky\", \"id\": null\n}" } }} } } -->recv -->echo "Error as table is locked with read lock" -->sql SELECT * FROM maincollection; -->endsql -->sql UNLOCK TABLES; LOCK TABLES maincollection WRITE; -->endsql Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "\n{\n \"_id\": \"7\",\n \"name\": \"Jacky\", \"id\": null\n}" } }} } } -->recvresult -->sql SELECT * FROM maincollection; UNLOCK TABLES; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp # "Error : Insert when user has only select access " --write_file $MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp -->sql SET SESSION lock_wait_timeout= 3; -->endsql Mysqlx.Crud.Insert { collection { name: "categories" schema: "xplugintest" } data_model: TABLE projection { name: "categoryname" } row { field { type: LITERAL literal { type: V_STRING v_string { value: "Mountain" } }} } } -->expecterror ER_TABLEACCESS_DENIED_ERROR,ER_LOCK_WAIT_TIMEOUT -->recvresult -->expecterror ER_LOCK_WAIT_TIMEOUT -->sql SELECT * FROM xplugintest.categories; -->endsql EOF --exec $MYSQLXTEST -u readuser --password='readuser' --file=$MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp 2>&1 # Acquire lock on categories table from mysqltest client # and try to run insert from mysqlxtest (Error : timeout expected from mysqlxtest) LOCK TABLES xplugintest.categories WRITE; --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-insert_CRUD_1.tmp UNLOCK TABLES; # Try run insert from 2 mysqlxtest sessions DELETE FROM xplugintest.maincollection; perl; my $dir = $ENV{'MYSQL_TMP_DIR'}; open ( OUTPUT, ">$dir/mysqlx-in.tmp") ; $message = <<"END_MESSAGE"; Mysqlx.Crud.Insert { collection { name: "maincollection" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "insert_json_doc" } }} } } END_MESSAGE print OUTPUT "-->sql\n"; print OUTPUT "USE xplugintest;\n"; print OUTPUT "CREATE TABLE IF NOT EXISTS xplugintest.test_table ( col1 INT );\n"; print OUTPUT "-->endsql\n"; for ($i=1001;$i<=1030;$i++) { if ($i%5 == 0) { print OUTPUT "-->expecterror ER_SUCCESS,ER_DUP_ENTRY\n"; print OUTPUT "-->sql\n"; print OUTPUT "INSERT INTO maincollection(doc) VALUES ('".'{\"name\":\"name_'.$i.'\"'.' , \"_id\":'.$i."}') \n"; print OUTPUT "-->endsql\n"; }else { $str = $message; $replace = '{\"name\":\"name_'.$i.'\"'.' , \"_id\":'.$i.'}'; $find = "insert_json_doc"; $str =~ s/$find/$replace/g; print OUTPUT "$str\n"; print OUTPUT "-->expecterror ER_SUCCESS,ER_X_DOC_ID_DUPLICATE\n"; print OUTPUT "-->recvresult\n"; } } print OUTPUT "-->sql\n"; print OUTPUT "INSERT INTO xplugintest.test_table VALUES (1);\n"; print OUTPUT "-->endsql\n"; close (OUTPUT); EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp >$MYSQL_TMP_DIR/mysqlx-out.tmp 2>&1 & --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp >$MYSQL_TMP_DIR/mysqlx-out2.tmp 2>&1 let $wait_condition= select count(*)=2 from xplugintest.test_table; --source include/wait_condition.inc SELECT COUNT(*) FROM xplugintest.maincollection; --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --remove_file $MYSQL_TMP_DIR/mysqlx-out2.tmp --remove_file $MYSQL_TMP_DIR/mysqlx-out.tmp ## Postamble DROP SCHEMA if EXISTS xplugintest; DROP USER readuser@localhost; UNINSTALL PLUGIN mysqlx;
Close