diff options
author | unknown <monty@mysql.com> | 2006-03-29 14:27:36 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2006-03-29 14:27:36 +0300 |
commit | 59eaf292de3ab637be34fb5199da98a6192fa650 (patch) | |
tree | 4d8a2c78f1c611f41d2ea762390198c528239c80 /sql/sql_analyse.cc | |
parent | 73970addd82584a9ec6ad4c95ba5d54dfe0f640c (diff) | |
download | mariadb-git-59eaf292de3ab637be34fb5199da98a6192fa650.tar.gz |
Fixed compiler and valgrind warnings
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
BitKeeper/etc/ignore:
added mysql-test/r/*.log
client/mysqltest.c:
Change type of variables to get rid of compiler warnings
More debugging
Fix memory leak
mysql-test/mysql-test-run.sh:
Collect warnings about missing DBUG_RETURN statements
mysql-test/r/lock_multi.result:
Add test of new code
mysql-test/r/ndb_condition_pushdown.result:
Drop used tables before test
mysql-test/t/lock_multi.test:
Add test of new code
mysql-test/t/ndb_condition_pushdown.test:
Drop used tables before test
mysql-test/valgrind.supp:
Ignore 'safe' warnings from libz (when used with archive)
sql/event.cc:
More comments
Simplify code
Fixed memory leak found by valgrind
sql/ha_archive.cc:
Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
sql/ha_berkeley.cc:
Fixed compiler warning
sql/ha_blackhole.cc:
Fixed compiler warning
sql/ha_federated.cc:
Fixed compiler warning
sql/ha_heap.cc:
Fixed compiler warning
sql/ha_myisam.cc:
Fixed compiler warning
sql/ha_myisammrg.cc:
Fixed compiler warning
sql/ha_ndbcluster.cc:
Fixed compiler warnings
sql/ha_partition.cc:
Fixed compiler warning
Fixed error noticed by valgrind in ha_partition::rnd_init()
sql/handler.cc:
Fixed compiler warning
sql/handler.h:
Fixed compiler warning
sql/item.cc:
Fixed compiler warning
sql/item_xmlfunc.cc:
Fixed warning from valgrind when calling memcpy with wrong address
sql/lock.cc:
More debugging
sql/log.cc:
Fixed compiler warning
Indentation fixes
sql/log.h:
Fixed compiler warning
sql/mysql_priv.h:
Changed prototype for 'drop_locked_tables'
sql/opt_range.cc:
Indentation fix
sql/password.c:
Removed compiler warnings
sql/set_var.cc:
Fixed compiler warning
sql/slave.cc:
Fixed compiler warning
sql/sp_head.cc:
Fixed compiler warning
sql/sql_acl.cc:
Fixed compiler warning
sql/sql_analyse.cc:
Added missing DBUG_RETURN statements
sql/sql_base.cc:
Removed de-reference of not initialized pointer
More comments
drop_locked_tables() changed to not delete tables used for name locking
Fixed compiler warnings
sql/sql_delete.cc:
Fixed usage of not initialized variable
(deleted could be referenced in some not common error conditions)
sql/sql_parse.cc:
Added missing DBUG_VOID_RETURN
Simplify code
sql/sql_partition.cc:
Fixed usage of wrong variable (noticed by valgrind)
sql/sql_plugin.cc:
Removed compiler warning
sql/sql_show.cc:
Removed compiler warning
sql/sql_table.cc:
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
Remove compile warnings about not initialized variables.
sql/sql_yacc.yy:
Ensure that no_write_to_binlog is properly initialized
(Was accessed uninitialized by partition code)
sql/table.cc:
Removed valgrind warnings (not fatal)
Removed compiler warnings
sql/tztime.cc:
Removed valgrind warning
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
Removed compiler warning
Diffstat (limited to 'sql/sql_analyse.cc')
-rw-r--r-- | sql/sql_analyse.cc | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc index af9246c673a..f372c55c13e 100644 --- a/sql/sql_analyse.cc +++ b/sql/sql_analyse.cc @@ -176,8 +176,7 @@ err: bool test_if_number(NUM_INFO *info, const char *str, uint str_len) { - const char *begin, *end = str + str_len; - + const char *begin, *end= str + str_len; DBUG_ENTER("test_if_number"); /* @@ -186,13 +185,13 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len) */ for (; str != end && my_isspace(system_charset_info, *str); str++) ; if (str == end) - return 0; + DBUG_RETURN(0); if (*str == '-') { info->negative = 1; - if (++str == end || *str == '0') // converting -0 to a number - return 0; // might lose information + if (++str == end || *str == '0') // converting -0 to a number + DBUG_RETURN(0); // might lose information } else info->negative = 0; @@ -210,33 +209,33 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len) int error; info->ullval= (ulonglong) my_strtoll10(begin, &endpos, &error); if (info->integers == 1) - return 0; // a single number can't be zerofill + DBUG_RETURN(0); // single number can't be zerofill info->maybe_zerofill = 1; - return 1; // a zerofill number, or an integer + DBUG_RETURN(1); // a zerofill number, or an integer } if (*str == '.' || *str == 'e' || *str == 'E') { - if (info->zerofill) // can't be zerofill anymore - return 0; - if ((str + 1) == end) // number was something like '123[.eE]' + if (info->zerofill) // can't be zerofill anymore + DBUG_RETURN(0); + if ((str + 1) == end) // number was something like '123[.eE]' { char *endpos= (char*) str; int error; info->ullval= (ulonglong) my_strtoll10(begin, &endpos, &error); - return 1; + DBUG_RETURN(1); } - if (*str == 'e' || *str == 'E') // number may be something like '1e+50' + if (*str == 'e' || *str == 'E') // number may be something like '1e+50' { str++; if (*str != '-' && *str != '+') - return 0; + DBUG_RETURN(0); for (str++; str != end && my_isdigit(system_charset_info,*str); str++) ; if (str == end) { - info->is_float = 1; // we can't use variable decimals here + info->is_float = 1; // we can't use variable decimals here return 1; } - return 0; + DBUG_RETURN(0); } for (str++; *(end - 1) == '0'; end--); // jump over zeros at the end if (str == end) // number was something like '123.000' @@ -244,17 +243,17 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len) char *endpos= (char*) str; int error; info->ullval= (ulonglong) my_strtoll10(begin, &endpos, &error); - return 1; + DBUG_RETURN(1); } for (; str != end && my_isdigit(system_charset_info,*str); str++) info->decimals++; if (str == end) { info->dval = my_atof(begin); - return 1; + DBUG_RETURN(1); } } - return 0; + DBUG_RETURN(0); } |