Commit graph

57417 commits

Author SHA1 Message Date
Davi Arnaut
bfa198c2e7 Bug#33899: Deadlock in mysql_real_query with shared memory connections
The problem is that the read and write methods of the shared
memory transport (protocol) didn't react to asynchronous close
events, which could lead to a lock up as the client would wait
(until time out) for a server response that will never come.

The solution is to also wait for close events while waiting
for I/O from or to the server.
2009-03-26 20:17:27 -03:00
Matthias Leich
7a7885f406 Fix for Bug#43383 main.variables-big : Weak testing code and result
including modifications according to code review
+ backport of the fix for
  Bug 41932 funcs_1: is_collation_character_set_applicability path
                     too long for tar
  which was missing in 5.0 (just a renaming of two files)
2009-03-26 19:12:19 +01:00
Georgi Kodinov
d1b830d0fe fixed unupdated test suites. 2009-03-26 17:49:06 +02:00
Georgi Kodinov
a22fb90c64 removed an unix-ism in a test 2009-03-26 16:47:58 +02:00
Sergey Glukhov
99369b1027 fixed archive test. It might be OOM error on boxes with low amount of memory.
It leads to crash because there is no OOM check in ha_archive::unpack_row().
The fix:
added OOM error check
2009-03-26 18:27:34 +04:00
Andrei Elkin
eecf7e84cb merge from 5.1-pe-stage to a local tree 2009-03-26 11:28:07 +02:00
Andrei Elkin
c8338ad33d bug#42977
compilation warning fixed
2009-03-26 11:25:43 +02:00
Andrei Elkin
badc6a127d Bug#38205 Row-based Replication (RBR) causes inconsistencies: HA_ERR_FOUND_DUP
Bug#319  if while a non-transactional slave is replicating a transaction possible problem 

It is impossible to roll back a mixed engines transaction when one of the engine is
non-transaction. In replication that fact is crucial because the slave can not safely
re-apply a transction that was interrupted with STOP SLAVE.

Fixed with making STOP SLAVE not be effective immediately in the case the current
group of replication events has modified a non-transaction table. In order for slave to leave
either the group needs finishing or the user issues KILL QUERY|CONNECTION slave_thread_id.
2009-03-26 10:25:06 +02:00
Leonard Zhou
8c5bba7235 BUG#35515 Aliases of variables in binary log are ignored with NAME_CONST.
When add an aliase name after NAME_CONST, the aliase name will be overwrite.
      
NAME_CONST will re-set the field's name only if there isn't an aliase in the
function fix-fields().
If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old
name.
2009-03-26 15:38:17 +08:00
Leonard Zhou
9be507ca1f Merge 2009-03-26 12:37:24 +08:00
Ramil Kalimullin
6379cc00bb Manual merge. 2009-03-25 23:41:16 +04:00
Ignacio Galarza
2dd9c5ea2d auto-merge 2009-03-25 15:14:50 -04:00
Ignacio Galarza
311f57422a Correct failing archive test. 2009-03-25 14:59:48 -04:00
Matthias Leich
8fec2b0321 Fix for Bug#43383 main.variables-big : Weak testing code and result
including modifications according to code review
+ backport of the fix for
  Bug 41932 funcs_1: is_collation_character_set_applicability path
                     too long for tar
  which was missing in 5.0 (just a renaming of two files)
2009-03-25 19:30:43 +01:00
Ramil Kalimullin
63821b173d Auto-merge 2009-03-25 21:50:42 +04:00
Ramil Kalimullin
cf6c7262d0 Fix for bug#35383: binlog playback and replication breaks
due to name_const substitution

Problem:
"In general, statements executed within a stored procedure
are written to the binary log using the same rules that
would apply were the statements to be executed in standalone
fashion. Some special care is taken when logging procedure
statements because statement execution within procedures
is not quite the same as in non-procedure context".

For example, each reference to a local variable in SP's
statements is replaced by NAME_CONST(var_name, var_value).
Queries like
"CREATE TABLE ... SELECT FUNC(local_var ..."
are logged as
"CREATE TABLE ... SELECT FUNC(NAME_CONST("local_var", var_value) ..."
that leads to differrent field names and
might result in "Incorrect column name" if var_value is long enough.

