Commit graph

58911 commits

Author SHA1 Message Date
Alexander Nozdrin
dcc92b8128 Merge mysql-trunk -> mysql-trunk-bugfixing. 2009-09-16 10:55:17 +04:00
Alexander Nozdrin
df0dcab437 Merge from mysql-5.1-bugteam. 2009-09-16 10:52:43 +04:00
Joerg Bruehe
e93a138370 Null-merge a version number change from 5.0 to 5.1 2009-09-15 10:07:57 +02:00
Kristofer Pettersson
16d8401a28 autocommit 2009-09-15 09:34:30 +02:00
Kristofer Pettersson
a041c79ec9 autocommit 2009-09-15 09:33:25 +02:00
Luis Soares
09f07bc110 BUG#47016: rpl_do_grant fails on PB-2 with a failing connect
The test case rpl_do_grant fails sporadically on PB2 with "Access
denied for user 'create_rout_db'@'localhost' ...". Inspecting the
test case, one may find that if issues a GRANT on the master
connection and immediately after it creates two new connections
(one to the master and one to the slave) using the credentials
set with the GRANT.
      
Unfortunately, there is no synchronization between master and
slave after the grant and before the connections are
established. This can result in slave not having executed the
GRANT by the time the connection is attempted.
      
This patch fixes this by deploying a sync_slave_with_master
between the grant and the connections attempt.
2009-09-13 22:43:47 +01:00
Luis Soares
4cce928ea6 BUG#47014: rpl_drop_temp fails on PB-2 with results mismatch
The test case creates two temporary tables, then closes the
connection, waits for it to disconnect, then syncs the slave with
the master, checks for remaining opened temporary tables on
slave (which should be 0) and finally drops the used
database (mysqltest).
      
Unfortunately, sometimes, the test fails with one open table on
the slave. This seems to be caused by the fact that waiting for
the connection to be closed is not sufficient. The test needs to
wait for the DROP event to be logged and only then synchronize
the slave with the master and proceed with the check. This is
caused by the asynchronous nature of the disconnect wrt
binlogging of the DROP temporary table statement.
      
We fix this by deploying a call to wait_for_binlog_event.inc
on the test case, which makes execution to wait for the DROP
temp tables event before synchronizing master and slave.
2009-09-13 21:52:14 +01:00
Vladislav Vaintroub
b5f83da900 fix compile error. definition of VOID in trunk still conflicts with windows headers. that was fixed in 6.0 2009-09-13 19:38:06 +02:00
Mattias Jonsson
3174c31dfc merge 2009-09-12 00:40:23 +02:00
Vladislav Vaintroub
72b91d4134 Downport
WL#1624 -determine MAC addresses on Windows.
Contribution  by Chris Runyan
2009-09-11 22:42:39 +02:00
Vladislav Vaintroub
4e92af9f43 This is the downport of
Bug#24509 - 2048 file descriptor limit on windows needs increasing, also 
WL#3049 - improved Windows I/O
                        
The patch replaces the use of the POSIX I/O interfaces in mysys on Windows with 
the Win32 API calls (CreateFile, WriteFile, etc). The Windows HANDLE for the open 
file is stored in the my_file_info struct, along with a flag for append mode 
because the Windows API does not support opening files in append mode in all cases)
The default max open files has been increased to 16384 and can be increased further
by setting --max-open-files=<value> during the server start.
                              
Another major change in this patch that almost all Windows specific file IO code
has been moved to a new file my_winfile.c, greatly reducing the amount of code 
in #ifdef blocks within mysys, thus improving readability.
                               
                                    
Minor enhancements:
- my_(f)stat() is changed to use __stati64 structure with  64 file size
and timestamps. It will return correct file size now (C runtime implementation
used to report outdated information)
- my_lock on Windows is prepared to handle additional timeout parameter
- after review : changed __WIN__ to _WIN32 in the new and changed code.
2009-09-11 22:26:35 +02:00
Ramil Kalimullin
4def19eeac Fix for bug#47130: misplaced or redundant check for null pointer?
Problem: LOGGER::general_log_write() relied on valid "thd" parameter passed
but had inconsistent "if (thd)" check.

