1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-20 10:24:14 +03:00
Commit Graph

26109 Commits

Author SHA1 Message Date
0cb63777a7 WL#4189 mtr.pl v2
- fix typo
2009-01-24 13:00:50 +01:00
dc00994962 Merge 2009-01-24 12:19:39 +01:00
7b93194c47 WL#4189 mtr.pl v2
- Don't save ndb_*_fs directory after test failure
2009-01-24 12:18:52 +01:00
a3185ce723 mtr.pl v2
- Add name of error log file to the erro log table to get better
   erorr message when warning is found
2009-01-24 12:09:36 +01:00
f4ea7624ae Remove debug printouts of all remaining tests when test suite has been terminated in the middle 2009-01-24 11:07:54 +01:00
0226941c09 mtr.pl v2
- Add debug prints for analyzing mkdir "Permission denied" failure
2009-01-24 11:05:38 +01:00
a7e67cba9a WL#4189 mtr.pl v2
- Rewrite "check testcase" to use LOAD DATA INFILE instead of 'load_file'
   in order to speed up the reading of the servers error log.

mysql-test/include/check-warnings.test:
  Use LOAD DATA to load the servers error log into error_log table and then
  call 'check_warning' stored procedure to filter out any unexpected warnings
2009-01-24 10:37:40 +01:00
02c57a12f3 due to merge 2009-01-23 19:26:59 +01:00
2775f86773 due to merge. 2009-01-23 19:21:08 +01:00
93991b6be9 Bug#42188: crash and/or memory corruption with user variables
in trigger

Interchangeable calls to the mysql_change_user client function
and invocations of a trigger changing some user variable caused
a memory corruption and a crash.

The mysql_change_user API call forces TDH::cleanup() on a server
that frees user variable entries.
However it didn't reset Item_func_set_user_var::entry to NULL
because Item_func_set_user_var::cleanup() was not overloaded.
So, Item_func_set_user_var::entry held a pointer to freed memory,
that caused a crash.

The Item_func_set_user_var::cleanup method has been overloaded
to cleanup the Item_func_set_user_var::entry field.


mysql-test/r/user_var.result:
  Added test case for bug #42188.
mysql-test/t/user_var.test:
  Added test case for bug #42188.
sql/item_func.cc:
  Bug#42188: crash and/or memory corruption with user variables
             in trigger
  
  The Item_func_set_user_var::cleanup method has been overloaded
  to cleanup the Item_func_set_user_var::entry field.
sql/item_func.h:
  Bug#42188: crash and/or memory corruption with user variables
             in trigger
  
  The Item_func_set_user_var::cleanup method has been overloaded
  to cleanup the Item_func_set_user_var::entry field.
2009-01-23 22:18:02 +04:00
d574142888 Fix for bug#39108: Set global wait timeout within the test, not more via opt file.
Deleted the opt file. Replaced the sleeps by wait condition. Made some beautyfications.
Inserted review results.
2009-01-23 18:19:09 +01:00
db337eb8d8 Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails
an additional changeset to remove printing a path name.

mysql-test/suite/rpl/r/rpl_cross_version.result:
  removing a local exec env dependency
mysql-test/suite/rpl/t/rpl_cross_version.test:
  refining a test to not have local exec env dependency.
2009-01-23 19:15:27 +02:00
00ca9099e6 merge from 5.1-bt to a local tree. 2009-01-23 19:10:13 +02:00
df8543868d merge: 5.1 -> 5.1-rpl
conflicts:
  Text conflict in client/mysqltest.cc
  Text conflict in mysql-test/include/wait_until_connected_again.inc
  Text conflict in mysql-test/lib/mtr_report.pm
  Text conflict in mysql-test/mysql-test-run.pl
  Text conflict in mysql-test/r/events_bugs.result
  Text conflict in mysql-test/r/log_state.result
  Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
  Text conflict in mysql-test/r/mysqlcheck.result
  Text conflict in mysql-test/r/query_cache.result
  Text conflict in mysql-test/r/status.result
  Text conflict in mysql-test/suite/binlog/r/binlog_index.result
  Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
  Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
  Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
  Text conflict in mysql-test/t/disabled.def
  Text conflict in mysql-test/t/events_bugs.test
  Text conflict in mysql-test/t/log_state.test
  Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
  Text conflict in mysql-test/t/mysqlcheck.test
  Text conflict in mysql-test/t/query_cache.test
  Text conflict in mysql-test/t/rpl_init_slave_func.test
  Text conflict in mysql-test/t/status.test
