1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-28 17:15:19 +03:00
Commit Graph

24377 Commits

Author SHA1 Message Date
Bjorn Munch
c18e4b42b3 suppression for rpl.rpl_get_master_version_and_clock was incomplete 2009-09-05 18:50:31 +02:00
Bjorn Munch
645f7841cf followup fixes after merge to -trunk 2009-09-05 09:40:18 +02:00
Bjorn Munch
29a142043e initial merge from 5.1-mtr 2009-09-04 15:20:58 +02:00
Bjorn Munch
4d676f314c Bug #47075 Wildcards in experimental test names destroyed when tested first time
Extract substr into local variable
2009-09-03 08:19:54 +02:00
Bjorn Munch
fe3ea31d93 Bug #32296 mysqltest fails to parse "append_file" inside a "while", it works inside
a "if"
Bug #41913 mysqltest cannot source files from if inside while
Some commands require additional processing which only works first time
Keep content for write_file or append_file with the st_command struct
Add tests for those cases to mysqltest.test
2009-09-02 11:17:33 +02:00
Bjorn Munch
d4854d7494 merge 2009-09-01 19:31:28 +02:00
Bjorn Munch
3a78dbe482 46996 workaruond 2009-09-01 13:38:17 +02:00
Bjorn Munch
822f810375 merge 2009-08-31 15:22:54 +02:00
Bjorn Munch
5166a56d04 forgot : in rpl's disabled.def 2009-08-31 09:24:59 +02:00
Bjorn Munch
02f67d5b1f yet another 42408 followup 2009-08-30 12:01:08 +02:00
Bjorn Munch
aa7e21c68f even more suppression fixes 2009-08-29 23:29:47 +02:00
Bjorn Munch
abe47a0ebe A few more suppression fixes after 42408 2009-08-29 10:30:59 +02:00
Bjorn Munch
fa4f05139d Bug #42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log
Some follow-up test fixes after seeing effect in PB2
2009-08-28 16:13:27 +02:00
Bjorn Munch
de5ab42de6 Bug #46973 MTR: extract_warning_lines does not check it's extracting lines for current test
Rewrote logic (first commit was incomplete, sorry)
2009-08-28 15:02:48 +02:00
Bjorn Munch
9a8ef8f7a4 Bug #46322 Sporadic timeout in mysql_upgrade.test
Apparently caused by logging to table
Turn on logging to file only, add to .opt file for tests needing log to table
2009-08-27 15:17:09 +02:00
Alexander Nozdrin
09d01ba615 Merge from mysql-5.1-bugteam 2009-08-26 19:43:32 +04:00
Guilhem Bichot
24ebb184ca fix for Bug#46897 'Test "index_merge_innodb" fails (mostly)':
that was already analyzed by Oracle: EXPLAIN can return 3 or 4 in "rows"; using replace_column to work around this.

mysql-test/include/index_merge2.inc:
  replace "rows" column of some EXPLAINs by "#", if told so
mysql-test/r/index_merge_innodb.result:
  result update
mysql-test/t/index_merge_innodb.test:
  tell index_merge2.inc to accept random "rows" values in some EXPLAINs; we don't do this in index_merge_myisam.test
  which has no randomness here.
2009-08-25 17:53:43 +02:00
Bjorn Munch
3a76649291 Bug #42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log
Enabled proper pattern for Warnings and ERRORs
Added some suppressions
2009-08-25 15:56:50 +02:00
Davi Arnaut
fc39459504 Bug#45261: Crash, stored procedure + decimal
The problem was that creating a DECIMAL column from a decimal
value could lead to a failed assertion as decimal values can
have a higher precision than those attached to a table. The
assert could be triggered by creating a table from a decimal
with a large (> 30) scale. Also, there was a problem in
calculating the number of digits in the integral and fractional
parts if both exceeded the maximum number of digits permitted
by the new decimal type.

The solution is to ensure that truncation procedure is executed
when deducing a DECIMAL column from a decimal value of higher
precision. If the integer part is equal to or bigger than the
maximum precision for the DECIMAL type (65), the integer part
is truncated to fit and the fractional becomes zero. Otherwise,
the fractional part is truncated to fit into the space left
after the integer part is copied.

This patch borrows code and ideas from Martin Hansson's patch.

mysql-test/r/type_newdecimal.result:
  Add test case result for Bug#45261. Also, update test case to
  reflect that an additive operation increases the precision of
  the resulting type by 1.
mysql-test/t/type_newdecimal.test:
  Add test case for Bug#45261
sql/field.cc:
  Added DBUG_ASSERT to ensure object's invariant is maintained.
  Implement method to create a field to hold a decimal value
  from an item.
sql/field.h:
  Explain member variable. Add method to create a new decimal field.
sql/item.cc:
  The precision should only be capped when storing the value
  on a table. Also, this makes it impossible to calculate the
  integer part if Item::decimals (the scale) is larger than the
  precision.
sql/item.h:
  Simplify calculation of integer part.
sql/item_cmpfunc.cc:
  Do not limit the precision. It will be capped later.