Fix: as we always pass a valid "thd" parameter to the method, 
redundant check removed.
2009-09-11 22:06:27 +05:00
Georgi Kodinov
63212b1643 Bug #45159 : some tests in suite "jp" fail in embedded server (use LOAD DATA)
Initialize correctly client flags for the embedded client
Test cases in jp updated to work correctly with embedded server.
2009-09-11 15:52:08 +03:00
Marc Alff
f662d397c8 Post merge fixes 2009-09-11 01:15:41 -06:00
Alexander Nozdrin
0bd2467ea2 Add DBUG_VIOLATION_HELPER_LEAVE definition to non-debug build. 2009-09-10 16:18:54 +04:00
Sergey Glukhov
b25b1be796 5.0-bugteam->5.1-bugteam merge 2009-09-10 15:30:03 +05:00
Sergey Glukhov
5fbc2904bc Bug#46815 CONCAT_WS returning wrong data
The problem is that argument buffer can be used as result buffer
and it leads to argument value change.
The fix is to use 'old buffer' as result buffer only
if first argument is not constant item.
2009-09-10 15:24:07 +05:00
df67d14983 BUG#45999 Row based replication fails when auto_increment field = 0
In RBR, There is an inconsistency between slaves and master.
When INSERT statement which includes an auto_increment field is executed,
Store engine of master will check the value of the auto_increment field. 
It will generate a sequence number and then replace the value, if its value is NULL or empty.
if the field's value is 0, the store engine will do like encountering the NULL values 
unless NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE.
In contrast, if the field's value is 0, Store engine of slave always generates a new sequence number 
whether or not NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE.

SQL MODE of slave sql thread is always consistency with master's.
Another variable is related to this bug.
If generateing a sequence number is decided by the values of
table->auto_increment_field_not_null and SQL_MODE(if includes MODE_NO_AUTO_VALUE_ON_ZERO)
The table->auto_increment_is_not_null is FALSE, which causes this bug to appear. ..
2009-09-10 18:05:53 +08:00
Mikael Ronstrom
7158ae635b Automerge 2009-09-10 11:18:50 +02:00
Marc Alff
d5fd452d7c WL#2110 (SIGNAL)
WL#2265 (RESIGNAL)

Manual merge of SIGNAL and RESIGNAL to mysql-trunk-signal,
plus required dependencies.
2009-09-10 03:18:29 -06:00
Mikael Ronstrom
ff1df12a20 WL#4444 Added TRUNCATE partition support, fixes bug#19405 and bug #35111 2009-09-10 11:15:39 +02:00
Mikael Ronstrom
28eb7825ef WL#4571, Enable Key cache defined for a partition to enable more scalability on partitioned MyISAM tables among other things 2009-09-10 11:14:23 +02:00
Sergey Glukhov
242bb2634c Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table
partial backport of bug43138 fix
2009-09-10 13:49:49 +05:00
Sergey Vojtovich
3a5b80ab95 Merge 5.1-bugteam -> 5.1-bugteam-local. 2009-09-10 13:38:59 +05:00
Alexander Nozdrin
96c8843514 A patch for Bug#45118 (mysqld.exe crashed in debug mode
on Windows in dbug.c) -- part 2: a patch for the DBUG subsystem
to detect misuse of DBUG_ENTER / DBUG_RETURN macros.
5.1 version.
2009-09-10 11:40:57 +04:00
Sergey Vojtovich
3e68a1c545 Local merge. 2009-09-10 11:58:13 +05:00
Sergey Vojtovich
51624a945a Local merge. 2009-09-10 11:54:26 +05:00
Sergey Vojtovich
640fdb92d7 Local merge. 2009-09-10 11:53:35 +05:00
Sergey Vojtovich
dd16dc7e8a Local merge. 2009-09-10 11:52:57 +05:00
hery
c07381bae2 change c++ comment to c comment 2009-09-09 20:52:17 +02:00
Ingo Struewing
8dcaefca21 Bug#17332 - changing key_buffer_size on a running server
can crash under load

Merge from 5.0, after backport from 5.1/5.4 to 5.0.
This makes the fixes for
Bug 44068 (RESTORE can disable the MyISAM Key Cache)
Bug 40944 (Backup: crash after myisampack)
available to 5.1.
2009-09-09 17:13:13 +02:00
Georgi Kodinov
d92b2238f9 null merge of the 5.0 test cleanup 2009-09-09 16:49:33 +03:00
Joerg Bruehe
0e42c21e87 Merge the changes done for 5.4.2-beta into "trunk". 2009-09-09 15:21:27 +02:00
Sergey Vojtovich
f22baa9a1e BUG#29203 - archive tables have weird values in show table status
Archive engine returns wrong values for average record length
and max data length.

With this fix they're calculated as following:
- max data length is 2 ^ 63 where large files are supported
  and INT_MAX32 where this is not supported;
- average record length is data length / records in data file.
2009-09-09 14:42:12 +05:00
Sergey Vojtovich
16c57d9099 BUG#45638 - Create temporary table with engine innodb fails
Create temporary InnoDB table fails on case insensitive
filesystems, when lower_case_table_names is 2 (e.g. OS X)
and temporary directory path contains upper case letters.