2009-01-23 13:22:05 +01:00
8c3389f386 Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails
It's a regression issue.
The reason of the bug appeared to be an error introduced into 5.1 source code.
A piece of code in Create_file_log_event::do_apply_event() did not have test
coverage which made make test and pb unaware.
      
Fixed with inverting the old value of the return value from 
Create_file_log_event::do_apply_event().
The rpl test suite is extended with `rpl_cross_version' the file to hold 
regression cases similar to the current.


mysql-test/suite/rpl/r/rpl_cross_version.result:
  new results file
mysql-test/suite/rpl/t/rpl_cross_version-master.opt:
  options to the server to be able to start replication to itself
mysql-test/suite/rpl/t/rpl_cross_version.test:
  regression test for bug#31240.
sql/log_event.cc:
  Correcting the return value from  Create_file_log_event::do_apply_event()
2009-01-22 16:55:14 +02:00
727707ac52 BUG#40143 federated.federated_server fails sporadically in pushbuild
The original goal of the test, as reported on BUG #25721, is to check whether 
a deadlock happens or not when concurrently CREATING/ALTERING/DROPPING the 
same server. For that a procedure (p1) is created that runs the exact same 
CREATE/ALTER/DROP statements for 10K iterations and two different connections 
(threads - t1 and t2) call p1 concurrently. At the end of the 10K iterations, 
the test checks if there was errors while running the loop (SELECT e >0).
      
The problem is that In some cases it may happen that one thread, t1, gets 
scheduled to execute with just enough time to complete the iteration and 
never bumps into the other thread t2. Meaning that t1 will never run into an 
SQL exception. On the other hand, the other thread, t2, may run into t1 and 
never issue any/part of its own statements because it will throw an SQLEXCEPTION. 
This is probably the case for failures where only one value differs.
      
Furthermore, there is a third scenario: both threads are scheduled to run 
interleaved for each iteration (or even one thread completes all iterations 
before the other starts). In this case, both will succeed without any error. 
This is probably the case for the failure that reports two different values.
      
This patch addresses the failure in pushbuild by removing the error counting 
and the printout (SELECT > 0) at the end of the test. A timeout should occur 
if the error that the test is checking surfaces.
2009-01-22 14:07:58 +01:00
2e3422fa71 updating to the latest bugteam-5.1 branch 2009-01-22 18:29:13 +05:30
6157433b2a Merge test case of Bug#40264 to mysql-5.1-bugteam
sql/sql_cache.cc:
  Assert that results are always complete.
2009-01-22 09:22:26 -02:00
ecfdc3560c Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit
The problem is that the query cache was storing partial results
if the statement failed when sending the results to the client.
This could cause clients to hang when trying to read the results
from the cache as they would, for example, wait indefinitely for
a eof packet that wasn't saved.

The solution is to always discard the caching of a query that
failed to send its results to the associated client.

mysql-test/r/query_cache_notembedded.result:
  Add test case result for Bug#40264
mysql-test/t/query_cache_notembedded.test:
  Add test case for Bug#40264
sql/sql_cache.cc:
  Abort if a unreported error was raised.
2009-01-22 08:28:01 -02:00
88a36a2157 Changes to WL#4681 to merge to 5.1-main tree. 2009-01-22 11:14:16 +01:00
4a3e9851cf TestCase for BUG#41574 - REPAIR TABLE: crashes for compressed tables
Extending the existing testcase written for BUG#40949 to verify
repair table operation for compressed tables



mysql-test/r/myisampack.result:
  Modified result file for myisampack.test
mysql-test/t/myisampack.test:
  Modified Testcase to test repair operation for compressed tables
2009-01-22 11:25:26 +05:30
d3629d7489 Merge from Tim's 5.0.76-release tree to make 5.0.77 . 2009-01-21 13:45:23 -05:00
c2a4f3901b Bug#35735 mysql-test-run.pl creates tmpdir for socket path longer than 70
- Additional patch with improved protection by putting it all inside an "eval"
 - Calling 'hostpath' on a truncated socket may also croak.
 - Remove the need to create any directory parts of "path" inside the function.
2009-01-21 18:18:03 +01:00
4562b69fed Bug#30128: The reason that sometimes events were executed because without STARTS
clause server fires immediately after creating event and time between create and delete
event sometimes is enough for firing. So adding STARTS clause moves first execution in
future after drop of event
1. Added STARTS clause for CREATE EVENT.
2. Updated result file.
2009-01-21 18:48:12 +03:00
bf33a3fa89 Merge 2009-01-21 14:41:50 +01:00
46d1e28679 Auto merge 2009-01-21 18:39:11 +08:00
d7529bf160 Auto merge 2009-01-21 18:28:51 +08:00
9c76ec9323 Bug#39972 mysql-test-run.pl: Confusing error message under special conditions
- Fix problem with for example ./mtr --timer, caused by new version of "Getopt::Long"
 - Evaluating the "$opt" variable as a string, returns the name of the parameter
   to be modified instead of "Getopt::Long::Callback" which is the class name
2009-01-21 11:17:16 +01:00
b7a66485ca BUG#41653 rpl_innodb_bug30888 fails sporadically on pushbuild: warning in log
In mtr.check_warnings, `text` was declares as type text, which is
64K, and when the server log grows larger than this, it would be
truncated, and then check_warnings was actually checking the 
error messages of a previous test and complain warnings.

This patch fixed the problem by change the type of `text` to
mediumtext, which is 16M.

mysql-test/include/mtr_warnings.sql:
  change the type of `text` to mediumtext
2009-01-21 17:59:31 +08:00
089663f9a7 Bug #40399 Please make mtr print stack trace after every failure
SIGABRT is sent to relevant processes after a timeout


client/mysqltest.cc:
  Fixed signal handlers to mysqltest actually dumps core
mysql-test/lib/My/CoreDump.pm:
  Added support for dbx
mysql-test/lib/My/SafeProcess.pm:
  Added dump_core to force process to dump core
mysql-test/lib/My/SafeProcess/safe_process.cc:
  Traps SIGABRT and sends this on to child
mysql-test/mysql-test-run.pl:
  When test times out, force core dumps on mysqltest and servers
2009-01-21 10:34:01 +01:00
b93fb0ab5f BUG#41177 mtr gives no debug info after failing to execute check-testcase/check-warnings
Log output of mysqltest when running check-testcase together
with errput. Remove --silent option for mysqltest when running
check-testcase/check-warnings


mysql-test/mysql-test-run.pl:
  Log output of mysqltest when runinng check-testcase together with errput.
  Remove --silent option for mysqltest when running check-testcase/check-warnings
2009-01-21 17:32:05 +08:00
237ef78e1c Adding a test to verify that Bug#27208 "If no current database,
character_set_database !=character_set_server" is fixed.
2009-01-20 16:59:20 +01:00
33ff35305d Auto-merge from upstream 5.1-bugteam 2009-01-16 17:33:24 +01:00
4d8e73c818 merged 5.0-bugteam -> 5.1-bugteam 2009-01-16 17:38:38 +02:00
bdec5458ae auto merge 2009-01-16 16:48:41 +02:00
b385a2d8a5 merged 5.0-bugteam -> 5.1-bugtteam 2009-01-16 12:45:17 +02:00
683542698f merged Bug 38795 to 5.0-bugteam 2009-01-15 16:15:38 +02:00
637d488027 Post-merge fix for Bug#36326
mysql-test/r/cache_innodb.result:
  Update test case result.
2009-01-15 11:38:49 -02:00
eb09f64a78 Bug#31222: adding missed file. 2009-01-15 14:58:32 +03:00
e48c7178f7 Merge from 5.0-bugteam 2009-01-15 08:28:10 -02:00
852d1d66f6 Pull from 5.0-bugteam 2009-01-15 13:10:20 +03:00
91e5423c64 Merge backport of patch for Bug#31222 from 5.0 to 5.1 2009-01-15 12:56:05 +03:00
9a6e05d8b9 Backport patch for Bug#31222 (com_% global status counters behave randomly
with mysql_change_user) to 5.0.
2009-01-15 12:36:34 +03:00
bb42e1ab05 Bug#35701 please allow test language variables in connection and
sync_slave_with_master
 - Additional patch for "disconnect $variable"
2009-01-15 09:05:51 +01:00
7a23cfaac9 bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers
Post-fix test failure: fixed mysqlcheck.test on Windows platforms.


mysql-test/r/mysqlcheck.result:
  fixed mysqlcheck.test on Windows platforms.
mysql-test/t/mysqlcheck.test:
  fixed mysqlcheck.test on Windows platforms.
2009-01-15 00:54:25 +04:00
57a083d5b1 Auto-merge from upstream 5.1-bugteam 2009-01-14 16:50:51 +01:00
53e42d9ee4 Fix for
bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
triggers
and
#41385: Crash when attempting to repair a #mysql50# upgraded table
with triggers.

Problem:
1. trigger code didn't assume a table name may have
a "#mysql50#" prefix, that may lead to a failing ASSERT().
2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed
for databases with "#mysql50#" prefix if any trigger.
3. mysqlcheck --fix-table-name didn't use UTF8 as a default
character set that resulted in (parsing) errors for tables with
non-latin symbols in their names and definitions of triggers.

Fix:
1. properly handle table/database names with "#mysql50#" prefix.
2. handle --default-character-set mysqlcheck option;
if mysqlcheck is launched with --fix-table-name or --fix-db-name
set default character set to UTF8 if no --default-character-set
option given.

Note: if given --fix-table-name or --fix-db-name option,
without --default-character-set mysqlcheck option
default character set is UTF8.


client/mysqlcheck.c:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check and set default charset if --default-character-set option
      given.
    - set default charset to "utf8" if there's
      --fix-table-name or --fix-db-name and no --default-character-set.
mysql-test/r/mysqlcheck.result:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test result.
mysql-test/t/mysqlcheck.test:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test case.
sql/mysql_priv.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check_n_cut_mysql50_prefix() introduced.
sql/sql_table.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - tablename_to_filename() code split into 2 parts
    - check_n_cut_mysql50_prefix() introduced to cut #mysql50# prefixes,
      used in the trigger code as well.
sql/sql_trigger.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - Table_triggers_list::check_n_load() - checking triggers assume
      a table/database name given may have "#mysql50#" prefix in some cases.
    - Table_triggers_list::change_table_name_in_triggers() -
      create .TRG file in new database directory and delete it in old one,
      as they may differ in case of
      "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME"
    - Table_triggers_list::change_table_name_in_trignames() - remove stale .TRN
      files in #mysql50#dbname directory in case of database upgrade
    - Table_triggers_list::change_table_name() - allow changing trigger's
      database in case of its upgrading
sql/sql_trigger.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - new old_db_name parameter added in
      Table_triggers_list::change_table_name_in_trignames() and
      Table_triggers_list::change_table_name_in_triggers()
2009-01-14 18:50:51 +04:00
45140a8ea3 Auto merge 2009-01-14 17:32:25 +08:00
f2c122bf90 BUG#41986 Replication slave does not pick up proper AUTO_INCREMENT value for Innodb tables
The next number (AUTO_INCREMENT) field of the table for write
rows events are not initialized, and cause some engines (innodb)
not correctly update the tables's auto_increment value.

This patch fixed this problem by honor next number fields if present.

mysql-test/extra/rpl_tests/rpl_auto_increment.test:
  Add test code for BUG#41986
mysql-test/suite/rpl/r/rpl_auto_increment.result:
  update test result file for BUG#41986
sql/log_event.cc:
  set next_number_field before writing rows, and reset next_number_field after finished writing rows
2009-01-14 16:27:32 +08:00
80e659a2ed Fix Bug #35261: date_format test fails if new variables LIKE '%e_format' are added
Use SELECT FROM INFORMATION_SCHEMA instead of SHOW VARIABLES LIKE to restrict
values correctly.
2009-01-13 23:29:11 +01:00