1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-13 02:22:51 +03:00
Commit Graph

20681 Commits

Author SHA1 Message Date
fbb90c66d7 Merge of fixes into actual tree 2009-03-23 21:19:41 +01:00
0b2f4c56c6 Merge 5.0 -> 5.1 of fix for the bugs 43015 and 43065 2009-03-23 17:08:48 +01:00
5eb0b4819c Fix for Bug#43015 and Bug#43065
Details for Bug#43015 main.lock_multi: Weak code (sleeps etc.)
   -------------------------------------------------------------
   - The fix for bug 42003 already removed a lot of the weaknesses mentioned.
   - Tests showed that there are unfortunately no improvements of this tests
     in MySQL 5.1 which could be ported back to 5.0.
   - Remove a superfluous "--sleep 1" around line 195

   Details for Bug#43065 main.lock_multi: This test is too big if the disk is slow
   -------------------------------------------------------------------------------
   - move the subtests for the bugs 38499 and 36691 into separate scripts
   - runtime under excessive parallel I/O load after applying the fix
     lock_multi           [ pass ]          22887
     lock_multi_bug38499  [ pass ]         536926
     lock_multi_bug38691  [ pass ]         258498
2009-03-23 15:22:31 +01:00
282930dc80 Merge 2009-03-19 17:43:01 +03:00
26211b5ccd Bug#43329 merge from 5.0 GCA-branch 2009-03-19 14:52:35 +01:00
3525893a8d Bug#43329 merge from 5.1 GCA branch 2009-03-19 14:48:57 +01:00
64ed42d09e Merge @@optimizer_switch no_xxx -> xxx=off change to 6.0 2009-03-19 15:22:08 +03:00
f8c7da537d Bug#43329 Prepared for push on 5.1 2009-03-19 11:18:52 +01:00
35f9f89602 Automerge. 2009-03-19 13:08:15 +03:00
a4f59d4a4c Automerge. 2009-03-19 13:07:30 +03:00
bd1bbd10c8 Automerge. 2009-03-19 13:04:20 +03:00
afcfe81fea Fixed test failures in 5.1/6.0 introduced by the patch
for bug #41486. Session max_allowed_packet is read-only
as of MySQL 5.1.31. In addition, the global variable
now has no effect on the current session.
2009-03-19 13:02:23 +03:00
2ea2cc02c3 5.0-bugteam->5.1-bugteam merge 2009-03-19 13:26:12 +04:00
173ea364c8 automerge 2009-03-19 12:42:26 +04:00
322fe7419f merge to 5.0-bugteam 2009-03-19 13:53:24 +05:30
af016f72b9 Bug#41627 Illegal mix of collations in LEAST / GREATEST / CASE
Don't throw an error after checking the first and the second arguments.
Continue with checking the third and higher arguments and if some of
them is stronger according to coercibility rules,
then this argument's collation is set as result collation.


mysql-test/r/ctype_collate.result:
  test result
mysql-test/t/ctype_collate.test:
  test case
sql/item.cc:
  Don't throw an error after checking the first and the second arguments.
  Continue with checking the third and higher arguments and if some of
  them is stronger according to coercibility rules,
  then this argument's collation is set as result collation.
2009-03-19 12:20:28 +04:00
cad09dab8f Fix for BUG#21360 - mysqldump error on federated tables
When loading dump created by mysqldump tool an error is
thrown saying storage engine for the table doesn't have 
an option.
                        
mysqldump tries to re-insert the data into the federated
table which causes the error. Since the data is already
available on the remote server, mysqldump shouldn't try
to dump the data again for FEDERATED tables.
                        
As stated in the bug page, it can be considered similar
to the MERGE ENGINE with "view only" nature.
                        
Fixed by adding the "FEDERATED ENGINE" to the exception
list to ignore the data.

client/mysqldump.c:
  Fixed check_if_ignore_table() to ignore FEDERATED engine
  when dumping the table data.
mysql-test/r/federated.result:
  Result file for BUG#21360
mysql-test/t/federated.test:
  Testcase for BUG#21360
2009-03-19 11:36:37 +05:30
5b8156e07f Merge 2009-03-18 19:08:54 +03:00
c75051479f due to merge (pull) 2009-03-18 17:36:49 +01:00
09c1a26b68 Due to bug#43733 I disabled "concurrent_innodb_(un)safelog.test" for embedded server. 2009-03-18 17:23:39 +01:00
4d32be13fe Bug#43329 prepared for commit on 5.0 2009-03-18 15:07:13 +01:00
79d59cca8e Merge 2009-03-18 14:32:32 +03:00
da7dc30371 Automerge. 2009-03-18 11:35:52 +03:00
2b2533955f Manual merge. 2009-03-18 11:27:49 +03:00
73a7d99331 Fix for bug#41486: extra character appears in BLOB for every
~40Mb after mysqldump/import 
        