sql/item_func.cc:
  Use new method for allocating a new decimal field.
  Add a specialized method for retrieving the precision
  of a user variable item.
sql/item_func.h:
  Add method to return the precision of a user variable.
sql/item_sum.cc:
  Use new method for allocating a new decimal field.
sql/my_decimal.h:
  The integer part could be improperly calculated for a decimal
  with 31 digits in the fractional part.
sql/sql_select.cc:
  Use new method which truncates the integer or decimal parts
  as needed.
2009-08-24 16:47:08 -03:00
Alfranio Correia
9a632549da auto-merge mysql-5.1-bugteam (local) --> mysql-5.1-bugteam 2009-08-24 10:24:52 +01:00
Mattias Jonsson
8b0ec01448 merge 2009-08-21 18:00:38 +02:00
Mattias Jonsson
a4e832d69d Bug#46639: 1030 (HY000): Got error 124 from storage engine on
INSERT ... SELECT ...

Problem was that when bulk insert is used on an empty
table/partition, it disables the indexes for better
performance, but in this specific case it also tries
to read from that partition using an index, which is
not possible since it has been disabled.

Solution was to allow index reads on disabled indexes
if there are no records.

Also reverted the patch for bug#38005, since that was a workaround
in the partitioning engine instead of a fix in myisam.

mysql-test/r/partition.result:
  Bug#46639: 1030 (HY000): Got error 124 from storage engine on
  INSERT ... SELECT ...
  
  updated result file
mysql-test/t/partition.test:
  Bug#46639: 1030 (HY000): Got error 124 from storage engine on
  INSERT ... SELECT ...
  
  Added testcase
sql/ha_partition.cc:
  Bug#46639: 1030 (HY000): Got error 124 from storage engine on
  INSERT ... SELECT ...
  
  reverted the patch for bug#38005, since that was a workaround
  around this problem, not needed after fixing it in myisam.
storage/myisam/mi_search.c:
  Bug#46639: 1030 (HY000): Got error 124 from storage engine on
  INSERT ... SELECT ...
  
  Return HA_ERR_END_OF_FILE instead of HA_ERR_WRONG_INDEX
  when there are no rows.
2009-08-21 17:38:29 +02:00
Georgi Kodinov
787a4940ca reverted the fix for bug #46019 from 5.1-bugteam 2009-08-21 17:41:48 +03:00
Georgi Kodinov
8723e9d226 automerge 2009-08-21 17:12:03 +03:00
Georgi Kodinov
66ce3dee92 Revert of the fix for bug #46019. 2009-08-21 17:10:55 +03:00
Martin Hansson
8f75260b7d Merge. 2009-08-21 14:31:40 +02:00
Martin Hansson
b011f1ea1c Merge. 2009-08-21 12:13:03 +02:00
Ramil Kalimullin
fb9ba3734b Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
(temporary) TABLE, crash

Problem: if one has an open "HANDLER t1", further "TRUNCATE t1" 
doesn't close the handler and leaves handler table hash in an 
inconsistent state, that may lead to a server crash.

Fix: TRUNCATE should implicitly close all open handlers.

Doc. request: the fact should be described in the manual accordingly.


mysql-test/r/handler_myisam.result:
  Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
  (temporary) TABLE, crash
    - test result.
mysql-test/t/handler_myisam.test:
  Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
  (temporary) TABLE, crash
    - test case.
sql/sql_delete.cc:
  Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
   (temporary) TABLE, crash
    - remove all truncated tables from the HANDLER's hash.
2009-08-21 10:55:35 +05:00
Georgi Kodinov
1317d24b33 merge of bug #46019 to 5.1-bugteam 2009-08-20 17:11:22 +03:00
Martin Hansson
acdbef4520 Bug#46616: Merge
mysql-test/r/auto_increment.result:
  Bug#46616: Test result.
mysql-test/t/auto_increment.test:
  Bug#46616: Test case.
sql/sql_update.cc:
  Bug#46616: Fix.
2009-08-20 14:30:59 +02:00
Martin Hansson
e66fba53a7 Bug#46616: Assertion `!table->auto_increment_field_not_null' on
view manipulations
      
The bespoke flag was not properly reset after last call to 
fill_record. Fixed by resetting in caller mysql_update.

mysql-test/r/auto_increment.result:
  Bug#46616: Test result.
mysql-test/t/auto_increment.test:
  Bug#46616: Test case.
sql/sql_update.cc:
  Bug#46616: Fix.
2009-08-20 13:56:29 +02:00
Georgi Kodinov
0665536995 Bug #46019: ERROR 1356 When selecting from within another
view that has Group By
      
