From 79993565a9d0c534a1aade553df5412173c37bf4 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/mysql_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/mysql_priv.h') diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 655e4d7b972..27115a2c252 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -349,7 +349,7 @@ extern "C" pthread_handler_decl(handle_one_connection,arg); extern "C" pthread_handler_decl(handle_bootstrap,arg); void end_thread(THD *thd,bool put_in_cache); void flush_thread_cache(); -void mysql_execute_command(THD *thd); +int mysql_execute_command(THD *thd); bool do_command(THD *thd); bool dispatch_command(enum enum_server_command command, THD *thd, char* packet, uint packet_length); -- cgit v1.2.1 From 744942beab531d724032133bba44bd6d0cc8d42f Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 21 Mar 2003 09:37:01 +0400 Subject: SCRUM two versions of KILL implementation include/mysql_com.h: ONLY_KILL_QUERY flag definition sql/lex.h: CONNECTION keyword added sql/mysql_priv.h: kill_one_thread function extended sql/sql_class.h: only_kill_query flag added to the THD structure sql/sql_parse.cc: handling of KILL QUERY feature added sql/sql_yacc.yy: KILL syntax extended with CONNECTION an QUERY options --- sql/mysql_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/mysql_priv.h') diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index b3457db07c5..3d4ddfc63d1 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -45,7 +45,7 @@ char *sql_strdup(const char *str); char *sql_strmake(const char *str,uint len); gptr sql_memdup(const void * ptr,unsigned size); void sql_element_free(void *ptr); -void kill_one_thread(THD *thd, ulong id); +void kill_one_thread(THD *thd, ulong id, bool only_kill_query); bool net_request_file(NET* net, const char* fname); char* query_table_status(THD *thd,const char *db,const char *table_name); -- cgit v1.2.1 From b9121cdea38b75aabc5a29a769ee409c962f42e0 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 May 2003 14:54:37 -0400 Subject: made lex a pointer in THD --- sql/mysql_priv.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sql/mysql_priv.h') diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 2adfd31d151..64b84858282 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -895,22 +895,22 @@ bool flush_error_log(void); inline bool add_item_to_list(THD *thd, Item *item) { - return thd->lex.current_select->add_item_to_list(thd, item); + return thd->lex->current_select->add_item_to_list(thd, item); } inline bool add_value_to_list(THD *thd, Item *value) { - return thd->lex.value_list.push_back(value); + return thd->lex->value_list.push_back(value); } inline bool add_order_to_list(THD *thd, Item *item, bool asc) { - return thd->lex.current_select->add_order_to_list(thd, item, asc); + return thd->lex->current_select->add_order_to_list(thd, item, asc); } inline bool add_group_to_list(THD *thd, Item *item, bool asc) { - return thd->lex.current_select->add_group_to_list(thd, item, asc); + return thd->lex->current_select->add_group_to_list(thd, item, asc); } inline void mark_as_null_row(TABLE *table) -- cgit v1.2.1 From 8ea9613e7ef35880c5b91cab446142be213bf0ba Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 23 May 2003 15:32:31 +0200 Subject: Adopt SP stuff to the new lex pointer. mysql-test/r/sp.result: New test (of more call levels). mysql-test/t/sp.test: New test (of more call levels). sql/mysql_priv.h: SPs wants to init lex only. sql/sp.cc: Restore lex pointer (and fixed memory leak). sql/sp_head.cc: lex is now a pointer, so reset things the right way. sql/sp_head.h: lex is now a pointer. sql/sql_lex.h: SPs wants to init lex only. sql/sql_parse.cc: SPs wants to init lex only. sql/sql_prepare.cc: Restore lex pointer. --- sql/mysql_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/mysql_priv.h') diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 64b84858282..57a7fd0f553 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -353,7 +353,7 @@ bool is_update_query(enum enum_sql_command command); void free_items(Item *item); bool alloc_query(THD *thd, char *packet, ulong packet_length); void mysql_init_select(LEX *lex); -void mysql_init_query(THD *thd); +void mysql_init_query(THD *thd, bool lexonly=0); bool mysql_new_select(LEX *lex, bool move_down); void create_select_for_variable(const char *var_name); void mysql_init_multi_delete(LEX *lex); -- cgit v1.2.1