valgrind pointed to a buffer allocated by my_realloc which looked fishy
Replaced size with what was probably intended, added test case.
Now also fixed line after review comment
Original revision:
------------------------------------------------------------
revno: 3817
revision-id: guilhem@mysql.com-20100108092756-k0zzf4kvx9b7bh38
parent: guilhem@mysql.com-20100107101133-hrrgcdqg508runuf
committer: Guilhem Bichot <guilhem@mysql.com>
branch nick: mysql-6.0-codebase-bugfixing
timestamp: Fri 2010-01-08 10:27:56 +0100
message:
fix for BUG#50120 "Valgrind errors in any test, inside mysqltest"
Problem was that as v->name[v->name_len] may be uninitialized (which is ok per se),
it shouldn't be used in an if(). We remove this zero_the_char/restore_it logic by
rather zero-terminating the v->name string when we create it in var_init().
------------------------------------------------------------
Simplify testing of needed characterset
Remove ndb from --with-plugins=max build
mysqlbug now sends email to maria-developers@lists.launchpad.net
client/mysqltest.cc:
SKIP now expands variables (for better error messages)
mysql-test/include/have_big5.inc:
Simplify by using have_collation.inc
mysql-test/include/have_collation.inc:
Test if '$collation' is supported
mysql-test/include/have_cp1250_ch.inc:
Simplify by using have_collation.inc
mysql-test/include/have_cp1251.inc:
Simplify by using have_collation.inc
mysql-test/include/have_cp866.inc:
Simplify by using have_collation.inc
mysql-test/include/have_cp932.inc:
Simplify by using have_collation.inc
mysql-test/include/have_eucjpms.inc:
Simplify by using have_collation.inc
mysql-test/include/have_euckr.inc:
Simplify by using have_collation.inc
mysql-test/include/have_gb2312.inc:
Simplify by using have_collation.inc
mysql-test/include/have_gbk.inc:
Simplify by using have_collation.inc
mysql-test/include/have_koi8r.inc:
Simplify by using have_collation.inc
mysql-test/include/have_latin2_ch.inc:
Simplify by using have_collation.inc
mysql-test/include/have_sjis.inc:
Simplify by using have_collation.inc
mysql-test/include/have_tis620.inc:
Simplify by using have_collation.inc
mysql-test/include/have_ucs2.inc:
Simplify by using have_collation.inc
mysql-test/include/have_ujis.inc:
Simplify by using have_collation.inc
mysql-test/include/have_utf8.inc:
Simplify by using have_collation.inc
mysql-test/r/create-uca.result:
Create tests that uses unicode
mysql-test/r/create.result:
Move test with unicode to create-uca.test
mysql-test/r/have_big5.require:
Not needed anymore
mysql-test/r/have_cp1250_ch.require:
Not needed anymore
mysql-test/r/have_cp1251.require:
Not needed anymore
mysql-test/r/have_cp866.require:
Not needed anymore
mysql-test/r/have_cp932.require:
Not needed anymore
mysql-test/r/have_eucjpms.require:
Not needed anymore
mysql-test/r/have_euckr.require:
Not needed anymore
mysql-test/r/have_gb2312.require:
Not needed anymore
mysql-test/r/have_gbk.require:
Not needed anymore
mysql-test/r/have_koi8r.require:
Not needed anymore
mysql-test/r/have_latin2_ch.require:
Not needed anymore
mysql-test/r/have_sjis.require:
Not needed anymore
mysql-test/r/have_tis620.require:
Not needed anymore
mysql-test/r/have_ucs2.require:
Not needed anymore
mysql-test/r/have_ujis.require:
Not needed anymore
mysql-test/r/have_utf8.require:
Not needed anymore
mysql-test/r/innodb.result:
Move tests that depends on unicode to innodb_utf8.test
mysql-test/r/innodb_utf8.result:
Test moved from innodb.test
mysql-test/suite/rpl/t/rpl_ignore_table.test:
Test for required collations
mysql-test/t/create-uca.test:
Create tests that uses unicode
mysql-test/t/create.test:
Move test with unicode to create-uca.test
mysql-test/t/ctype_utf8.test:
Test that require unicode
mysql-test/t/ddl_i18n_koi8r.test:
Test for required collations
mysql-test/t/ddl_i18n_utf8.test:
Test for required collations
mysql-test/t/fulltext.test:
Test for required collations
mysql-test/t/fulltext2.test:
Test for required collations
mysql-test/t/innodb.test:
Move tests that depends on unicode to innodb_utf8.test
mysql-test/t/innodb_utf8.test:
Tests that uses unicode
mysql-test/t/query_cache_ps_no_prot.test:
Test for required collations
mysql-test/t/query_cache_ps_ps_prot.test:
Test for required collations
scripts/mysqlbug.sh:
Send emails to maria-developers@lists.launchpad.net
storage/ndb/plug.in:
Don't include ndb in 'max' builds
Bug#16565 mysqld --help --verbose does not order variablesBug#20413 sql_slave_skip_counter is not shown in show variables
Bug#20415 Output of mysqld --help --verbose is incomplete
Bug#25430 variable not found in SELECT @@global.ft_max_word_len;
Bug#32902 plugin variables don't know their names
Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting!
Bug#34829 No default value for variable and setting default does not raise error
Bug#34834 ? Is accepted as a valid sql mode
Bug#34878 Few variables have default value according to documentation but error occurs
Bug#34883 ft_boolean_syntax cant be assigned from user variable to global var.
Bug#37187 `INFORMATION_SCHEMA`.`GLOBAL_VARIABLES`: inconsistent status
Bug#40988 log_output_basic.test succeeded though syntactically false.
Bug#41010 enum-style command-line options are not honoured (maria.maria-recover fails)
Bug#42103 Setting key_buffer_size to a negative value may lead to very large allocations
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
Bug#44797 plugins w/o command-line options have no disabling option in --help
Bug#46314 string system variables don't support expressions
Bug#46470 sys_vars.max_binlog_cache_size_basic_32 is broken
Bug#46586 When using the plugin interface the type "set" for options caused a crash.
Bug#47212 Crash in DBUG_PRINT in mysqltest.cc when trying to print octal number
Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds
Bug#49417 some complaints about mysqld --help --verbose output
Bug#49540 DEFAULT value of binlog_format isn't the default value
Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix)
Bug#49644 init_connect and \0
Bug#49645 init_slave and multi-byte characters
Bug#49646 mysql --show-warnings crashes when server dies
CMakeLists.txt:
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
client/mysql.cc:
don't crash with --show-warnings when mysqld dies
config/ac-macros/plugins.m4:
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
include/my_getopt.h:
comments
include/my_pthread.h:
fix double #define
mysql-test/mysql-test-run.pl:
run sys_vars suite by default
properly recognize envirinment variables (e.g. MTR_MAX_SAVE_CORE) set to 0
escape gdb command line arguments
mysql-test/suite/sys_vars/r/rpl_init_slave_func.result:
init_slave+utf8 bug
mysql-test/suite/sys_vars/t/rpl_init_slave_func.test:
init_slave+utf8 bug
mysys/my_getopt.c:
Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting!
Bug#46586 When using the plugin interface the type "set" for options caused a crash.
Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix)
mysys/typelib.c:
support for flagset
sql/ha_ndbcluster.cc:
backport from telco tree
sql/item_func.cc:
Bug#49644 init_connect and \0
Bug#49645 init_slave and multi-byte characters
sql/sql_builtin.cc.in:
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
sql/sql_plugin.cc:
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
Bug#32902 plugin variables don't know their names
Bug#44797 plugins w/o command-line options have no disabling option in --help
sql/sys_vars.cc:
all server variables are defined here
storage/myisam/ft_parser.c:
remove unnecessary updates of param->quot
storage/myisam/ha_myisam.cc:
myisam_* variables belong here
strings/my_vsnprintf.c:
%o and %llx
unittest/mysys/my_vsnprintf-t.c:
%o and %llx tests
vio/viosocket.c:
bugfix: fix @@wait_timeout to work with socket timeouts (vs. alarm thread)
Author: Antony Curtis
License: BSD
client/mysql.cc:
Reset variable if CTRL-C was used to kill running query, so that the user can do it again
client/mysqlcheck.c:
Indentation fix
client/mysqlslap.c:
Indentation fixes
client/mysqltest.cc:
Make testing of commands safer by also testing length
Removed not used variable
Fixed indentation to be as it was before last patch
mysql-test/lib/mtr_report.pm:
Fixed typo
mysql-test/mysql-test-run.pl:
Merge (Align code with default mysql-tes-run.pl)
mysql-test/suite/federated/disabled.def:
Removed test case
storage/federatedx/ha_federatedx.cc:
Removed my changes and applied Antony's instead
- Moved some code from innodb_plugin to xtradb, to ensure that all tests runs
- Did changes in pbxt and maria storage engines becasue of changes in thd->query
- Reverted wrong code in sql_table.cc for how ROW_FORMAT is used.
This is a re-commit of Monty's merge to eliminate an extra commit from
MySQL-5.1.42 that was accidentally included in the merge.
This is a merge of the MySQL 5.1.41 clone-off (clone-5.1.41-build). In
case there are any extra changes done before final MySQL 5.1.41
release, these will need to be merged later before MariaDB 5.1.41
release.
- Moved some code from innodb_plugin to xtradb, to ensure that all tests runs
- Did changes in pbxt and maria storage engines becasue of changes in thd->query
- Reverted wrong code in sql_table.cc for how ROW_FORMAT is used.
Todo before joining with main 5.1 tree:
- Join test fails (Igor to investigate)
- mysql-test-run shows warnings from tests; Some suppression rule is not working (Kristian to investiage)
- Run through all buildbots
sql/sql_table.cc:
Reverted code for ROW_FORMAT is used. We must set the HA_CREATE_USED_ROW_FORMAT flag in alter table
to signal the handler that it should not change row_type in update_create_info() (as happens for SHOW CREATE).
storage/maria/ha_maria.cc:
Update for change in defintion of thd->query
storage/myisam/mi_check.c:
Simplify code
storage/pbxt/src/discover_xt.cc:
Update for change in defintion of thd->query
storage/xtradb/dict/dict0dict.c:
Update for change in defintion of thd->query
storage/xtradb/handler/ha_innodb.cc:
Copy some critical changes from innodb_plugin to get tests to pass
storage/xtradb/handler/ha_innodb.h:
Copy some critical changes from innodb_plugin to get tests to pass
storage/xtradb/handler/handler0alter.cc:
Copy some critical changes from innodb_plugin to get tests to pass
The additional patch. That 'loadxml.test' failure was actually about our testing system,
not the code.
Firstly we need a new mysqltest command, wich i called 'send_eval'. So the expression
can be evaluated, then started in a parallel thread. We only have separane 'send' and
'eval' commands at the moment.
Then we need to add the waiting code after the 'KILL' to our test, so the thread will be killed
before the test goes further. The present 'reap' command doesn't handle the killed threads
well.
per-file comments:
client/mysqltest.cc
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
The 'send_eval' command implemented.
mysql-test/r/loadxml.result
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
test result updated.
mysql-test/t/loadxml.test
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
test case added.