When the input string exceeds the maximum allowed size for the 
internal buffer, batch_readline() returns a truncated string. 
Since there was no way for a caller to determine whether the 
string was truncated or not, the command line client assumed 
batch_readline() to always return the whole input string and 
appended a newline character. This resulted in garbled data 
when importing dumps containing strings longer than the 
maximum input buffer size. 
  
Fixed by adding a flag to the batch_readline() interface to 
signal a truncated string to the caller. 
  
Other minor problems fixed during patch implementation: 
 
- The maximum allowed buffer size for batch_readline() was set 
up depending on the client's max_allowed_packet value. It does 
not actully make any sense, as those variables are not 
related. The input buffer size limit is now always set to 1 
MB. 
  
- fill_buffer() did not always set the EOF flag. 
 
- The input buffer could actually grow twice as the specified 
limit due to insufficient checks in intern_read_line(). 

client/my_readline.h:
  Changed the interface of batch_readline().
client/mysql.cc:
  Honor the truncated flag returned by batch_readline() and do  
  not append the newline character if it was set. Since we can't 
  change the interfaces for readline()/fgets() used in the  
  interactive mode, always assume the returned string was not  
  truncated. In addition, always set the batch_readline()  
  internal buffer to 1 MB, independently from the client's  
  max_allowed_packet.
client/readline.cc:
  Added the 'truncated' argument do batch_readline() to signal 
  truncated string to a caller. 
  Fixed fill_buffer() to set the EOF flag correctly. 
  Fixed checks in intern_read_line() to not allow the internal  
  buffer grow past the specified limit.
mysql-test/r/mysql.result:
  Added a test case for bug #41486.
mysql-test/t/mysql.test:
  Added a test case for bug #41486.
2009-03-18 11:18:24 +03:00
1367981c66 merge to 5.1-bugteam branch 2009-03-18 12:39:44 +05:30
497db6ac0f Fix for BUG#32880 - Repairing Archive table fails with internal error 144
Any statement reading corrupt archive data file
(CHECK/REPAIR/SELECT/UPDATE/DELETE) may cause assertion
failure in debug builds. This assertion has been removed
and an error is returned instead.

Also fixed that CHECK/REPAIR returns vague error message
when it mets corruption in archive data file. This is
fixed by returning proper error code.

mysql-test/r/archive.result:
  A test case for BUG#32880
mysql-test/std_data/bug32880.ARN:
  corrupted archive table to test check and repair table operation
mysql-test/std_data/bug32880.ARZ:
  corrupted archive table to test check and repair table operation
mysql-test/std_data/bug32880.frm:
  corrupted archive table to test check and repair table operation
mysql-test/t/archive.test:
  A test case for BUG#32880
storage/archive/ha_archive.cc:
  Fixed unpack_row() to return the error instead of throwing assertion 
  and also fixed repair() to throw better error when repair table
  operation fails on corrupted archive table
2009-03-18 11:16:21 +05:30
b27465c28a auto-merge 2009-03-17 16:32:44 +02:00
9de51e418b Bug 22047: Time in SHOW PROCESSLIST for SQL thread in replication seems to
become negative

- merged the fix to 5.1
- extended to cover I_S.PROCESSLIST.TIME
- Changed the column type of I_S.PROCESSLIST.TIME from LOGNLONG
  UNSIGNED
  to LONG (to match the SHOW PROCESSLIST type)
- Added a test case
2009-03-17 16:29:16 +02:00
5d5bd24567 manual merge 2009-03-16 20:54:50 +01:00
d5b9c14513 Merge 2009-03-16 20:10:03 +03:00
5867396a8d Bug#36446: Attempt to set @@join_buffer_size to its minimum value produces spurious warning
If a sys-var has a base and a block-size>1, and then a
user-supplied value >= minimum ended up below minimum
thanks to block-size alignment, we threw a warning.
This meant for instance that when getting, then setting
the minimum, we'd see a warning. This was needlessly
confusing. (updated patch)
2009-03-16 16:11:45 +01:00
e0a1c593a6 Automerge. 2009-03-19 10:15:08 +03:00
07a3de2019 Automerge. 2009-03-18 11:36:48 +03:00
0fd7a359da Fix for bug #42957: no results from
select where .. (col=col and col=col) or ... (false expression)

