Commit graph

55346 commits

Author SHA1 Message Date
Sergey Glukhov
f4c648aff8 automerge 2008-12-09 16:17:17 +04:00
Sergey Glukhov
5168c2ac68 5.0-bugteam->5.1-bugteam merge 2008-12-09 15:16:39 +04:00
Alexey Kopytov
d4adb11088 Merge from mysql-5.0-bugteam to mysql-5.1-bugteam. 2008-12-09 13:56:46 +03:00
Alexey Kopytov
73b48decf0 Merge from mysql-5.0-bugteam. 2008-12-09 13:22:55 +03:00
Alexey Kopytov
66fa3c09a3 Added a missing bit from the original patch for bug #27483 which was lost when re-applying
the patch manually to another tree.
2008-12-09 13:19:46 +03:00
Sergey Glukhov
0661c210d3 bug#35558 Wrong server metadata blows up the client
the problem: FORMAT func max_length value was calculated incorrectly
the fix: correct calculation of max_length
2008-12-09 14:00:43 +04:00
Sergey Glukhov
eb46763654 Bug#35796 SHOW CREATE TABLE and default value for BIT field
show default value for BIT field in printable format
2008-12-09 13:53:23 +04:00
Sergey Vojtovich
39a28301f1 Merge. 2008-12-09 13:29:59 +04:00
Sergey Vojtovich
51f2783577 Merge. 2008-12-09 13:27:46 +04:00
Sergey Glukhov
b3012d0867 Bug#40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed table.
reset diagnostics area state after error message is sent
2008-12-09 13:04:28 +04:00
Sergey Vojtovich
53e83e6e21 Merge. 2008-12-09 12:53:19 +04:00
Alexey Botchkov
62ca604d13 merging 2008-12-09 12:47:48 +04:00
Alexey Botchkov
315f653987 Bug#35934 mysql_upgrade calls mysqlcheck with insufficient parameters
modifying the original fix.
    As it turned out --fix-db-names option of the mysqlcheck suppress
    the --check_upgrade option, so we have to call the mysqlcheck twice
    from the mysql_upgrade.

per-file comments:
  client/mysql_upgrade.c