Fix: in 5.x we'll issue a warning in such a case.
In 6.0 we should get rid of NAME_CONST().

Note: this issue and change should be described in the documentation
("Binary Logging of Stored Programs").
2009-03-25 20:48:10 +04:00
Tatiana A. Nurnberg
bafe7f60c6 Bug#43748: crash when non-super user tries to kill the replication threads
manual merge. also adds test specific to 5.1+
2009-03-25 17:42:34 +01:00
Tatiana A. Nurnberg
de8042d007 Bug#43748: crash when non-super user tries to kill the replication threads
Fine-tuning. Broke out comparison into method by
suggestion of Davi. Clarified comments. Reverting
test-case which I find too brittle; proper test
case in 5.1+.
2009-03-25 17:10:27 +01:00
Alexander Nozdrin
e0824fe760 Disable query_cache_28249 due to Bug#43861. 2009-03-25 19:00:04 +03:00
Georgi Kodinov
08626e800e Bug#43748: crash when non-super user tries to kill the replication threads
(Pushing for Azundris)
      
We allow security-contexts with NULL users (for
system-threads and for unauthenticated users).
If a non-SUPER-user tried to KILL such a thread,
we tried to compare the user-fields to see whether
they owned that thread. Comparing against NULL was
not a good idea.
      
If KILLer does not have SUPER-privilege, we
specifically check whether both KILLer and KILLee
have a non-NULL user before testing for string-
equality. If either is NULL, we reject the KILL.
2009-03-25 15:37:21 +02:00
Alexey Kopytov
2c357f1515 Automerge 2009-03-25 16:23:47 +03:00
Alexey Kopytov
aa6c879944 Automerge 2009-03-25 16:20:38 +03:00
Alexey Kopytov
1517db6ba1 Automerge. 2009-03-25 16:19:53 +03:00
Alexey Kopytov
38828c1757 Manual merge. 2009-03-25 15:48:29 +03:00
Chad MILLER
341e19b905 Merge wide-char curses test and bugteam trunk. 2009-03-25 07:54:33 -04:00
Andrei Elkin
921e3fe8bf Bug#42977 RBR logs for rows with more than 250 column results in corrupt binlog
The issue happened to be two-fold.
The table map event was recorded into binlog having
an incorrect size when number of columns exceeded 251. 
The Row-based event had incorrect recording and restoring m_width member within
the same as above conditions.

Fixed with correcting m_data_size and m_width.
2009-03-25 12:53:56 +02:00
Satya B
c2cbb80b27 merge to latest 5.1-bugteam 2009-03-25 16:12:16 +05:30
Satya B
e557c3306a merge 5.0-bugteam to 5.1-bugteam 2009-03-25 15:43:49 +05:30
Leonard Zhou
18d2219889 Merge 2009-03-25 17:37:29 +08:00
Satya B
f11de02ea8 merge to 5.0-bugteam 2009-03-25 15:02:57 +05:30
Satya B
7b1d72a096 Fix for BUG#41541 - Valgrind warnings on packed MyISAM table
After the table is compressed by the myisampack utility,
opening the table by the server produces valgrind warnings.
      
This happens because when we try to read a record into the buffer
we alway assume that the remaining buffer to read is always equal 
to word size(4 or 8 or 2 bytes) we read. Sometimes we have 
remaining buffer size less than word size and trying to read the 
entire word size will end up in valgrind errors.
            
Fixed by reading byte by byte when we detect the remaining buffer 
size is less than the word size.
2009-03-25 14:45:53 +05:30
Alexey Kopytov
1b01a1ca61 Disabled embedded server in the test case for bug #41486. 2009-03-25 11:47:41 +03:00
Leonard Zhou
e07e1645d0 Empty merge for fixing only in 5.0 2009-03-25 16:34:40 +08:00
Leonard Zhou
cfa6235224 Fix the test case error in PB. 2009-03-25 16:19:09 +08:00
Alexey Kopytov
b4c794d35a Fix for bug #43801: mysql.test takes too long, fails due to
expired timeout on debx86-b in PB

