Commit graph

56733 commits

Author SHA1 Message Date
Daniel Fischer
bde5f92b31 Bug#42888 for MySQL 5.1. Add collections of test runs to make it both configurable and transparent what kinds of tests we run during integration testing. Implement filter list in mysql-test-run.pl to filter out failures of experimental test cases, using a new status code "exp-fail", so we can tell regressions ("fail") from failures of test cases that are still in development ("exp-fail"). 2009-02-24 12:53:34 +01:00
Alexey Botchkov
e641a297b0 merging. 2009-02-24 15:34:00 +04:00
Alexey Botchkov
a34bb2b8d8 merging. 2009-02-24 15:29:49 +04:00
Alexey Botchkov
f94eafb262 merging. 2009-02-24 15:22:37 +04:00
Alexey Botchkov
5a7d6382bf merging. 2009-02-24 15:17:50 +04:00
Daniel Fischer
54d05087f7 bug#42888: Add collections of test runs to make it both configurable and
transparent what kinds of tests we run during integration testing.
2009-02-24 11:42:11 +01:00
Chad MILLER
58cb964177 Null-merge 39370 fix. Unnecessary in 5.1. 2009-02-24 12:33:51 +02:00
Chad MILLER
e2eed1c5ce Merge bug 39370 fix from bug tree. 2009-02-24 12:31:42 +02:00
Chad MILLER
00aa5ad58a Bug#39370: wrong output for error code 153
Add all HA error numbers and descriptions to perror.

Add reminder to header.

This is already fixed in smarter ways in future codebases, and this 
codebase is unlikely to change, since new development is forbidden
here.
2009-02-24 12:05:37 +02:00
Davi Arnaut
e4f4765391 Bug#41110: crash with handler command when used concurrently with alter table
Bug#41112: crash in mysql_ha_close_table/get_lock_data with alter table

The problem is that the server wasn't handling robustly failures
to re-open a table during a HANDLER .. READ statement. If the
table needed to be re-opened due to it's storage engine being
altered to one that doesn't support HANDLER, a reference (dangling
pointer) to a closed table could be left in place and accessed in
later attempts to fetch from the table using the handler. Also,
if the server failed to set a error message if the re-open
failed. These problems could lead to server crashes or hangs.

The solution is to remove any references to a closed table and
to set a error if reopening a table during a HANDLER .. READ
statement fails.

mysql-test/include/handler.inc:
  Add test case for Bug#41110 and Bug#41112
mysql-test/r/handler_innodb.result:
  Add test case result for Bug#41110 and Bug#41112
mysql-test/r/handler_myisam.result:
  Add test case result for Bug#41110 and Bug#41112
sql/sql_handler.cc:
  Remove redundant reopen check.
  Set errors even if reopening table.
  Reset TABLE_LIST::table reference when the table is closed.
2009-02-24 10:49:18 +01:00
Davi Arnaut
11b20f27af Bug#41110: crash with handler command when used concurrently with alter table
Bug#41112: crash in mysql_ha_close_table/get_lock_data with alter table

The problem is that the server wasn't handling robustly failures
to re-open a table during a HANDLER .. READ statement. If the
table needed to be re-opened due to it's storage engine being
altered to one that doesn't support HANDLER, a reference (dangling
pointer) to a closed table could be left in place and accessed in
later attempts to fetch from the table using the handler. Also,
if the server failed to set a error message if the re-open
failed. These problems could lead to server crashes or hangs.

The solution is to remove any references to a closed table and
to set a error if reopening a table during a HANDLER .. READ
statement fails.

There is no test case in this change set as the test depends on
a testing feature only available on 5.1 and later.

sql/sql_handler.cc:
  Remove redundant reopen check.
  Set errors even if reopening table.
  Reset TABLE_LIST::table reference when the table is closed.