Table access rights checking function check_grant() assumed
that no view is opened when it's called.
This is not true with nested views where the inner view
needs materialization. In this case the view is already 
materialized when check_grant() is called for it.
This caused check_grant() to not look for table level
grants on the materialized view table.
Fixed by checking if a view is already materialized and if 
it is check table level grants using the original table name
(not the ones of the materialized temp table).
2009-08-19 15:14:57 +03:00
Bjorn Munch
d19eda4a9b Bug #39003 mtr's diff_files command failed in pushbuild without printing a result diff
diff was actually called but result never outputted before exiting
Added extra code to dump output *unless* failure was expected
2009-08-19 13:48:56 +02:00
Bjorn Munch
4692054b18 merge 2009-08-18 09:40:20 +02:00
Bjorn Munch
ca7bf9fad5 Bug #44222 mysql-test-run --start analyses which tests it would skip. This is redundant.
Quicker test collection and better output with --start[-dirty]
2009-08-18 09:38:18 +02:00
Georgi Kodinov
def7b58466 automerge 2009-08-17 17:14:51 +03:00
Bjorn Munch
e5ae860e32 Bug #46755 Wrong grammar in some skip messages: Test need instead of Test needs
Fixed in two comments as well
2009-08-17 11:21:02 +02:00
Ramil Kalimullin
a6ddf8b18a Automerge 2009-08-14 14:13:16 +05:00
Davi Arnaut
1c2556ff46 Merge from mysql-5.0-bugteam. 2009-08-13 17:45:01 -03:00
Ramil Kalimullin
3b1280fa7e Fix for bug #46614: Assertion in show_create_trigger()
on SHOW CREATE TRIGGER + MERGE table

Problem: SHOW CREATE TRIGGER erroneously relies on fact
that we have the only underlying table for a trigger
(wrong for merge tables).

Fix: remove erroneous assert().


mysql-test/r/merge.result:
  Fix for bug #46614: Assertion in show_create_trigger() 
  on SHOW CREATE TRIGGER + MERGE table
    - test result.
mysql-test/t/merge.test:
  Fix for bug #46614: Assertion in show_create_trigger() 
  on SHOW CREATE TRIGGER + MERGE table
    - test case.
sql/sql_show.cc:
  Fix for bug #46614: Assertion in show_create_trigger() 
  on SHOW CREATE TRIGGER + MERGE table
    - unnecessary assert() removed as we may have more than 1 
  tables open e.g. for a merge table.
2009-08-14 00:49:28 +05:00
Alfranio Correia
78585a25ff BUG#46130 Slave does not correctly handle "expected errors"
In STATEMENT based replication, a statement that failed on the master but that
updated non-transactional tables is written to binary log with the error code
appended to it. On the slave, the statement is executed and the same error is
expected. However, when an "expected error" did not happen on the slave and was
either ignored or was related to a concurrency issue on the master, the slave
did not rollback the effects of the statement and as such inconsistencies might
happen.

To fix the problem, we automatically rollback a statement that should have
failed on a slave but succeded and whose expected failure is either ignored or
stems from a concurrency issue on the master.
2009-08-13 17:21:01 +01:00
Bjorn Munch
2000cef72a Bug #44979 Enhance MTR --experimental to support platform qualifier
Adding @<platform> syntax
2009-08-13 15:29:19 +02:00
unknown
fce4fa362c BUG#45574 CREATE IF NOT EXISTS is not binlogged if the object exists
There is an inconsistency with DROP DATABASE|TABLE|EVENT IF EXISTS and
CREATE DATABASE|TABLE|EVENT IF NOT EXISTS. DROP IF EXISTS statements are
binlogged even if either the DB, TABLE or EVENT does not exist. In
contrast, Only the CREATE EVENT IF NOT EXISTS is binlogged when the EVENT
exists.  

This patch fixes the following cases for all the replication formats:
CREATE DATABASE IF NOT EXISTS.
CREATE TABLE IF NOT EXISTS,
CREATE TABLE IF NOT EXISTS ... LIKE,
CREAET TABLE IF NOT EXISTS ... SELECT.

sql/sql_insert.cc:
  Part of the code was moved from the create_table_from_items to select_create::prepare.
  When replication is row based, CREATE TABLE IF NOT EXISTS.. SELECT is binlogged if the table exists.
2009-08-13 10:48:57 +08:00
Guilhem Bichot
a0d38e8f08 merge of 5.1-build into trunk, to get one vardir per test run 2009-08-12 17:58:58 +02:00
Daniel Fischer
b50f05e67a Create separate vardirs during collections test runs. 2009-08-12 17:10:15 +02:00
Guilhem Bichot
918c4a7501 8M was too small for the InnoDB data file, needs 10M.
Updating test for smaller InnoDB buffer pool size used by the testsuite.
2009-08-12 16:39:50 +02:00
Guilhem Bichot
f3ec486f82 several tests fail with --mem --parallel because the InnoDB files fill /dev/shm;
fix is to run the testsuite with the same InnoDB options (buffer pool size,
log file size etc) as we always ran it for the InnoDB builtin in 5.1.
2009-08-12 15:48:47 +02:00
Guilhem Bichot
eceba8912c merge of 5.1-main into mysql-trunk.
Changes to ha_innodb.cc are not propagated to plugin, they will come back
via Oracle/Innobase if needed.
2009-08-12 15:44:34 +02:00
Sergey Vojtovich
3adae7f2cf Disable main.index_merge_innodb with InnoDB plugin. The test case is
not ready to run with innoplug-1.0.4.
2009-08-12 17:46:12 +05:00
Mattias Jonsson
abc73040b5 manual merge 2009-08-12 12:03:05 +02:00