Bug#35934      mysql_upgrade calls mysqlcheck with insufficient parameters
2008-12-09 12:30:49 +04:00
Alexey Kopytov
0befdab5f0 Merge from mysql-5.0-bugteam to mysql-5.1-bugteam. 2008-12-09 11:11:52 +03:00
Alexey Kopytov
b713958132 Fixed type_float failures in --ps-protocol mode introduced by the test case for bug #27483.
The reason for the failures was bug #21205 (fixed in 6.0 by dtoa, but still present in 5.0/5.1).
2008-12-09 11:05:36 +03:00
Andrei Elkin
df1f4784c0 merge 5.1-bt to a local clone. 2008-12-09 02:21:06 +02:00
Andrei Elkin
e6edcee80d Bug #33420 Test 'rpl_packet' fails randomly with changed "Exec_Master_Log_Pos"
binlog_row_mix_innodb_myisam resutls are corrected.
The last operations prior the dup error is
TRUNCATE table t2;
Therefore after
--error ER_DUP_ENTRY
INSERT INTO t2 select * from t1;
table t2 must be empty, and that is what the updated results confirm.
2008-12-08 21:40:25 +02:00
Andrei Elkin
1944f98a1a merging 5.1-bt to a local tree. 2008-12-08 21:26:32 +02:00
Chad MILLER
a8dd8f6995 Replace C++ comment in a header file. Thanks, Alik! 2008-12-08 12:45:48 -05:00
Vladislav Vaintroub
fd5a2980fc merge 2008-12-08 16:37:32 +01:00
Mattias Jonsson
e10a3e99e7 merge 2008-12-08 16:07:41 +01:00
Andrei Elkin
ca25988f6e Bug #40221 Replication failure on RBR + UPDATE the primary key
Extending bug#40221 regression test: 1. include INSERT 2. convert prim key + autoinc to
unique.
2008-12-08 17:07:08 +02:00
Andrei Elkin
b9b49981f7 merge bug#33420, bug#41173 on bt 5.0 -> 5.1 2008-12-08 16:42:59 +02:00
Andrei Elkin
0ec3e14e98 merge 5.0->5.0-bugteam for a local tree containing bug#33420 Test 'rpl_packet' fails randomly. 2008-12-08 16:29:13 +02:00
Mattias Jonsson
e3edfcb4b0 merge 2008-12-08 15:09:59 +01:00
Mats Kindahl
e2fb6dc1d9 Merging with 5.1-bugteam. 2008-12-08 14:40:57 +01:00
Alexey Kopytov
772685705c Pull from mysql-5.0-bugteam 2008-12-08 15:14:10 +03:00
Alexey Botchkov
f48fc26c5a merging 2008-12-08 15:46:19 +04:00
Alexey Kopytov
76835e57a2 Pull from mysql-5.1-bugteam. 2008-12-08 15:19:08 +03:00
Alexey Botchkov
f9bc9698d7 merging 2008-12-08 15:41:45 +04:00
Mats Kindahl
908937ee92 Merging patch with 5.1-bugteam. 2008-12-08 11:32:24 +01:00
Georgi Kodinov
b9f848c717 merged bug 37742 to 5.1-bugteam 2008-12-08 12:23:33 +02:00
Georgi Kodinov
057323a7b0 merge 5.0-bugteam -> 5.1-bugteam 2008-12-08 11:57:44 +02:00
Georgi Kodinov
a3cdd71a35 merged 5.1-main 2008-12-08 11:56:40 +02:00
Georgi Kodinov
64529257ad merged 5.0-main -> 5.0-bugteam 2008-12-08 11:54:41 +02:00
Georgi Kodinov
30d8a8f950 merged 5.0-main -> 5.1-main 2008-12-08 11:39:34 +02:00
Alexey Kopytov
d5f51a008c Merge from mysql-5.0-bugteam to mysql-5.1-bugteam. 2008-12-07 17:51:22 +03:00
Vladislav Vaintroub
0fc3483b7a Bug#39750 -cannot create temp file on Windows.
The problem appears often in conjuction with temp files, when temp-pool is used, so that names of temp files are not unique.

The reason is that rapid deletiion and creation of fiiles with the same name on Windows is not guaranteed to succeed. File disappears from the file system only when the last handle to it is closed. If for example  a virus scanner, a backup or indexing  application  opens the  temp file just before MySQL deletes it, the file will enter "delete pending" state. In this state,it is not possible to open the file , or create a file with the same name (CreateFile returns  ERROR_ACCESS_DENED, posix open returns EACESS)

Fix (rather a cheap workarounf) is not to use temp-pool when working with temporary files- this will make filenames unique. 
With this patch , temp- pool setting will be ignored on anything but Linux(the option only made sense for Linux since its invention anyway).
2008-12-05 19:20:05 +01:00
Georgi Kodinov
cb7b5524f9 Disable wait_timeout_func and report bug #41255. 2008-12-05 13:24:19 +02:00
Mats Kindahl
4e9695acca Bug #40116:
Uncommited changes are replicated and stay on slave after
rollback on master

Making test slightly more generic and robust.
2008-12-05 10:23:27 +01:00
Vladislav Vaintroub
4dfbf2ec93 Bug#38522: 5 seconds delay when closing application using embedded server
The problem here is that embedded server starts handle_thread manager 
thread  on mysql_library_init() does not stop it on mysql_library_end().
At shutdown, my_thread_global_end() waits for thread count to become 0,
but since we did not stop the thread it will give up after 5 seconds.
             
Solution is to move shutdown for handle_manager thread from kill_server()
(mysqld specific) to clean_up() that is used by both embedded and mysqld.
            
This patch also contains some refactorings - to avoid duplicate code,
start_handle_manager() and stop_handle_manager() functions are introduced.
Unused variables are eliminated. handle_manager does not rely on global
variable abort_loop anymore to stop (abort_loop is not set for embedded).
            