Turned off general log when importing DB dump in the test 
case for bug #41486 due to the bug in CSV engine code that 
makes logging long SQL query too slow.
2009-03-25 10:32:01 +03:00
Leonard Zhou
9095a69eda Fix test case erro in sles10-ia64-a.
Reset master before next test.
2009-03-25 14:19:42 +08:00
Joerg Bruehe
83641e7bff More portability fixes in "libedit",
backported from 5.1.32 into 5.1.31sp1,
originally done by Jonathan and Kent.

Fixing issues for AIX, HP-UX, i5os, and FreeBSD.
2009-03-24 22:10:22 +01:00
Alexey Kopytov
e484d6fa02 Automerge. 2009-03-24 23:53:25 +03:00
Alexey Kopytov
06554a3ba8 Automerge. 2009-03-24 23:52:08 +03:00
Alexey Kopytov
159b18fad1 Automerge. 2009-03-24 23:50:59 +03:00
Alexey Kopytov
b3901af145 Manuel merge. 2009-03-24 23:48:31 +03:00
Alexey Kopytov
b071b660e9 Fix for bug #43801: mysql.test takes too long, fails due to
expired timeout on debx86-b in PB 

Moved the resource-intensive test case for bug #41486 into 
a separate test file to reduce execution time for mysql.test.
2009-03-24 23:44:38 +03:00
Luis Soares
6dff801284 BUG#39701: Mixed binlog format does not switch to row mode on
LOAD_FILE
            
LOAD_FILE is not safe to replicate in STATEMENT mode, because it
depends on a file (which is loaded on master and may not exist in
slave(s)). This leads to scenarios on which the slave replicates the
statement with 'load_file' and it will try to load the file from local
file system. Given that the file may not exist in the slave filesystem
the operation will not succeed (probably returning NULL), causing
master and slave(s) to diverge. However, when using MIXED mode
replication, this can be made to work, if the statement including
LOAD_FILE is marked as unsafe, triggering a switch to ROW mode,
meaning that the contents of the file are written to binlog as row
events. Consequently, the contents from the file in the master will
reach the slave via the binlog.
           
This patch addresses this bug by marking the load_file function as
unsafe. When in mixed mode and when LOAD_FILE is issued, there will be
a switch to row mode. Furthermore, when in statement mode, the
LOAD_FILE will raise a warning that the statement is unsafe in that
mode.
2009-03-24 18:27:33 +00:00
Georgi Kodinov
7b7d5b5b43 Fixed initialization order warining. 2009-03-24 16:52:35 +02:00
Georgi Kodinov
706a0a39ed merged 5.0-bugteam -> 5.1-bugteam 2009-03-24 15:58:52 +02:00
Vladislav Vaintroub
b446a256e4 change order of cdb parameters to workaround a bug , where command (-c) is not evaluated if -i ,-y or -z contains an invalid path.
cdb would hang then waiting for user input, which is bad for use in scripts
2009-03-24 14:44:21 +01:00
Leonard Zhou
d0cb03b860 Bug#43440 rpl.rpl_temp_table_mix_row fails sporadicly
The problem is that after disconnect, the DOPR TEMPORARY TABLE event didn't been
written into binlog. So after syncing with slave, the TEMPORARY table on slave 
is not removed.
      
Waiting DROP TEMPORARY TABLE event to be written into binlog before sync slave with
master.
2009-03-24 16:55:03 +08:00
Alexey Kopytov
73cb9b6e04 Fix for bug #42965: isinf() on 32bit x86 with gcc 4.3 can
produce incorrect results for ROUND() 

Added a workaround and a configure check to test whether 
isinf() is affected by the GCC bug #39228. 
       
Since no code in MySQL server is currently affected by that 
bug, the patch is actually a safeguard for possible future 
code modifications. No test cases or changelog entries are 
needed.
2009-03-24 11:26:22 +03:00
Leonard Zhou
84a63525d5 Merge 2009-03-24 15:29:04 +08:00
Leonard Zhou
8ac45fb09d Merge 2009-03-24 15:19:46 +08:00