Commit graph

57322 commits

Author SHA1 Message Date
Bernt M. Johnsen
9ae04e6d2e Bug#23471 prepared for commit in 5.1 gca branch 2009-05-05 12:34:25 +02:00
Narayanan V
5f1b33049a merging with mysql-5.1-bugteam 2009-05-05 15:16:05 +05:30
Martin Hansson
2afccc1b31 Bug#43580: Issue with Innodb on multi-table update
Certain multi-updates gave different results on InnoDB from
to MyISAM, due to on-the-fly updates being used on the former and
the update order matters.
Fixed by turning off on-the-fly updates when update order 
dependencies are present.
2009-05-05 11:38:19 +02:00
Narayanan V
5158be8fe7 Bug#44232 Error msg should be improved when collation not supported.
When a user selected an unsupported character set for an
IBMDB2I table, error 2501 or 2511 may have been returned,
giving the appearance of an internal programming error.

This patch consolidates these errors into a single descriptive
error message for the common case of an unsupported character
set.

The new error number is 2504 and indicates a user error.
The errors 2501 and 2511 remain to indicate cases of internal
programming errors.
2009-05-05 15:03:52 +05:30
Bernt M. Johnsen
2fd7330c2e Bug#23471 prepared for commit in 5.0 gca branch 2009-05-05 11:07:11 +02:00
Alexander Barkov
a5184bb351 Bug#44352 UPPER/LOWER function doesn't work correctly
on cp932 and sjis environment.
Problem: case conversion erroneously changes the second bytes
of multi-byte sequences because single-byte functions were
called in a mistake.
Fix: call multi-byte aware functions instead.
2009-05-05 11:55:22 +05:00
Sergei Golubchik
0f8ae02353 bug#44166
removed few sprintf's
2009-05-04 22:33:23 +02:00
Martin Hansson
ce10b71bc9 Bug#44306: Assertion fail on duplicate key error in
'INSERT ... SELECT' statements

Merge
2009-05-04 14:57:42 +02:00
Martin Hansson
8fa68f5719 Bug#44306: Assertion fail on duplicate key error in
'INSERT ... SELECT' statements
            
The code that produces result rows expected that a duplicate row
error could not occur in INSERT ... SELECT statements with 
unfulfilled WHERE conditions. This may happen, however, if the 
SELECT list contains only aggregate functions.
Fixed by checking if an error occured before trying to send EOF
to the client.
2009-05-04 14:45:36 +02:00
Narayanan V
72c4f5a13c BUG#39802 On Windows, 32-bit time_t should be enforced
A backport of fix for "BUG40092 - Storage engine API uses
time_t datatype".

Starting from MSVC C++ 2005 (v8), the default size of time_t
is changed from 32-bit to 64-bit. As the result, the binaries
built with pre-v8 MSVC C++ do not work with the binaries
(storage engine plugins) built with v8 or after (server
crashes).

Fixed storage engine API to use datatype with known size
(ulong) instead of time_t.
2009-05-04 15:30:15 +05:30
Andrei Elkin
691fb07810 removing the source of a warning in slave.cc:468 2009-05-04 12:59:10 +03:00
Satya B
a2b1133e3a Additional Fix for BUG#40827 - Killing insert-select to MyISAM can cause
table corruption

Disabling the mysiam_debug.test in embedded mode because of BUG#43733
2009-05-04 14:35:16 +05:30
Serge Kozlov
52d3373e75 Bug#38077.
1. Replace waiting of SQL thread stop by waiting of SQL error on slave and stopped
SQL thread.
2. Remove debug code because it already implemented in MTR2.
2009-05-02 23:28:54 +04:00
timothy.smith@sun.com
8a219e395c Merge from mysql-5.0.80-release 2009-05-01 19:43:27 +02:00
MySQL Build Team
2d867420eb merge in small portability tweaks from 5.0.80 2009-05-01 19:37:23 +02:00
MySQL Build Team
6d1d03f78d A few portability tweaks for Netware, SCO and QNX 2009-05-01 19:35:04 +02:00
Gleb Shchepa
0fc6777ce7 auto-upmerge 5.0-bugteam --> 5.1-bugteam (bug 37362) 2009-05-01 00:27:10 +05:00
Gleb Shchepa
480fac6107 Bug #37362: Crash in do_field_eq
EXPLAIN EXTENDED of nested query containing a error:

   1054 Unknown column '...' in 'field list'

