diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-12-15 00:51:37 +0200 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-12-15 00:51:37 +0200 |
commit | f00257ddd0a2f392f9b80c9cd5c405017e3a9d63 (patch) | |
tree | 142bd488523fec48817d9fb2194f1a608eec00fc /sql/sql_parse.cc | |
parent | 25226de9ea52d06667c2c7fbd99f5cd014764241 (diff) | |
download | mariadb-git-f00257ddd0a2f392f9b80c9cd5c405017e3a9d63.tar.gz |
Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments
Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c
I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
BUILD/SETUP.sh:
Added printing of unused functions and variables.
Made it easy to test compiling with -Wshadow
BUILD/compile-pentium-gcov:
Added warnings
Mark binary with -gcov
client/mysql.cc:
Fixed warnings found with gcc -Wshadow
client/mysql_upgrade.c:
Fixed warnings found with gcc -Wshadow
client/mysqlbinlog.cc:
Fixed warnings found with gcc -Wshadow
client/mysqldump.c:
Fixed warnings found with gcc -Wshadow
client/mysqltest.c:
Fixed warnings found with gcc -Wshadow
client/sql_string.cc:
Fixed warnings found with gcc -Wshadow
Merged with sql/sql_string.cc
client/sql_string.h:
Fixed warnings found with gcc -Wshadow
Merged with sql/sql_string.h
cmd-line-utils/readline/display.c:
Fixed compiler warning
cmd-line-utils/readline/histexpand.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/input.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/text.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/vi_mode.c:
Fixed warnings found with gcc -Wshadow
dbug/dbug_analyze.c:
Fixed warnings found with gcc -Wshadow
extra/my_print_defaults.c:
Prefixed defaults_extra_file and defaults_group_suffix with 'my' to avoid conflicts with similar named local variables
extra/yassl/include/buffer.hpp:
Fixed compiler warnings
extra/yassl/include/crypto_wrapper.hpp:
Fixed compiler warnings
extra/yassl/include/yassl_imp.hpp:
Fixed compiler warnings
extra/yassl/include/yassl_int.hpp:
Fixed compiler warnings
extra/yassl/src/crypto_wrapper.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/benchmark/benchmark.cpp:
Fixed warnings found with gcc -Wshadow
extra/yassl/taocrypt/include/algebra.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/des.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/hash.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/hmac.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/modarith.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/modes.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/rsa.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/mySTL/list.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/aes.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/algebra.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/asn.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/test/test.cpp:
Fixed compiler warnings
extra/yassl/testsuite/testsuite.cpp:
Fixed compiler warnings
include/m_ctype.h:
Fixed warnings found with gcc -Wshadow
include/my_pthread.h:
Fixed warnings found with gcc -Wshadow
include/my_sys.h:
Fixed warnings found with gcc -Wshadow
include/my_time.h:
Fixed warnings found with gcc -Wshadow
include/mysql.h:
Fixed warnings found with gcc -Wshadow
Added define IS_LONGDATA() to simplify code in libmysql.c
libmysql/libmysql.c:
Fixed warnings found with gcc -Wshadow
(Mostly replaced bind -> my_bind and time -> my_time)
libmysqld/lib_sql.cc:
Removed not used variables and labels
myisam/ft_boolean_search.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_open.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_search.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_unique.c:
Fixed compiler warning
myisam/myisampack.c:
Fixed warnings found with gcc -Wshadow
myisam/rt_index.c:
Remove not used variables
myisam/sort.c:
Fixed warnings found with gcc -Wshadow
mysql-test/r/mysqlcheck.result:
Remove databases and tables possible left by previous test
mysql-test/r/mysqltest.result:
New test results
mysql-test/t/mysql.test:
Coverage tests
mysql-test/t/mysqlbinlog.test:
Coverage tests
mysql-test/t/mysqlcheck.test:
Remove databases and tables possible left by previous test
mysql-test/t/mysqltest.test:
Coverage tests
mysys/default.c:
Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
mysys/mf_iocache2.c:
Fixed warnings found with gcc -Wshadow
mysys/mf_keycache.c:
Fixed warnings found with gcc -Wshadow
mysys/my_bitmap.c:
Fixed warnings found with gcc -Wshadow
mysys/sha1.c:
Fixed warnings found with gcc -Wshadow
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
Fixed compiler warning
ndb/include/kernel/signaldata/DictTabInfo.hpp:
Fixed compiler warnings
ndb/include/ndbapi/NdbReceiver.hpp:
Fixed warnings found with gcc -Wshadow
ndb/include/transporter/TransporterDefinitions.hpp:
Fixed compiler warning
ndb/include/util/InputStream.hpp:
Fixed compiler warning
ndb/include/util/OutputStream.hpp:
Fixed compiler warning
ndb/include/util/SimpleProperties.hpp:
Fixed compiler warning
ndb/include/util/SocketAuthenticator.hpp:
Fixed compiler warning
ndb/include/util/SocketServer.hpp:
Fixed compiler warning
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/portlib/NdbTick.c:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/SHM_Transporter.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.hpp:
Fixed compiler warning
ndb/src/common/transporter/Transporter.cpp:
Removed not used variable
ndb/src/common/transporter/TransporterRegistry.cpp:
Removed not used variable
ndb/src/common/util/Bitmask.cpp:
Moved function to avoid warnings of not used function
ndb/src/common/util/ConfigValues.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/File.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/Properties.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/SocketClient.cpp:
Fixed wrong return value
ndb/src/common/util/random.c:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/socket_io.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/cw/cpcd/APIService.cpp:
Removed not used variable
ndb/src/cw/cpcd/main.cpp:
Removed not used variables
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Removed not used variable
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
Removed not used variables
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/suma/Suma.cpp:
Removed not used variables
ndb/src/kernel/blocks/suma/Suma.hpp:
Fixed compiler warnings
ndb/src/kernel/vm/MetaData.hpp:
Fixed compiler warnings
ndb/src/mgmapi/LocalConfig.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmapi/mgmapi.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmclient/CommandInterpreter.cpp:
Removed not used variables
ndb/src/mgmsrv/ConfigInfo.cpp:
Fixed warnings found with gcc -Wshadow
Removed not used variables
ndb/src/mgmsrv/ConfigInfo.hpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmsrv/InitConfigFileParser.cpp:
Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
ndb/src/mgmsrv/MgmtSrvr.cpp:
Removed not used variables and functions
ndb/src/mgmsrv/MgmtSrvr.hpp:
Fixed compiler warnings
ndb/src/mgmsrv/Services.cpp:
Removed not used variables and functions
ndb/src/mgmsrv/main.cpp:
Removed not used variable
ndb/src/ndbapi/ClusterMgr.hpp:
Fixed compiler warnings
ndb/src/ndbapi/Ndb.cpp:
Removed not used variables
ndb/src/ndbapi/NdbBlob.cpp:
Removed not used variables
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Removed not used variables
ndb/src/ndbapi/NdbIndexOperation.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationDefine.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationExec.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationSearch.cpp:
Removed not used variables
ndb/src/ndbapi/NdbScanFilter.cpp:
Fixed compiler warning
ndb/src/ndbapi/NdbScanOperation.cpp:
Removed not used variables
ndb/src/ndbapi/SignalSender.cpp:
Removed not used variables
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Removed not used variable
ndb/tools/delete_all.cpp:
Removed not used variable
ndb/tools/desc.cpp:
Removed not used variable
ndb/tools/drop_index.cpp:
Removed not used variable
ndb/tools/drop_tab.cpp:
Removed not used variable
ndb/tools/listTables.cpp:
Removed not used variable
ndb/tools/ndb_config.cpp:
Fixed warnings found with gcc -Wshadow
Added missing puts(desc)
ndb/tools/restore/Restore.hpp:
Changed delimiter to define instead of static variable, as the static variable caused a LOT of compiler warnings
Fixed compiler warning
ndb/tools/restore/consumer.hpp:
Fixed compiler warning
ndb/tools/restore/restore_main.cpp:
Fixed compiler warnings
ndb/tools/select_all.cpp:
Removed not used variables
ndb/tools/select_count.cpp:
Removed not used variable
server-tools/instance-manager/commands.h:
Fixed compiler warnings
server-tools/instance-manager/guardian.cc:
Fixed compiler warnings
server-tools/instance-manager/instance_options.cc:
Removed not used variables
server-tools/instance-manager/mysql_connection.cc:
Fixed compiler warnings
server-tools/instance-manager/options.cc:
Fixed compiler warnings
server-tools/instance-manager/options.h:
Fixed compiler warnings
server-tools/instance-manager/parse.cc:
Removed not used variable
server-tools/instance-manager/user_map.cc:
Fixed compiler warnings
server-tools/instance-manager/user_map.h:
Fixed compiler warnings
sql/field.cc:
Fixed compiler warnings
sql/field.h:
Fixed compiler warnings
sql/filesort.cc:
Fixed compiler warnings
sql/ha_archive.cc:
Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_archive.h:
Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_federated.cc:
Fixed compiler warnings
sql/ha_heap.cc:
Fixed compiler warnings
sql/ha_myisam.cc:
Fixed compiler warnings
sql/ha_myisammrg.cc:
Fixed compiler warnings
sql/ha_ndbcluster.cc:
Fixed compiler warnings
sql/handler.cc:
Fixed compiler warnings
sql/item.cc:
Fixed compiler warnings
sql/item.h:
Fixed compiler warnings
new_item() -> clone_item(), to avoid a lot of warnings with variable 'new_item'
el() -> element_index()
sql/item_cmpfunc.cc:
Fixed compiler warnings
sql/item_cmpfunc.h:
Fixed compiler warnings
sql/item_func.cc:
Fixed compiler warnings
sql/item_geofunc.cc:
Fixed compiler warnings
sql/item_row.h:
Fixed compiler warnings
sql/item_strfunc.cc:
Fixed compiler warnings
sql/item_subselect.cc:
Fixed compiler warnings
sql/item_subselect.h:
Fixed compiler warnings
sql/item_sum.cc:
Fixed compiler warnings
sql/item_timefunc.cc:
Fixed compiler warnings
sql/log.cc:
Fixed compiler warnings
More comments
Added #ifdef HAVE_REPLICATION
sql/log_event.cc:
Fixed compiler warnings
sql/log_event.h:
Fixed compiler warnings
sql/mysql_priv.h:
query_id -> global_query_id, to avoid a lot of clashes with function and class variables
start_time -> server_start_time
sql/mysqld.cc:
Fixed compiler warnings:
- Removed not used variables
- Added #ifndef EMBEDDED_LIBRARY
- Fixed shadow warnings
sql/net_serv.cc:
Fixed compiler warnings
sql/opt_range.cc:
range -> last_range to avoid shadow warnings
Removed not used function print_rowid()
sql/opt_range.h:
range -> last_range to avoid shadow warnings
sql/password.c:
Fixed compiler warnings
sql/protocol.cc:
Fixed compiler warnings
sql/repl_failsafe.cc:
Fixed compiler warnings
sql/set_var.cc:
Fixed compiler warnings
sql/set_var.h:
type() -> show_type()
Fixed compiler warnings
sql/slave.cc:
Fixed compiler warnings
sql/sp_head.cc:
Fixed compiler warnings
sql/sp_head.h:
Fixed compiler warnings
sql/spatial.cc:
Fixed compiler warnings
sql/spatial.h:
length() -> geom_length() to avoid compiler warnings
wkb_end -> wkb_last to avoid compiler warnings with local variables named 'wkb_end'
sql/sql_cache.h:
Fixed compiler warnings
sql/sql_class.cc:
Fixed compiler warnings
sql/sql_class.h:
log -> log_xid() to avoid compiler warnings
Fixed shadow compiler warnings
sql/sql_derived.cc:
Removed not used variable
sql/sql_insert.cc:
Fixed compiler warnings
sql/sql_lex.cc:
Fixed compiler warnings
sql/sql_lex.h:
res -> saved_error to make the meaning of the variable clear and avoid shadow warnings
sql/sql_load.cc:
Fixed compiler warnings
sql/sql_parse.cc:
Fixed compiler warnings
sql/sql_prepare.cc:
Fixed compiler warnings
sql/sql_select.cc:
Fixed compiler warnings
sql/sql_show.cc:
Fixed compiler warnings
sql/sql_string.cc:
Fixed compiler warnings
sql/sql_string.h:
Fixed compiler warnings
sql/sql_table.cc:
Fixed compiler warnings
sql/sql_trigger.cc:
Fixed compiler warnings
sql/sql_trigger.h:
table -> trigger_table to avoid warnings from local variables
sql/sql_union.cc:
Fixed compiler warnings
(mainly res -> saved_error)
sql-common/client.c:
Removed not used variable
sql-common/my_time.c:
Removed not used variable
time -> my_time
sql/sql_update.cc:
Removed not used variable
sql/sql_view.cc:
Removed not used variable
sql/sql_yacc.yy:
Removed not used variable
sql/table.cc:
Removed not used variable
sql/tztime.cc:
Removed not used variable
sql/unireg.cc:
Removed not used variable
strings/ctype-bin.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-cp932.c:
Fixed compiler warnings
strings/ctype-eucjpms.c:
Fixed compiler warnings
strings/ctype-mb.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-simple.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
exp -> exponent
strings/ctype-sjis.c:
Fixed compiler warnings
strings/ctype-uca.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-ujis.c:
Fixed compiler warnings
strings/ctype-utf8.c:
Fixed compiler warnings
strings/decimal.c:
Fixed compiler warnings
strings/my_vsnprintf.c:
Added comment
strings/strtod.c:
Fixed compiler warnings
tests/mysql_client_test.c:
Fixed compiler warnings
(Biggest part of patch is to not get a conflict with global function 'bind')
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 196 |
1 files changed, 97 insertions, 99 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index fec7e5ab20d..cb09935268d 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -66,13 +66,12 @@ extern "C" int gethostname(char *name, int namelen); #endif -static void time_out_user_resource_limits(THD *thd, USER_CONN *uc); #ifndef NO_EMBEDDED_ACCESS_CHECKS +static void time_out_user_resource_limits(THD *thd, USER_CONN *uc); static int check_for_max_user_connections(THD *thd, USER_CONN *uc); static void decrease_user_connections(USER_CONN *uc); #endif /* NO_EMBEDDED_ACCESS_CHECKS */ static bool check_db_used(THD *thd,TABLE_LIST *tables); -static bool check_multi_update_lock(THD *thd); static void remove_escape(char *name); static bool append_file_to_dir(THD *thd, const char **filename_ptr, const char *table_name); @@ -672,6 +671,8 @@ bool is_update_query(enum enum_sql_command command) safe to test and modify members of the USER_CONN structure. */ +#ifndef NO_EMBEDDED_ACCESS_CHECKS + static void time_out_user_resource_limits(THD *thd, USER_CONN *uc) { time_t check_time = thd->start_time ? thd->start_time : time(NULL); @@ -689,7 +690,6 @@ static void time_out_user_resource_limits(THD *thd, USER_CONN *uc) DBUG_VOID_RETURN; } - /* Check if maximum queries per hour limit has been reached returns 0 if OK. @@ -697,7 +697,6 @@ static void time_out_user_resource_limits(THD *thd, USER_CONN *uc) static bool check_mqh(THD *thd, uint check_command) { -#ifndef NO_EMBEDDED_ACCESS_CHECKS bool error= 0; USER_CONN *uc=thd->user_connect; DBUG_ENTER("check_mqh"); @@ -731,11 +730,10 @@ static bool check_mqh(THD *thd, uint check_command) end: (void) pthread_mutex_unlock(&LOCK_user_conn); DBUG_RETURN(error); -#else - return (0); -#endif /* NO_EMBEDDED_ACCESS_CHECKS */ } +#endif /* NO_EMBEDDED_ACCESS_CHECKS */ + static void reset_mqh(LEX_USER *lu, bool get_them= 0) { @@ -1595,7 +1593,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, thd->lex->sql_command= SQLCOM_END; /* to avoid confusing VIEW detectors */ thd->set_time(); VOID(pthread_mutex_lock(&LOCK_thread_count)); - thd->query_id=query_id; + thd->query_id= global_query_id; if (command != COM_STATISTICS && command != COM_PING) next_query_id(); thread_running++; @@ -1776,7 +1774,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, while (!thd->killed && thd->lex->found_semicolon && !thd->net.report_error) { - char *packet= thd->lex->found_semicolon; + char *next_packet= thd->lex->found_semicolon; net->no_send_error= 0; /* Multiple queries exits, execute them individually @@ -1784,24 +1782,24 @@ bool dispatch_command(enum enum_server_command command, THD *thd, if (thd->lock || thd->open_tables || thd->derived_tables || thd->prelocked_mode) close_thread_tables(thd); - ulong length= (ulong)(packet_end-packet); + ulong length= (ulong)(packet_end - next_packet); log_slow_statement(thd); /* Remove garbage at start of query */ - while (my_isspace(thd->charset(), *packet) && length > 0) + while (my_isspace(thd->charset(), *next_packet) && length > 0) { - packet++; + next_packet++; length--; } VOID(pthread_mutex_lock(&LOCK_thread_count)); thd->query_length= length; - thd->query= packet; + thd->query= next_packet; thd->query_id= next_query_id(); thd->set_time(); /* Reset the query start time. */ /* TODO: set thd->lex->sql_command to SQLCOM_END here */ VOID(pthread_mutex_unlock(&LOCK_thread_count)); - mysql_parse(thd, packet, length); + mysql_parse(thd, next_packet, length); } if (!(specialflag & SPECIAL_NO_PRIOR)) @@ -1818,16 +1816,12 @@ bool dispatch_command(enum enum_server_command command, THD *thd, { char *fields, *pend; /* Locked closure of all tables */ - TABLE_LIST *locked_tables= NULL; TABLE_LIST table_list; LEX_STRING conv_name; - /* Saved variable value */ - my_bool old_innodb_table_locks= - IF_INNOBASE_DB(thd->variables.innodb_table_locks, FALSE); + /* used as fields initializator */ lex_start(thd, 0, 0); - statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS], &LOCK_status); bzero((char*) &table_list,sizeof(table_list)); @@ -2023,7 +2017,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, STATUS_VAR current_global_status_var; calc_sum_of_all_status(¤t_global_status_var); - ulong uptime = (ulong) (thd->start_time - start_time); + ulong uptime = (ulong) (thd->start_time - server_start_time); sprintf((char*) buff, "Uptime: %lu Threads: %d Questions: %lu Slow queries: %lu Opens: %lu Flush tables: %lu Open tables: %u Queries per second avg: %.3f", uptime, @@ -2070,13 +2064,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd, { statistic_increment(thd->status_var.com_stat[SQLCOM_SET_OPTION], &LOCK_status); - enum_mysql_set_option command= (enum_mysql_set_option) uint2korr(packet); - switch (command) { - case MYSQL_OPTION_MULTI_STATEMENTS_ON: + uint opt_command= uint2korr(packet); + + switch (opt_command) { + case (int) MYSQL_OPTION_MULTI_STATEMENTS_ON: thd->client_capabilities|= CLIENT_MULTI_STATEMENTS; send_eof(thd); break; - case MYSQL_OPTION_MULTI_STATEMENTS_OFF: + case (int) MYSQL_OPTION_MULTI_STATEMENTS_OFF: thd->client_capabilities&= ~CLIENT_MULTI_STATEMENTS; send_eof(thd); break; @@ -2418,7 +2413,7 @@ mysql_execute_command(THD *thd) { bool res= FALSE; bool need_start_waiting= FALSE; // have protection against global read lock - int result= 0; + int up_result= 0; LEX *lex= thd->lex; /* first SELECT_LEX (have special meaning for many of non-SELECTcommands) */ SELECT_LEX *select_lex= &lex->select_lex; @@ -2561,7 +2556,7 @@ mysql_execute_command(THD *thd) new Item_int((ulonglong)thd->variables.select_limit); } - select_result *result=lex->result; + select_result *sel_result=lex->result; if (all_tables) { if (lex->orig_sql_command != SQLCOM_SHOW_STATUS_PROC && @@ -2588,11 +2583,11 @@ mysql_execute_command(THD *thd) to prepend EXPLAIN to any query and receive output for it, even if the query itself redirects the output. */ - if (!(result= new select_send())) + if (!(sel_result= new select_send())) goto error; else - thd->send_explain_fields(result); - res= mysql_explain_union(thd, &thd->lex->unit, result); + thd->send_explain_fields(sel_result); + res= mysql_explain_union(thd, &thd->lex->unit, sel_result); if (lex->describe & DESCRIBE_EXTENDED) { char buff[1024]; @@ -2603,17 +2598,17 @@ mysql_execute_command(THD *thd) push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_YES, str.ptr()); } - result->send_eof(); - delete result; + sel_result->send_eof(); + delete sel_result; } else { - if (!result && !(result= new select_send())) + if (!sel_result && !(sel_result= new select_send())) goto error; query_cache_store_query(thd, all_tables); - res= handle_select(thd, lex, result, 0); - if (result != lex->result) - delete result; + res= handle_select(thd, lex, sel_result, 0); + if (sel_result != lex->result) + delete sel_result; } } break; @@ -2942,7 +2937,7 @@ mysql_execute_command(THD *thd) } if (select_lex->item_list.elements) // With select { - select_result *result; + select_result *sel_result; select_lex->options|= SELECT_NO_UNLOCK; unit->set_limit(select_lex); @@ -2981,20 +2976,20 @@ mysql_execute_command(THD *thd) } } - if ((result= new select_create(create_table, - &lex->create_info, - lex->create_list, - lex->key_list, - select_lex->item_list, - lex->duplicates, - lex->ignore))) + if ((sel_result= new select_create(create_table, + &lex->create_info, + lex->create_list, + lex->key_list, + select_lex->item_list, + lex->duplicates, + lex->ignore))) { /* CREATE from SELECT give its SELECT_LEX for SELECT, and item_list belong to SELECT */ - res= handle_select(thd, lex, result, 0); - delete result; + res= handle_select(thd, lex, sel_result, 0); + delete sel_result; } /* reset for PS */ lex->create_list.empty(); @@ -3309,22 +3304,23 @@ end_with_restore_list: break; DBUG_ASSERT(select_lex->offset_limit == 0); unit->set_limit(select_lex); - res= (result= mysql_update(thd, all_tables, - select_lex->item_list, - lex->value_list, - select_lex->where, - select_lex->order_list.elements, - (ORDER *) select_lex->order_list.first, - unit->select_limit_cnt, - lex->duplicates, lex->ignore)); + res= (up_result= mysql_update(thd, all_tables, + select_lex->item_list, + lex->value_list, + select_lex->where, + select_lex->order_list.elements, + (ORDER *) select_lex->order_list.first, + unit->select_limit_cnt, + lex->duplicates, lex->ignore)); /* mysql_update return 2 if we need to switch to multi-update */ - if (result != 2) + if (up_result != 2) break; + /* Fall through */ case SQLCOM_UPDATE_MULTI: { DBUG_ASSERT(first_table == all_tables && first_table != 0); /* if we switched from normal update, rights are checked */ - if (result != 2) + if (up_result != 2) { if ((res= multi_update_precheck(thd, all_tables))) break; @@ -3408,7 +3404,7 @@ end_with_restore_list: case SQLCOM_REPLACE_SELECT: case SQLCOM_INSERT_SELECT: { - select_result *result; + select_result *sel_result; DBUG_ASSERT(first_table == all_tables && first_table != 0); if ((res= insert_precheck(thd, all_tables))) break; @@ -3437,13 +3433,15 @@ end_with_restore_list: select_lex->context.table_list= select_lex->context.first_name_resolution_table= second_table; res= mysql_insert_select_prepare(thd); - if (!res && (result= new select_insert(first_table, first_table->table, - &lex->field_list, - &lex->update_list, - &lex->value_list, - lex->duplicates, lex->ignore))) + if (!res && (sel_result= new select_insert(first_table, + first_table->table, + &lex->field_list, + &lex->update_list, + &lex->value_list, + lex->duplicates, + lex->ignore))) { - res= handle_select(thd, lex, result, OPTION_SETUP_TABLES_DONE); + res= handle_select(thd, lex, sel_result, OPTION_SETUP_TABLES_DONE); /* Invalidate the table in the query cache if something changed after unlocking when changes become visible. @@ -3461,7 +3459,7 @@ end_with_restore_list: first_table->next_local= save_table; thd->lock=0; } - delete result; + delete sel_result; } /* revert changes for SP */ select_lex->table_list.first= (byte*) first_table; @@ -3526,7 +3524,7 @@ end_with_restore_list: DBUG_ASSERT(first_table == all_tables && first_table != 0); TABLE_LIST *aux_tables= (TABLE_LIST *)thd->lex->auxiliary_table_list.first; - multi_delete *result; + multi_delete *del_result; if (!thd->locked_tables && !(need_start_waiting= !wait_if_global_read_lock(thd, 0, 1))) @@ -3551,8 +3549,8 @@ end_with_restore_list: if ((res= mysql_multi_delete_prepare(thd))) goto error; - if (!thd->is_fatal_error && (result= new multi_delete(aux_tables, - lex->table_count))) + if (!thd->is_fatal_error && + (del_result= new multi_delete(aux_tables, lex->table_count))) { res= mysql_select(thd, &select_lex->ref_pointer_array, select_lex->get_table_list(), @@ -3564,8 +3562,8 @@ end_with_restore_list: select_lex->options | thd->options | SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK | OPTION_SETUP_TABLES_DONE, - result, unit, select_lex); - delete result; + del_result, unit, select_lex); + delete del_result; } else res= TRUE; // Error @@ -4243,7 +4241,7 @@ end_with_restore_list: { uint namelen; char *name; - int result; + int sp_result; DBUG_ASSERT(lex->sphead != 0); DBUG_ASSERT(lex->sphead->m_db.str); /* Must be initialized in the parser */ @@ -4306,17 +4304,17 @@ end_with_restore_list: if (!lex->definer) { - bool res= FALSE; + bool local_res= FALSE; Query_arena original_arena; Query_arena *ps_arena = thd->activate_stmt_arena_if_needed(&original_arena); if (!(lex->definer= create_default_definer(thd))) - res= TRUE; + local_res= TRUE; if (ps_arena) thd->restore_active_arena(ps_arena, &original_arena); - if (res) + if (local_res) { /* Error has been already reported. */ delete lex->sphead; @@ -4363,8 +4361,8 @@ end_with_restore_list: } #endif /* NO_EMBEDDED_ACCESS_CHECKS */ - res= (result= lex->sphead->create(thd)); - if (result == SP_OK) + res= (sp_result= lex->sphead->create(thd)); + if (sp_result == SP_OK) { #ifndef NO_EMBEDDED_ACCESS_CHECKS /* only add privileges if really neccessary */ @@ -4388,7 +4386,7 @@ end_with_restore_list: } else { - switch (result) { + switch (sp_result) { case SP_WRITE_ROW_FAILED: my_error(ER_SP_ALREADY_EXISTS, MYF(0), SP_TYPE_STRING(lex), name); break; @@ -4521,7 +4519,7 @@ end_with_restore_list: case SQLCOM_ALTER_PROCEDURE: case SQLCOM_ALTER_FUNCTION: { - int result; + int sp_result; sp_head *sp; st_sp_chistics chistics; @@ -4536,7 +4534,7 @@ end_with_restore_list: if (! sp) { if (lex->spname->m_db.str) - result= SP_KEY_NOT_FOUND; + sp_result= SP_KEY_NOT_FOUND; else { my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0)); @@ -4561,7 +4559,7 @@ end_with_restore_list: { my_message(ER_BINLOG_UNSAFE_ROUTINE, ER(ER_BINLOG_UNSAFE_ROUTINE), MYF(0)); - result= SP_INTERNAL_ERROR; + sp_result= SP_INTERNAL_ERROR; } else { @@ -4571,15 +4569,15 @@ end_with_restore_list: follow the restrictions that log-bin-trust-function-creators=0 already puts on CREATE FUNCTION. */ + /* Conditionally writes to binlog */ if (lex->sql_command == SQLCOM_ALTER_PROCEDURE) - /* Conditionally writes to binlog */ - result= sp_update_procedure(thd, lex->spname, &lex->sp_chistics); + sp_result= sp_update_procedure(thd, lex->spname, + &lex->sp_chistics); else - /* Conditionally writes to binlog */ - result= sp_update_function(thd, lex->spname, &lex->sp_chistics); + sp_result= sp_update_function(thd, lex->spname, &lex->sp_chistics); } } - switch (result) + switch (sp_result) { case SP_OK: send_ok(thd); @@ -4598,13 +4596,13 @@ end_with_restore_list: case SQLCOM_DROP_PROCEDURE: case SQLCOM_DROP_FUNCTION: { - int result; + int sp_result; int type= (lex->sql_command == SQLCOM_DROP_PROCEDURE ? TYPE_ENUM_PROCEDURE : TYPE_ENUM_FUNCTION); - result= sp_routine_exists_in_table(thd, type, lex->spname); + sp_result= sp_routine_exists_in_table(thd, type, lex->spname); mysql_reset_errors(thd, 0); - if (result == SP_OK) + if (sp_result == SP_OK) { char *db= lex->spname->m_db.str; char *name= lex->spname->m_name.str; @@ -4625,12 +4623,11 @@ end_with_restore_list: ER(ER_PROC_AUTO_REVOKE_FAIL)); } #endif - if (lex->sql_command == SQLCOM_DROP_PROCEDURE) /* Conditionally writes to binlog */ - result= sp_drop_procedure(thd, lex->spname); /* Conditionally writes to binlog */ + if (lex->sql_command == SQLCOM_DROP_PROCEDURE) + sp_result= sp_drop_procedure(thd, lex->spname); else - /* Conditionally writes to binlog */ - result= sp_drop_function(thd, lex->spname); /* Conditionally writes to binlog */ + sp_result= sp_drop_function(thd, lex->spname); } else { @@ -4654,16 +4651,15 @@ end_with_restore_list: } #endif if (lex->spname->m_db.str) - result= SP_KEY_NOT_FOUND; + sp_result= SP_KEY_NOT_FOUND; else { my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0)); goto error; } } - res= result; - switch (result) - { + res= sp_result; + switch (sp_result) { case SP_OK: send_ok(thd); break; @@ -5299,7 +5295,9 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables, { uint found=0; ulong found_access=0; +#ifndef EMBEDDED_LIBRARY TABLE_LIST *org_tables= tables; +#endif TABLE_LIST *first_not_own_table= thd->lex->first_not_own_table(); Security_context *sctx= thd->security_ctx, *backup_ctx= thd->security_ctx; /* @@ -6504,18 +6502,18 @@ void st_select_lex::set_lock_for_tables(thr_lock_type lock_type) 0 on success */ -bool st_select_lex_unit::add_fake_select_lex(THD *thd) +bool st_select_lex_unit::add_fake_select_lex(THD *thd_arg) { SELECT_LEX *first_sl= first_select(); DBUG_ENTER("add_fake_select_lex"); DBUG_ASSERT(!fake_select_lex); - if (!(fake_select_lex= new (thd->mem_root) SELECT_LEX())) + if (!(fake_select_lex= new (thd_arg->mem_root) SELECT_LEX())) DBUG_RETURN(1); fake_select_lex->include_standalone(this, (SELECT_LEX_NODE**)&fake_select_lex); fake_select_lex->select_number= INT_MAX; - fake_select_lex->parent_lex= thd->lex; /* Used in init_query. */ + fake_select_lex->parent_lex= thd_arg->lex; /* Used in init_query. */ fake_select_lex->make_empty_select(); fake_select_lex->linkage= GLOBAL_OPTIONS_TYPE; fake_select_lex->select_limit= 0; @@ -6535,9 +6533,9 @@ bool st_select_lex_unit::add_fake_select_lex(THD *thd) */ global_parameters= fake_select_lex; fake_select_lex->no_table_names_allowed= 1; - thd->lex->current_select= fake_select_lex; + thd_arg->lex->current_select= fake_select_lex; } - thd->lex->pop_context(); + thd_arg->lex->pop_context(); DBUG_RETURN(0); } |