Note: Specifically on Windows and when using DBUG version of libmysqld, 
the complete solution requires removing obsolete code my_thread_init() 
from my_thread_var(). This has a side effect that a DBUG statement 
after my_thread_end() can cause thread counter to be incremented, and 
embedded will hang for some seconds. Or worse, my_thread_init() will 
crash if critical sections have been deleted by the global cleanup 
routine that runs in a different thread. 

This patch also fixes and revert prior changes for Bug#38293 
"Libmysqld crash in mysql_library_init if language file missing".

Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
described above
2008-12-04 19:41:53 +01:00
Andrei Elkin
cea55f3dc6 Bug #33420 Test 'rpl_packet' fails randomly with changed "Exec_Master_Log_Pos"
Bug #41173 rpl_packet fails sporadically on pushbuild: query 'DROP TABLE t1' failed


The both issues appeared to be a race between the SQL thread executing CREATE table t1
and the IO thread that is expected to stop at the consequent big size event.
The two events need serialization which is implemented.
The early bug required back-porting a part fixes for bug#38350 exclusively for 5.0 version.
2008-12-04 18:36:45 +02:00
Mats Kindahl
82757fdfc0 Bug #40116: Uncommited changes are replicated and stay on slave
after rollback on master

When starting a transaction with a statement containing changes
to both transactional tables and non-transactional tables, the
statement is considered as non-transactional and is therefore
written directly to the binary log. This behaviour was present
in 5.0, and has propagated to 5.1.

If a trigger containing a change of a non-transactional table is
added to a transactional table, any changes to the transactional
table is "tainted" as non-transactional.

This patch solves the problem by removing the existing "hack" that
allows non-transactional statements appearing first in a transaction
to be written directly to the binary log. Instead, anything inside
a transaction is treaded as part of the transaction and not written
to the binary log until the transaction is committed.
2008-12-03 20:55:49 +01:00
Alexey Kopytov
5f7869a22a Fix for bug #27483: Casting 'scientific notation type' to 'unsigned
bigint' fails on windows.

Visual Studio does not take into account some x86 hardware limitations
which leads to incorrect results when converting large DOUBLE values
to BIGINT UNSIGNED ones.

Fixed by adding a workaround for double->ulonglong conversion on
Windows.
2008-12-03 19:15:39 +03:00
timothy.smith@sun.com
6a65d019d4 Raise version number after cloning 5.0.74 2008-12-03 01:09:05 +01:00
Andrei Elkin
40889f9ea6 Bug #40221 Replication failure on RBR + UPDATE the primary key
A transaction could result in having an extra event after a query that
errored e.g because of a dup key. Such a query is rolled back in
innodb, as specified, but has not been in binlog.
It appeares that the binlog engine did not always register for a query
(statement) because the previous query had not reset at its statement
commit time. Because of that fact there was no roll-back to the
trx_data->before_stmt_pos position and a the pending event of the
errorred query could become flushed to the binlog file.

Fixed with deploying the reset of trx_data->before_stmt_pos at the end
of the query processing.
2008-12-02 19:32:07 +02:00
Georgi Kodinov
e37c9e7fc9 moved the version to 5.0-main 2008-12-02 14:50:40 +02:00
Georgi Kodinov
9e91c8d6c2 Fixed a bad merge (5.0->5.1) of the fix for bug 37339.
There was a missing initialization.
2008-12-02 13:21:05 +02:00
Georgi Kodinov
51938fa015 Addendum to the fix for bug #39178: Server crash in YaSSL
with non-RSA-requesting client if server uses RSA key

matchSuite() may not find a match. 
It will return error in this case.
Added a error checking code that will prevent using uninitialized 
memory in the code based on the assumption 
that matchSuite() has found a match.
2008-12-02 13:15:28 +02:00
Georgi Kodinov
6969832813 merged addendum to bug 39920 to 5.1-bugteam 2008-12-01 17:43:51 +02:00