may cause a server crash.


Parse error like described above forces a call to
JOIN::destroy() on malformed subquery.
That JOIN::destroy function closes and frees temporary
tables. However, temporary fields of these tables
may be listed in st_select_lex::group_list of outer
query, and that st_select_lex may not cleanup them
properly. So, after the JOIN::destroy call that
st_select_lex::group_list may have Item_field
objects with dangling pointers to freed temporary
table Field objects. That caused a crash.
2009-05-01 00:20:37 +05:00
Georgi Kodinov
1fb73ad3c7 merge 2009-04-30 18:00:51 +03:00
Sergey Vojtovich
5530867103 Merge to 5.1-bugteam. 2009-04-30 19:41:43 +05:00
Andrei Elkin
2ecc941bd8 merging from 5.0-bt rep to a local branch 2009-04-30 17:32:46 +03:00
Andrei Elkin
943b90fb05 merge 5.1-bt rep -> local 5.1-bt 2009-04-30 17:29:57 +03:00
Georgi Kodinov
767a835b52 merged 5.0-bugteam -> 5.1-bugteam 2009-04-30 16:44:13 +03:00
Georgi Kodinov
a60ff1e9f5 merged 5.1-main to 5.1-bugteam 2009-04-30 16:42:38 +03:00
Georgi Kodinov
4ad430f8cd merged 5.0-main to 5.0-bugteam 2009-04-30 16:39:00 +03:00
Andrei Elkin
f683c5e0b6 moving bug#38694 test files into rpl suite 2009-04-30 16:20:38 +03:00
Andrei Elkin
81d05cfad5 merging 5.0-bt to 5.1-bt 2009-04-30 16:17:46 +03:00
Narayanan V
6299dbb356 merging with mysql-5.1-bugteam 2009-04-30 18:22:48 +05:30
Andrei Elkin
fbacc10cbb merge bug#44179 fixes to 5.1-bt 2009-04-30 15:47:09 +03:00
Narayanan V
2b491daa1c BUG#37631 - Incorrect key file for table after upgrading from 5.0 to 5.1
This patch adds corrections to the original patch
submitted 2009-04-08 (http://lists.mysql.com/commits/71607):

- fixed that the original patch didn't work because of an
  incorrect condition;
- added a test case.
2009-04-30 18:16:49 +05:30
Andrei Elkin
6b39bb5eac merging from 5.0-bt rep to a local branch 2009-04-30 15:41:47 +03:00
Andrei Elkin
b3190a4528 Bug #44179 reset slave crashes in my_error when reset_logs returns non-zero
my_error() was invoked in reset_slave()'s with purge_relay_logs()-failing branch
without passing sql_errno to it.

Fixed with setting sql_errno= ER_RELAY_LOG_FAIL in the purge_relay_logs()-failing branch.
2009-04-30 15:28:07 +03:00
Matthias Leich
0c4a79c132 Merge of fix for Bug#44522 main.not_embedded_server fails with "--check-testcases"
into actual tree
2009-04-30 12:26:11 +02:00
Sergey Glukhov
823826a7cb automerge 2009-04-30 15:17:56 +05:00
Satya B
c7c3f33772 merget to 5.1-bugteam 2009-04-30 16:44:50 +05:30
Satya B
49e3fe95fe Addition to the fix for BUG#40827 - Killing insert-select to MyISAM can cause
table corruption


Moved the testcase from the file myisam.test to the new testfile 
mysiam_debug.test
2009-04-30 16:33:44 +05:30
Matthias Leich
ff3e790053 Merge 5.0 -> 5.1 of fix for Bug 44522
This is a "null" merge because the fix is
already in 5.1
2009-04-30 12:29:19 +02:00
Sergey Glukhov
430406a68f Bug#43962 "Packets out of order" calling a SHOW TABLE STATUS
Error happens because sp_head::MULTI_RESULTS is not set for SP
which has 'show table status' command.
The fix is to add a SQLCOM_SHOW_TABLE_STATUS case into
sp_get_flags_for_command() func.
2009-04-30 14:37:29 +05:00
Alexey Botchkov
b1444f40d5 merging 2009-04-30 12:54:45 +05:00
Alexey Botchkov
d7ad0a04d1 mysql_client_test fixed.
per-file comments:
  tests/mysql_client_test.c
the test for bug 37956 isn't relevant anymore.
The query there 'select point(?,?)' doesn't produce an error.
2009-04-30 12:52:27 +05:00
Satya B
1cdd699022 Fix for BUG#40827 - Killing insert-select to MyISAM can cause table corruption
Killing the insert-select statement corrupts the MyISAM table only
when the destination table is empty and when it has indexes. When 
we bulk insert huge data and if the destination table is empty we 
disable the indexes for fast inserts, data is then inserted and 
indexes are re-enabled after bulk_insert operation
                        
Killing the query, aborts the repair table operation during enable
indexes phase leading to table corruption.
                      
We now truncate the table when we detect that enable indexes is
killed for bulk insert query.As we have an empty table before the 
operation, we can fix by truncating the table.
2009-04-30 12:40:12 +05:30
Martin Hansson
de2c4f0ad0 merge 2009-04-29 20:52:37 +02:00
Vladislav Vaintroub
33723996a8 merge 2009-04-29 14:29:54 +02:00
Martin Hansson
7d24441119 Bug#43737: Select query return bad result
A bug in the initialization of key segment information made it point
to the wrong bit, since a bit index was used when its int value
was needed. This lead to misinterpretation of bit columns
read from MyISAM record format when a NULL bit pushed them over
a byte boundary.
Fixed by using the int value of the bit instead.
2009-04-29 14:00:34 +02:00
Vladislav Vaintroub
57b4295d2b Bug#43932 myisam index corruption with large index and large
key_buffer_size.

The cause of corruption was number overflow when multiplying 
two ulong values, number of used keycache blocks with size
of a single block. The result of multiplication exceeded ulong 
range (4G) and this lead to incorrectly calculated  buffer offset
in the key cache.

The fix is to use size_t for multiplication result.

This patch also fixes pointless cast in safemalloc 
(size of allocated block to uint), that creates lot of false
alarm warnings when using big keycache (> 4GB) in debug mode.
2009-04-29 13:51:10 +02:00
Narayanan V
f51e62cfa3 Bug#44337 Select query using index merge fails with MCH3601
The storage engine was not correctly handling the case in 
which rnd_pos is executed for a handler without a preceding
rnd_next or index read operation. As a result, an unitialized
file handle was sometimes being passed to the QMY_READ API.

The fix clears the rrnAssocHandle at the beginning of each
read operation and then checks to see whether it has been
set to a valid handle value before attempting to use it
in rnd_pos. If rrnAssocHandle has not been set by a previous
read operation, rnd_pos instead falls back to the use of the
currently active handle.
2009-04-29 16:51:14 +05:30
Alexey Botchkov
4edc43b7b8 merging 2009-04-29 09:41:36 +05:00
Alexey Botchkov
a594ff04b0 merging 2009-04-29 09:40:50 +05:00
Alexey Botchkov
1e53c709ca merging 2009-04-29 09:39:49 +05:00
Alexey Botchkov
08690ef254 merging 2009-04-29 07:59:10 +05:00