2009-02-24 10:15:21 +01:00
Tatiana A. Nurnberg
87fcb23d4b automerge 2009-02-24 09:33:04 +01:00
Tatiana A. Nurnberg
982f88fc31 automerge 2009-02-24 09:31:42 +01:00
Tatiana A. Nurnberg
565660edfa automerge 2009-02-24 09:07:40 +01:00
Tatiana A. Nurnberg
491db675bd automerge 2009-02-24 09:06:02 +01:00
Tatiana A. Nurnberg
7efa0aa7ca automerge 2009-02-24 08:19:45 +01:00
Tatiana A. Nurnberg
7a264c739b automerge 2009-02-24 08:06:18 +01:00
Tatiana A. Nurnberg
14a63ece37 automerge 2009-02-24 08:05:30 +01:00
Alexey Kopytov
144763db0c Manual merge mysql-5.0-bugteam -> mysql-5.1-bugteam. 2009-02-23 17:16:46 +02:00
Magnus Svensson
c7d0de3706 Bug#43112 mtr.pl --embedded fails to stop cluster processes 2009-02-23 15:52:23 +01:00
Alexey Kopytov
c893a5f0e2 Automerge. 2009-02-23 14:54:43 +02:00
Alexey Kopytov
d86c8af30e Automerge. 2009-02-23 14:53:51 +02:00
Alexey Kopytov
8ae8162403 Manual merge to 5.1. 2009-02-23 14:42:31 +02:00
Alexey Kopytov
0e62c9aa63 Fix for bug #15936: "round" differs on Windows to Unix
Both of our own implementations of rint(3) were inconsistent with the
most common behavior of rint() on those platforms that have it: round
to nearest, break ties by rounding to nearest even.

Fixed by leaving just one implementation of rint() in our source tree,
and changing its behavior to match the most common native
implementations on other platforms.

configure.in:
  Added checks for fenv.h and fesetround().
include/config-win.h:
  Removed the incorrect implementation of rint() for Windows.
include/my_global.h:
  Added an rint() implementation for platforms that do not have it.
mysql-test/r/func_math.result:
  Added a test case for bug #15936.
mysql-test/t/func_math.test:
  Added a test case for bug #15936.
sql/mysqld.cc:
  Explicitly set the FPU rounding mode with fesetround().
2009-02-23 14:28:26 +02:00
Tatiana A. Nurnberg
ec3decf610 auto-merge 2009-02-23 13:14:17 +01:00
Tatiana A. Nurnberg
c1d73f3350 auto-merge 2009-02-23 12:53:04 +01:00
Anurag Shekhar
e6babb70a6 merging with changes in bugteam branch. 2009-02-23 15:39:08 +05:30
Leonard Zhou
8f3f7992a0 merge 2009-02-23 16:49:22 +08:00
Leonard Zhou
2b3dfbc176 merge 2009-02-23 16:29:39 +08:00
Davi Arnaut
9fc083bd9a Post-merge fix: test depends on feature not available under embedded.
mysql-test/t/query_cache_28249.test:
  Test depends on process state (not updated under embedded)
2009-02-23 09:03:31 +01:00
Leonard Zhou
61d706a4f0 Bug#40013 mixed replication: row based format could lead to stale tmp tables on the
slave.

In mixed mode, if we create a temporary table and do some update which switch to ROW format,
the format will keep in ROW format until the session ends or the table is dropped explicitly. 
When the session ends, the temp table is dropped automaticly at cleanup time.
but it checks only current binlog format and so skip insertion of DROP TABLE instructions into binlog.
So the temp table can't be dropped correctly at slave.

Our solution is that when closing temp tables at cleanup time we check both binlog format and binlog mode,
and we could write DROP TABLE instructions into binlog if current binlog format is ROW but in MIX mode.

mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result:
  Test result file.
mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test:
  Test file.
sql/sql_base.cc:
  Didn't do binloging when both current format and default format are ROW.
2009-02-23 11:26:38 +08:00
Alfranio Correia
2d3ac117a4 Post-fix for BUG#38174. 2009-02-22 13:40:52 +00:00
Alfranio Correia
d822ab8957 BUG#38174 secure-file-priv breaks LOAD DATA INFILE replication in statement mode
If secure-file-priv was set on slave, it became unable to execute
LOAD DATA INFILE statements sent from master using mixed or
statement-based replication.
                  
This patch fixes the issue by ignoring this security restriction
and checking if the files are created and read by the slave in the
--slave-load-tmpdir while executing the SQL Thread.
2009-02-21 09:36:07 +00:00
Mattias Jonsson
9b36597ac1 merge 2009-02-20 17:02:02 +01:00
Mattias Jonsson
e7e5443a01 Backport of patch for bug#40003 from 6.0 to 5.1,
related to the backport of the patch for bug#38719

sql/ha_partition.cc:
  bug#40003, archive does not handle dup_key.
2009-02-20 16:56:32 +01:00
Patrick Crews
fb20a7d6d0 automerge 2009-02-20 08:40:28 -05:00
Patrick Crews
11a206a37c auto merge 2009-02-20 08:37:07 -05:00
Andrei Elkin
4712e6b9b8 Bug #37313 BINLOG Contains Incorrect server id
Signed integer format specifier forced to print the binlog header with server_id
negative if the unsigned value sets the sign-bit ON.
  
