From fa46b6a843cb89dfd68663426a54c0d8710d4e0a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Jan 2003 15:39:36 +0100 Subject: Fixed some basic error handling for SP functions in mysql_execute_command(). include/mysqld_error.h: Added error codes for SPs sql/mysql_priv.h: Changed return value of mysql_execute_command() from void to int; need to be able to detect if executions of substatements in SPs failed. sql/share/czech/errmsg.txt: Added error messages for SPs. sql/share/danish/errmsg.txt: Added error messages for SPs. sql/share/dutch/errmsg.txt: Added error messages for SPs. sql/share/english/errmsg.txt: Added error messages for SPs. sql/share/estonian/errmsg.txt: Added error messages for SPs. sql/share/french/errmsg.txt: Added error messages for SPs. sql/share/german/errmsg.txt: Added error messages for SPs. sql/share/greek/errmsg.txt: Added error messages for SPs. sql/share/hungarian/errmsg.txt: Added error messages for SPs. sql/share/italian/errmsg.txt: Added error messages for SPs. sql/share/japanese/errmsg.txt: Added error messages for SPs. sql/share/korean/errmsg.txt: Added error messages for SPs. sql/share/norwegian-ny/errmsg.txt: Added error messages for SPs. sql/share/norwegian/errmsg.txt: Added error messages for SPs. sql/share/polish/errmsg.txt: Added error messages for SPs. sql/share/portuguese/errmsg.txt: Added error messages for SPs. sql/share/romanian/errmsg.txt: Added error messages for SPs. sql/share/russian/errmsg.txt: Added error messages for SPs. sql/share/serbian/errmsg.txt: Added error messages for SPs. sql/share/slovak/errmsg.txt: Added error messages for SPs. sql/share/spanish/errmsg.txt: Added error messages for SPs. sql/share/swedish/errmsg.txt: Added error messages for SPs. sql/share/ukrainian/errmsg.txt: Added error messages for SPs. sql/sp_head.cc: Moved net.no_send_ok fiddling to sql_parse.cc. Check if mysql_execute_command() failed. sql/sql_parse.cc: Changed return value of mysql_execute_command() from void to int; need to be able to detect if executions of substatements in SPs failed. Fixed all returns accordingly. Added error checks for SQLCOM_CREATE_PROCEDURE, CALL, ALTER_PROCEDURE, and DROP_PROCEDURE. --- sql/share/danish/errmsg.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sql/share/danish/errmsg.txt') diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index dcc016511dd..9eea7e96e90 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -253,4 +253,8 @@ "Every derived table must have it's own alias" "Select %u was reduced during optimisation", "Table '%-.64s' from one of SELECT's can not be used in %-.32s" -"Client does not support authentication protocol requested by server. Consider upgrading MySQL client" \ No newline at end of file +"Client does not support authentication protocol requested by server. Consider upgrading MySQL client" +"Can't create a PROCEDURE from within a PROCEDURE" +"PROCEDURE already exists" +"PROCEDURE does not exist" +"Failed to DROP PROCEDURE" -- cgit v1.2.1 From f1d16d420fd12c7c84e9859aa7c569978c7d67cd Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Jan 2003 18:06:07 +0100 Subject: Fixed some error handling in the SP parts of the parser. include/mysqld_error.h: Added SP error messages for the parser. sql/share/czech/errmsg.txt: Added SP error messages for the parser. sql/share/danish/errmsg.txt: Added SP error messages for the parser. sql/share/dutch/errmsg.txt: Added SP error messages for the parser. sql/share/english/errmsg.txt: Added SP error messages for the parser. sql/share/estonian/errmsg.txt: Added SP error messages for the parser. sql/share/french/errmsg.txt: Added SP error messages for the parser. sql/share/german/errmsg.txt: Added SP error messages for the parser. sql/share/greek/errmsg.txt: Added SP error messages for the parser. sql/share/hungarian/errmsg.txt: Added SP error messages for the parser. sql/share/italian/errmsg.txt: Added SP error messages for the parser. sql/share/japanese/errmsg.txt: Added SP error messages for the parser. sql/share/korean/errmsg.txt: Added SP error messages for the parser. sql/share/norwegian-ny/errmsg.txt: Added SP error messages for the parser. sql/share/norwegian/errmsg.txt: Added SP error messages for the parser. sql/share/polish/errmsg.txt: Added SP error messages for the parser. sql/share/portuguese/errmsg.txt: Added SP error messages for the parser. sql/share/romanian/errmsg.txt: Added SP error messages for the parser. sql/share/russian/errmsg.txt: Added SP error messages for the parser. sql/share/serbian/errmsg.txt: Added SP error messages for the parser. sql/share/slovak/errmsg.txt: Added SP error messages for the parser. sql/share/spanish/errmsg.txt: Added SP error messages for the parser. sql/share/swedish/errmsg.txt: Added SP error messages for the parser. sql/share/ukrainian/errmsg.txt: Added SP error messages for the parser. sql/sql_yacc.yy: Replaced dummy printfs with real error messages in the SP parser. --- sql/share/danish/errmsg.txt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sql/share/danish/errmsg.txt') diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index 9eea7e96e90..a77c2b59622 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -258,3 +258,9 @@ "PROCEDURE already exists" "PROCEDURE does not exist" "Failed to DROP PROCEDURE" +"Failed to store PROCEDURE" +"LEAVE with no matching label" +"ITERATE with no matching label" +"Redefining label" +"End-label without match" +"Referring to uninitialized variable" -- cgit v1.2.1 From 34266291e3855449bd5147fe2f12a3daab0bcbc0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 23 Jan 2003 14:00:32 +0100 Subject: Added check for selects without into in SPs, and updated error messages and tests accordingly. include/mysqld_error.h: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/czech/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/danish/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/dutch/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/english/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/estonian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/french/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/german/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/greek/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/hungarian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/italian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/japanese/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/korean/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/norwegian-ny/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/norwegian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/polish/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/portuguese/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/romanian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/russian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/serbian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/slovak/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/spanish/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/swedish/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). sql/share/ukrainian/errmsg.txt: Added bad select in SP error (and fixed leave/iterate label mismatch error). mysql-test/r/sp.result: New test for repeat(...) and select with and without into in SPs. mysql-test/t/sp.test: New test for repeat(...) and select with and without into in SPs. sql/sql_yacc.yy: Check if an SP substatement is a SELECT and if so, has an INTO. If not, it's an error. --- sql/share/danish/errmsg.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sql/share/danish/errmsg.txt') diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index a77c2b59622..3c66c5a64f2 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -258,9 +258,9 @@ "PROCEDURE already exists" "PROCEDURE does not exist" "Failed to DROP PROCEDURE" -"Failed to store PROCEDURE" -"LEAVE with no matching label" -"ITERATE with no matching label" +"Failed to CREATE PROCEDURE" +"%s with no matching label" "Redefining label" "End-label without match" "Referring to uninitialized variable" +"SELECT in a stored procedure must have INTO" -- cgit v1.2.1 From ef0c55c5bded731693c80c47f26d9705106fae8e Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 21 Feb 2003 17:37:05 +0100 Subject: Most of the groundwork for sprint task 729 (implement FUNCTIONs). Expanded the mysql.proc table, reworked the find/create/drop functions completely, added new functions for FUNCTIONs (lotta functions here :), got rid of some unnecessary use of Item_strings while at it. Extended the parser correspondingly, and fiddled around a bit to make SP FUNCTIONs coexist with UDFs. Can now CREATE and DROP FUNCTIONs. Invoking yet to come... Docs/sp-implemented.txt: Updated with info about CASCADE/RESTICT and METHOD, and some answers to questions. include/mysqld_error.h: New error message for misuse of RETURN. mysql-test/install_test_db.sh: Added enum field to mysql.proc to distinguish between FUNCTION and PROCEDURE. mysql-test/r/sp.result: New test for creating and dropping FUNCTIONS. mysql-test/t/sp.test: New test for creating and dropping FUNCTIONS. scripts/mysql_install_db.sh: Added enum field to mysql.proc to distinguish between FUNCTION and PROCEDURE. sql/lex.h: De-UDFed some symbol names, as they are now used for SPs as well. Added RETURN_SYM. sql/share/czech/errmsg.txt: New error message for misuse of RETURN. sql/share/danish/errmsg.txt: New error message for misuse of RETURN. sql/share/dutch/errmsg.txt: New error message for misuse of RETURN. sql/share/english/errmsg.txt: New error message for misuse of RETURN. sql/share/estonian/errmsg.txt: New error message for misuse of RETURN. sql/share/french/errmsg.txt: New error message for misuse of RETURN. sql/share/german/errmsg.txt: New error message for misuse of RETURN. sql/share/greek/errmsg.txt: New error message for misuse of RETURN. sql/share/hungarian/errmsg.txt: New error message for misuse of RETURN. sql/share/italian/errmsg.txt: New error message for misuse of RETURN. sql/share/japanese/errmsg.txt: New error message for misuse of RETURN. sql/share/korean/errmsg.txt: New error message for misuse of RETURN. sql/share/norwegian-ny/errmsg.txt: New error message for misuse of RETURN. sql/share/norwegian/errmsg.txt: New error message for misuse of RETURN. sql/share/polish/errmsg.txt: New error message for misuse of RETURN. sql/share/portuguese/errmsg.txt: New error message for misuse of RETURN. sql/share/romanian/errmsg.txt: New error message for misuse of RETURN. sql/share/russian/errmsg.txt: New error message for misuse of RETURN. sql/share/serbian/errmsg.txt: New error message for misuse of RETURN. sql/share/slovak/errmsg.txt: New error message for misuse of RETURN. sql/share/spanish/errmsg.txt: New error message for misuse of RETURN. sql/share/swedish/errmsg.txt: New error message for misuse of RETURN. sql/share/ukrainian/errmsg.txt: New error message for misuse of RETURN. sql/sp.cc: Major rehack to accomodate FUNCTIONs, and to make it easier to add future in-memory cache of prepared SPs. sql/sp.h: Major rehack to accomodate FUNCTIONs, and to make it easier to add future in-memory cache of prepared SPs. sql/sp_head.cc: Now creates FUNCTIONs too. (And got rid of some unnecessary Item_string use.) sql/sp_head.h: Now creates FUNCTIONs too. (And got rid of some unnecessary Item_string use.) sql/sql_lex.h: New stored FUNCTION commands. sql/sql_parse.cc: Added FUNCTION support ("drop" merged with the old UDF code), and made some additional changes for better error handling (following the sp.cc rehacking). sql/sql_yacc.yy: Some former UDF specific symbols renamed. Added CREATE FUNCTION parsing. DROP FUNCTION had to be partly merged with the old UDF code, because of the similar syntax. RETURN statement added, but still a no-op. --- sql/share/danish/errmsg.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'sql/share/danish/errmsg.txt') diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index 3c66c5a64f2..193d8204c7d 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -264,3 +264,4 @@ "End-label without match" "Referring to uninitialized variable" "SELECT in a stored procedure must have INTO" +"RETURN is only allowed in a stored FUNCTION" -- cgit v1.2.1 From 8f3fb65e143dd06de682389a5a5f5672ea01ba8a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 5 Mar 2003 19:45:17 +0100 Subject: Improved error handling regarding SPs (with info like names etc in the output). Disabled queries in FUNCTIONs. include/mysqld_error.h: New error message for queries in FUNCTIONs. mysql-test/t/sp.test: Moved error tests to sp-error.test. sql/share/czech/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/danish/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/dutch/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/english/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/estonian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/french/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/german/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/greek/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/hungarian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/italian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/japanese/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/korean/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/norwegian-ny/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/norwegian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/polish/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/portuguese/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/romanian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/russian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/serbian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/slovak/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/spanish/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/swedish/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/share/ukrainian/errmsg.txt: New error message for queries in FUNCTIONs. Improved most of the SP error messages with added info. sql/sp_head.cc: Added debug output to sp_instr_jump::execute(). (Moved from sp_head.h) sql/sp_head.h: Moved sp_instr_jump::execute() to sp_head.cc. sql/sql_lex.h: Added SQLCOM_CREATE_SPFUNCTION (for improved error handling). sql/sql_parse.cc: Improved error handling regarding SPs (adding info like names etc in output). sql/sql_yacc.yy: Improved error handling regarding SPs (adding info like names etc in output). Disabled queries in FUNCTIONS (since it can't work anyway). --- sql/share/danish/errmsg.txt | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'sql/share/danish/errmsg.txt') diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index 193d8204c7d..4aa1fb6756c 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -254,14 +254,15 @@ "Select %u was reduced during optimisation", "Table '%-.64s' from one of SELECT's can not be used in %-.32s" "Client does not support authentication protocol requested by server. Consider upgrading MySQL client" -"Can't create a PROCEDURE from within a PROCEDURE" -"PROCEDURE already exists" -"PROCEDURE does not exist" -"Failed to DROP PROCEDURE" -"Failed to CREATE PROCEDURE" -"%s with no matching label" -"Redefining label" -"End-label without match" -"Referring to uninitialized variable" +"Can't create a %s from within another stored routine" +"%s %s already exists" +"%s %s does not exist" +"Failed to DROP %s %s" +"Failed to CREATE %s %s" +"%s with no matching label: %s" +"Redefining label %s" +"End-label %s without match" +"Referring to uninitialized variable %s" "SELECT in a stored procedure must have INTO" -"RETURN is only allowed in a stored FUNCTION" +"RETURN is only allowed in a FUNCTION" +"Queries, like SELECT, INSERT, UPDATE (and others), are not allowed in a FUNCTION" -- cgit v1.2.1