106 lines
1.8 KiB
Plaintext
106 lines
1.8 KiB
Plaintext
## Test of user defined function mysqlx_error
|
|
|
|
## Preamble
|
|
--source include/xplugin_preamble.inc
|
|
--source include/xplugin_create_user.inc
|
|
## Test starts here
|
|
|
|
--write_file $MYSQL_TMP_DIR/udf_mysqlx_error.xpl
|
|
|
|
-->stmtsql SELECT MYSQLX_ERROR(5018);
|
|
-->expecterror ER_X_BAD_UPSERT_DATA
|
|
-->recvresult
|
|
|
|
-->stmtsql DO MYSQLX_ERROR(5018);
|
|
-->expecterror ER_X_BAD_UPSERT_DATA
|
|
-->recvresult
|
|
|
|
-->stmtsql CALL MYSQLX_ERROR(5018);
|
|
-->expecterror ER_NO_DB_ERROR
|
|
-->recvresult
|
|
|
|
-->stmtsql USE test;
|
|
-->recvresult
|
|
|
|
-->stmtsql CALL MYSQLX_ERROR(5018);
|
|
-->expecterror ER_SP_DOES_NOT_EXIST
|
|
-->recvresult
|
|
|
|
-->stmtsql DO MYSQLX_ERROR(5018, 5017);
|
|
-->expecterror ER_CANT_INITIALIZE_UDF
|
|
-->recvresult
|
|
|
|
-->stmtsql DO MYSQLX_ERROR('abc');
|
|
-->expecterror ER_CANT_INITIALIZE_UDF
|
|
-->recvresult
|
|
|
|
-->stmtsql DO MYSQLX_ERROR(NULL);
|
|
-->expecterror ER_CANT_INITIALIZE_UDF
|
|
-->recvresult
|
|
|
|
-->stmtsql DO MYSQLX_ERROR(123.45);
|
|
-->expecterror ER_CANT_INITIALIZE_UDF
|
|
-->recvresult
|
|
|
|
-->expecterror ER_X_BAD_UPSERT_DATA
|
|
-->sql
|
|
DELIMITER ||
|
|
CREATE PROCEDURE my_procedure(IN nr_error INT)
|
|
BEGIN
|
|
SELECT 1;
|
|
SELECT MYSQLX_ERROR(nr_error);
|
|
SELECT 2;
|
|
END ||
|
|
DELIMITER ;
|
|
|
|
CALL my_procedure(5018);
|
|
-->endsql
|
|
EOF
|
|
|
|
|
|
|
|
--error 5018
|
|
SELECT MYSQLX_ERROR(5018);
|
|
|
|
--error 5018
|
|
DO MYSQLX_ERROR(5018);
|
|
|
|
--error 1305
|
|
CALL MYSQLX_ERROR(5018);
|
|
|
|
--error 1123
|
|
DO MYSQLX_ERROR(5018, 5017);
|
|
|
|
--error 1123
|
|
DO MYSQLX_ERROR('abc');
|
|
|
|
--error 1123
|
|
DO MYSQLX_ERROR(NULL);
|
|
|
|
--error 1123
|
|
DO MYSQLX_ERROR(123.45);
|
|
|
|
DELIMITER ||;
|
|
CREATE PROCEDURE my_procedure(IN nr_error INT)
|
|
BEGIN
|
|
SELECT 1;
|
|
DO MYSQLX_ERROR(nr_error);
|
|
SELECT 2;
|
|
END ||
|
|
DELIMITER ;||
|
|
|
|
--error 5018
|
|
CALL my_procedure(5018);
|
|
DROP PROCEDURE my_procedure;
|
|
|
|
|
|
|
|
exec $MYSQLXTEST
|
|
-ux_root --password=''
|
|
--file=$MYSQL_TMP_DIR/udf_mysqlx_error.xpl 2>&1;
|
|
|
|
## Cleanup
|
|
--remove_files_wildcard $MYSQL_TMP_DIR *.xpl
|
|
--source include/xplugin_drop_user.inc
|
|
DROP PROCEDURE my_procedure;
|