The problem was that tmpdir prefix was converted to lower
case when table was created, but was passed as is when
table was opened.

Fixed by leaving tmpdir prefix part intact.
2009-09-09 14:38:50 +05:00
Georgi Kodinov
54847efffd Bug #45159 Part 1 : rejuvenate the jp test suite using normal run.
Updates the results of all the out-dated test suites and adds 
the special mysqltest command to enable innodb for the tests that need it.
2009-09-09 12:06:15 +03:00
hery.ramilison@sun.com
cdc2cfb5f1 Raise version number after cloning 5.0.86 2009-09-08 22:56:00 +02:00
Joerg Bruehe
efaf925068 Make sure that variables which are (or may be) used
in an ".opt" file are defined to some value (even
if it is empty). Without this, a test suite run
aborted on Windows for "embedded".

This fix was applied dusing the build of 5.4.2-beta.
2009-09-08 16:10:06 +02:00
Joerg Bruehe
472d0c0dfd The former "Instance Manager" (program "mysqlmanager")
is not being built in 5.4.2-beta,
so it cannot be included in a RPM:
Remove both the program and the man page from the spec file.

This patch was applied during the build of 5.4.2-beta.
2009-09-08 15:48:55 +02:00
Joerg Bruehe
796a257cf5 Some fixes to make 5.4.2-beta compile on the less common
platforms like AIX, HP-UX, and Solaris 8.

All these are upmerges from 5.1 which came too late to be
included when 5.4.2-beta was cloned, so they were applied
during the build phase.
2009-09-08 15:38:40 +02:00
Joerg Bruehe
d141e840a2 This is the 5.4 version of the fix for bug#47007
Unresolved reference to 'innodb_system_libs' in "mysql_config"

In 5.4.2, we use InnoDB 1.0.4 which does file IO via separate
threads, opposed to the use of asynchronous IO previously.

So there is no InnoDB call to "aio_read()" which was searched
in "librt", causing a "-lrt" value of "innodb_system_libs",
that whole variable is gone.

This fix was applied in the build of 5.4.2-beta.
2009-09-08 15:35:01 +02:00
Georgi Kodinov
3ec517416b automerge 2009-09-08 12:37:09 +03:00
Alexey Kopytov
97920d3ad9 Automerge. 2009-09-08 12:36:40 +04:00
Ingo Struewing
1b60803282 Bug#17332 - changing key_buffer_size on a running server
can crash under load

Backport from 5.1.
Does also include key cache fixes from:
Bug 44068 (RESTORE can disable the MyISAM Key Cache)
Bug 40944 (Backup: crash after myisampack)
2009-09-07 18:35:37 +02:00
Martin Hansson
a37c61b0d0 Bug#46259: Merge 2009-09-07 16:52:47 +02:00
Mikael Ronstrom
6a368130ae Automerge 2009-09-07 12:22:57 +02:00
Martin Hansson
fa604f0a3d Bug#46259: 5.0.83 -> 5.1.36, query doesn't work
The parser rule for expressions in a udf parameter list contains 
two hacks: 
First, the parser input stream is read verbatim, bypassing 
the lexer.
Second, the Item::name field is overwritten. If the argument to a
udf was a field, the field's name as seen by name resolution was
overwritten this way.
If the field name was quoted or escaped, it would appear as e.g. "`field`".
Fixed by not overwriting field names.
2009-09-07 11:57:22 +02:00
Mikael Ronstrom
ea5d204370 Fix to ensure that all subpartitions gets deleted before renaming starts, BUG#47029 2009-09-07 10:37:54 +02:00
a7ba25f72b Bug#46010 main.ctype_gbk_binlog fails sporadically : Table 't2' already exists
This test case uses mysqlbinlog to dump the content of master-bin.000001,
but the content of master-bin.000001 is not that this test needs.

MTR runs a lot of test cases on one server, so when this test starts, the current binlog file
might not be master-bin.000001, or there are other events are written by tests before.
'RESET MASTER' command must be called at the begin, it ensures that binlog of this test
is wrote to master-bin.000001 correctly.  

Three other tests have the same problem, They were fixed together.
mysqlbinlog-cp932
binlog_incident
binlog_tmp_table
2009-09-07 13:42:54 +08:00
c21168f37a Bug#45581 Test rpl_row_sp006_InnoDB fails randomly: Unknown database 'mysqltest1'
Postfix.
extra/rpl_tests/rpl_row_sp006.test had changed to fix this bug.
extra/rpl_tests/rpl_row_sp006.test is also referenced by rpl_ndb_sp006,
So rpl_row_sp006.result must be changed too.
2009-09-07 13:01:03 +08:00