Fixed with correcting the specifier to correspond to typeof(server_id) == ulong.

mysql-test/r/mysqlbinlog.result:
  results changed.
mysql-test/t/mysqlbinlog.test:
  displaying the expected unsignedly formatted server_id value, bug#37313.
sql/log_event.cc:
  Format specifier is corrected to correspond to typeof(server_id).
2009-02-20 13:55:43 +02:00
Mattias Jonsson
9eaa51099c merge of updated 51-bugteam before pushing... 2009-02-20 11:45:57 +01:00
Mattias Jonsson
330f9fb5a5 merge into an updated 5.1-bugteam. 2009-02-20 11:21:45 +01:00
Georgi Kodinov
30bb35bcda auto merge 2009-02-20 11:57:33 +02:00
Georgi Kodinov
1f6d6fa905 merged 5.0-bugteam -> 5.1-bugteam 2009-02-20 11:50:50 +02:00
Georgi Kodinov
c1ddc60c69 fixed a warning 2009-02-20 11:42:35 +02:00
Mattias Jonsson
3d156e223e pre push test result update for bug#38719
Updated with the correct error message.
2009-02-20 10:27:32 +01:00
Georgi Kodinov
a67725ac75 Bug #42419: test suite fix
Moved the test case for the bug into a separate file (and restored the 
original innodb_mysql test setup).
Used the new wait_show_condition test macro to avoid the usage of sleep

mysql-test/include/wait_show_condition.inc:
  Bug #42419: new test macro to wait for a row in SHOW to have a certain value.
mysql-test/r/innodb_bug42419.result:
  Bug #42419: test case
mysql-test/r/innodb_mysql.result:
  Bug #42419: revert to the original innodb_mysql test
mysql-test/t/innodb_bug42419.test:
  Bug #42419: test case
mysql-test/t/innodb_mysql-master.opt:
  Bug #42419: revert to the original innodb_mysql test
mysql-test/t/innodb_mysql.test:
  Bug #42419: revert to the original innodb_mysql test
2009-02-20 11:12:06 +02:00
Patrick Crews
e9b4b536f3 merge 5.0 -> 5.1
These are only 5.0's fixes being merged.
5.1 and 6.0 Unix-removals will occur in different patches.
2009-02-19 18:24:25 -05:00
Patrick Crews
cf571967ad Bug#38831: 11 test cases fail on Windows due to missing commands
Re-enabling mysqlbinlog.test on Windows - removed the use of grep/sed
2009-02-19 16:35:29 -05:00
Davi Arnaut
664bb23a30 Bug#41098: Query Cache returns wrong result with concurrent insert
The problem is that select queries executed concurrently with
a concurrent insert on a MyISAM table could be cached if the
select started after the query cache invalidation but before
the unlock of tables performed by the concurrent insert. This
race could happen because the concurrent insert was failing
to prevent cache of select queries happening at the same time.

The solution is to add a 'uncacheable' status flag to signal
that a concurrent insert is being performed on the table and
that queries executing at the same time shouldn't cache the
results.

mysql-test/r/query_cache_debug.result:
  Add test case result for Bug#41098
mysql-test/t/disabled.def:
  Re-enable test case.
mysql-test/t/query_cache_debug.test:
  Add test case for Bug#41098
sql/sql_cache.cc:
  Debug sync point for regression testing purposes.
sql/sql_insert.cc:
  Remove meaningless query cache invalidate. There is already
  a preceding invalidate for queries that started before the
  concurrent insert.
storage/myisam/ha_myisam.cc:
  Check for a active concurrent insert.
storage/myisam/mi_locking.c:
  Signal the start of a concurrent insert. Flag is zeroed once
  the state is updated back.
storage/myisam/myisamdef.h:
  Add flag to signal a active concurrent insert.
2009-02-19 18:09:35 -03:00
Serge Kozlov
8e8c5bbe7a merge 5.1 2009-02-19 23:49:45 +03:00
Patrick Crews
79300d6f7f Bug#38831: 11 test cases fail on Windows due to missing commands
Replaced Unix calls with mysql-test-run's built-in functions / SQL manipulation where possible.
Replaced error codes with error names as well.
Disabled two tests on Windows due to more complex Unix command usage
See Bug#41307, Bug#41308
2009-02-19 15:37:40 -05:00