Problem: optimizer didn't take into account a singular case 
when we eliminated all the predicates at the AND level of WHERE.
That may lead to wrong results.

Fix: replace (a=a AND a=a...) with TRUE if we eliminated all the
predicates.


mysql-test/r/select.result:
  Fix for bug #42957: no results from 
  select where .. (col=col and col=col) or ... (false expression)
    - test result.
mysql-test/t/select.test:
  Fix for bug #42957: no results from 
  select where .. (col=col and col=col) or ... (false expression)
    - test case.
sql/sql_select.cc:
  Fix for bug #42957: no results from 
  select where .. (col=col and col=col) or ... (false expression)
    - replacing equality predicates by multiple equality items check
  if we eliminate all the predicates at the AND level and 
  replace them with TRUE if so.
2009-03-16 09:02:10 +04:00
3f0a54e35e Merge 2009-03-14 22:04:31 +03:00
6551e173f9 @@optimizer_switch backport and change from no_xxx to xx=on|off: post-review fixes
mysql-test/r/index_merge_myisam.result:
  More tests
mysql-test/t/index_merge_myisam.test:
  More tests
2009-03-14 21:58:23 +03:00
7ca1ebd83a automerge 2009-03-12 19:06:26 +01:00
510e9ddf36 Merge bug fix and upstream. 2009-03-12 13:32:13 -04:00
8370242323 manual merge for 40657 beautification 2009-03-12 17:55:10 +01:00
955fb85249 Merge fix and upstream. 2009-03-12 11:57:47 -04:00
5139538c9c Merge fix for bug 42635, which is no change for 5.1 except addition of
test and (slightly different than 5.0) results.
2009-03-12 11:39:40 -04:00
8cbd34f0d7 Applying InnoDB snashot 5.1-ss4350, part 5. Fixes
Bug #43203  	Overflow from auto incrementing causes server segv

Detailed revision comments:

r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines
branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv
It was not a SIGSEGV but an assertion failure. The assertion was checking
the invariant that *first_value passed in by MySQL doesn't contain a value
that is greater than the max value for that type. The assertion has been
changed to a check and if the value is greater than the max we report a
generic AUTOINC failure.

rb://93
Approved by Heikki
2009-03-11 18:18:44 -06:00
08ee9470a9 Applying InnoDB snashot 5.1-ss4350, part 4. Fixes
Bug #42714  	AUTO_INCREMENT errors in 5.1.31

Detailed revision comments:

r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines
branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two
changes to the autoinc handling.

1. To fix the immediate problem from the bug report, we must ensure that the
   value written to the table is always less than the max value stored in
   dict_table_t.

2. The second related change is that according to MySQL documentation when
   the offset is greater than the increment, we should ignore the offset.
2009-03-11 18:17:53 -06:00
a33a51e2a8 Applying InnoDB snashot 5.1-ss4350, part 2. Fixes
Bug #42400  	InnoDB autoinc code can't handle floating-point columns

Detailed revision comments:

r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines
branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC
is only defined for integer columns. This caused an assertion failure when
we checked for the maximum value of a column type. We now calculate the
max value for floating-point autoinc columns too.

Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns
rb://84 and Mantis issue://162

r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines
branches/5.1: Add the ULL suffix otherwise there is an overflow.
2009-03-11 18:15:46 -06:00
59fbffa45c Bug#40657: assertion with out of range variables and traditional sql_mode
normalize error-messages

mysql-test/r/variables.result:
  show that warning uses underscore
  (sysvar-name), not hyphens (option-name)
mysql-test/t/variables.test:
  show that warning uses underscore
  (sysvar-name), not hyphens (option-name)
sql/set_var.cc:
  normalize error-messages
2009-03-11 23:32:53 +01:00
9a8a84d918 Auto-merge from upstream 2009-03-11 15:43:15 -06:00
676c982425 Up-merge from 5.0 2009-03-11 15:03:25 -06:00
81e4e1e79c Bug #32625: Make test type_bit_innodb more robust
Since there is more than one duplicate value in the table, when adding the
unique index it is not deterministic which value will be reported as causing a
problem.  Replace the reported value with '' so that it doesn't affect the
results.
2009-03-11 14:54:57 -06:00
5d55f7c543 Merge 2009-03-11 23:52:22 +03:00