Commit graph

65944 commits

Author SHA1 Message Date
Mattias Jonsson
a0752a9eaf merge 2010-07-09 15:02:27 +02:00
Mattias Jonsson
6433a55356 merge 2010-07-09 15:00:33 +02:00
Mattias Jonsson
70e490430f merge 2010-07-09 14:59:40 +02:00
Georgi Kodinov
07e1cdc179 Addendum #3 to bug #53095 : fixed the wrong mysql-trunk tests. 2010-07-09 15:55:13 +03:00
Davi Arnaut
147963007b Remove AC_LANG_WERROR, it causes trouble earlier versions
of autoconf and is not strictly needed for now.
2010-07-09 09:51:21 -03:00
Georgi Kodinov
7d9cb31e69 merge 2010-07-09 15:40:38 +03:00
Davi Arnaut
e1f748c0bd Merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-09 09:28:51 -03:00
Georgi Kodinov
5e4fe83272 Addendum #2 to bug #53095 : fixed a bad testcase result. 2010-07-09 15:17:47 +03:00
Davi Arnaut
ed9ffc6b09 Bug#45288: pb2 returns a lot of compilation warnings on linux
Although the C standard mandates that sprintf return the number
of bytes written, some very ancient systems (i.e. SunOS 4)
returned a pointer to the buffer instead. Since these systems
are not supported anymore and are hopefully long dead by now,
simply remove the portability wrapper that dealt with this
discrepancy. The autoconf check was causing trouble with GCC.
2010-07-09 09:00:17 -03:00
Davi Arnaut
4f59204b49 Bug#53445: Build with -Wall and fix warnings that it generates
Introduce a MySQL maintainer/developer mode that enables
a set of warning options for the C/C++ compiler. This mode
is intended to help improve the overall quality of the code.

The warning options are:

C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Werror"
CXX_WARNINGS="$C_WARNINGS -Wno-unused-parameter"

Since -Wall is essentially a moving target, autoconf checks
are not run with warning options enabled, in particualr -Werror.
This decision might be revisited in the future. The patch also
fixes a mistake in the makefiles, where automake CXXFLAGS would
be set to CFLAGS.
2010-07-09 08:37:51 -03:00
Mattias Jonsson
9414aee225 Bug#52517: Regression in ROW level replication performance with partitions
In bug-28430 HA_PRIMARY_KEY_REQUIRED_FOR_POSITION
was disabled in the partitioning engine in the first patch,
That bug was later fixed a second time, but that flag
was not removed.

No need to disable this flag, as it leads to bad
choise in row replication.
2010-07-09 13:15:26 +02:00
Sergey Glukhov
80935b8659 5.1-bugteam->trunk-merge merge 2010-07-09 14:46:46 +04:00
Sergey Glukhov
3c39a56208 Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
The problem there is that HAVING condition evaluates const
parts of condition despite the condition has references
on aggregate functions. Table t1 became const tables
after make_join_statistics and table1.pk = 1, HAVING is
transformed into MAX(1) < 7 and taken away from HAVING.
The fix is to skip evaluation of HAVING conts parts if
HAVING condition has references on aggregate functions.
2010-07-09 14:39:47 +04:00
Mattias Jonsson
e13405a79f Bug#52455: Subpar INSERT ON DUPLICATE KEY UPDATE performance with many partitions
The handler function for reading one row from a specific index
was not optimized in the partitioning handler since it
used the default implementation.

No test case since it is performance only, verified by hand.
2010-07-09 01:09:31 +02:00
38876dc9af Auto merge 2010-07-08 10:49:22 +08:00
b440125f1c Postfix bug#48321
Fix the memory leak
2010-07-08 10:44:26 +08:00
Georgi Kodinov
15a95344d0 merge 2010-07-07 13:05:08 +03:00
Georgi Kodinov
28004bd592 Addendum to the fix for bug #53095 (failing information_schema.test on windows)
Since the original fix for this bug lowercases the search pattern it's not a 
good idea to copy the search pattern to the output instead of the real table 
name found (since, depending on the case mode these two names may differ in 
case).
Fixed the infrmation_schema.test failure by making sure the actual table 
name of an inoformation schema table is passed instead of the lookup pattern
even when the pattern doesn't contain wildcards.
2010-07-07 12:15:58 +03:00
Davi Arnaut
ebc81cad88 Fix what is probably the result of a bad merge. No functional change. 2010-07-06 19:31:54 -03:00
Davi Arnaut
3e5230d206 Merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-06 18:27:13 -03:00
Davi Arnaut
e087f69dc5 Bug#52514: mysql 5.1 do_abi_check does not compile w/ gcc4.5
due to GCC preprocessor change

Temporary workaround: disable abi_check if GCC >= 4.5
2010-07-06 15:36:31 -03:00
Davi Arnaut
4a0574f64f Null merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-05 10:24:23 -03:00
Davi Arnaut
46a3afb331 Bug#22320: my_atomic-t unit test fails
The atomic operations implementation on 5.1 has a few problems,
which might cause tests to abort randomly. Since no code in 5.1
uses atomic operations, simply remove the code.
2010-07-05 09:00:39 -03:00
Georgi Kodinov
ff381a6a33 merge 2010-07-05 13:22:13 +03:00
Georgi Kodinov
1fc3a87bdb merge 2010-07-05 13:05:04 +03:00
b8671789e9 Manual merge 2010-07-04 16:49:46 +08:00
363a2ccc0c Postfix for bug#48321
Some test cases set ANSI_QUOTES in sql_mode.
So we have to use single quotes to quote literal strings.
2010-07-04 16:17:53 +08:00
fe6ab9a06b Manul merge 2010-07-04 12:36:09 +08:00
42eecc539a The following statements support the CURRENT_USER() where a user is needed.
DROP USER 
RENAME USER CURRENT_USER() ...
GRANT ... TO CURRENT_USER()
REVOKE ... FROM CURRENT_USER()
ALTER DEFINER = CURRENT_USER() EVENTbut, When these statements are binlogged, CURRENT_USER() just is binlogged
as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
executes the log event, 'CURRENT_USER()' is expand to the user of slave 
SQL thread, but SQL thread's user name always NULL. This breaks the replication.

After this patch, session's user will be written into query log events 
if these statements call CURREN_USER() or 'ALTER EVENT' does not assign a definer.
2010-07-04 12:02:49 +08:00
Davi Arnaut
1c712120de Merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-03 20:19:36 -03:00
Davi Arnaut
245645e225 Unset the execute bit where it's not needed. 2010-07-03 20:17:03 -03:00
Davi Arnaut
fb8df6c7b4 Fix somewhat bogus GCC warning. Although needless as the base
class is mostly empty, initialize the base class explicitly in
the copy constructor.
2010-07-03 10:20:05 -03:00
Davi Arnaut
7b449cd8e0 Post-merge fix: restore promotion to unsigned long long side-effect of bit_is_set. 2010-07-03 09:28:27 -03:00
Davi Arnaut
93deacecb5 Merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-02 19:02:28 -03:00
Davi Arnaut
082036ac6b Bug#53445: Build with -Wall and fix warnings that it generates
If bzero is not available, resort to memset. Also, remove dead
bzero.c
2010-07-02 18:42:32 -03:00
Davi Arnaut
74283a052e Merge of mysql-5.1-bugteam into mysql-trunk-merge. 2010-07-02 16:38:04 -03:00
Davi Arnaut
93fb8bb235 Bug#53445: Build with -Wall and fix warnings that it generates
Apart strict-aliasing warnings, fix the remaining warnings
generated by GCC 4.4.4 -Wall and -Wextra flags.

One major source of warnings was the in-house function my_bcmp
which (unconventionally) took pointers to unsigned characters
as the byte sequences to be compared. Since my_bcmp and bcmp
are deprecated functions whose only difference with memcmp is
the return value, every use of the function is replaced with
memcmp as the special return value wasn't actually being used
by any caller.

There were also various other warnings, mostly due to type
mismatches, missing return values, missing prototypes, dead
code (unreachable) and ignored return values.
2010-07-02 15:30:47 -03:00
Georgi Kodinov
6d5b440126 merge 2010-07-02 14:25:26 +03:00
Georgi Kodinov
5b7d130a83 merge 2010-07-02 14:23:07 +03:00
Georgi Kodinov
51870d25ef merge 2010-07-02 14:21:48 +03:00
Georgi Kodinov
5787f0f20e Bug #53613: mysql_upgrade incorrectly revokes TRIGGER privilege on given table
Fixed an incomplete historical ALTER TABLE MODIFY trimming the trigger 
privilege bit from mysql.tables_priv.Table_priv column.
Removed the duplicate ALTER TABLE MODIFY.
Test suite added.
2010-07-01 12:05:09 +03:00
Alexey Kopytov
02de8f68a5 Automerge. 2010-07-01 12:12:15 +04:00
Alexey Kopytov
988dc23000 Automerge. 2010-07-01 12:10:35 +04:00
Alexey Kopytov
920e09db4d Automerge. 2010-07-01 12:10:06 +04:00
Alexey Kopytov
92f7433d71 Manual merge from 5.1.
conflicts:
   conflict      include/my_alarm.h
2010-07-01 12:06:41 +04:00
Alexey Kopytov
ac89d92625 Bug#54667: Unnecessary signal handler redefinition
POSIX requires that a signal handler defined with sigaction()
is not reset on delivering a signal unless SA_NODEFER or
SA_RESETHAND is set. It is therefore unnecessary to redefine
the handler on signal delivery on platforms where sigaction()
is used without those flags.
2010-07-01 12:02:00 +04:00
Sergey Glukhov
b71629a37d 5.1-bugteam->trunk-merge merge 2010-06-30 17:16:56 +04:00
Sergey Glukhov
a6220d8279 Bug#51431 Wrong sort order after import of dump file
The problem is that QUICK_SELECT_DESC behaviour depends
on used_key_parts value which can be bigger than selected
best_key_parts value if an engine supports clustered key.
But used_key_parts is overwritten with best_key_parts
value that prevents from correct selection of index
access method. The fix is to preserve used_key_parts
value for further use in QUICK_SELECT_DESC.
2010-06-30 17:06:25 +04:00
Staale Smedseng
1ceb1d1bc3 Automerge 2010-06-30 11:17:27 +02:00
Staale Smedseng
3b3983a408 Bug #53899 Wrong mysql_stmt_errno() after connection loss with
automatic reconnect

A client with automatic reconnect enabled will see the error
message "Lost connection to MySQL server during query" if the
connection is lost between mysql_stmt_prepare() and
mysql_stmt_execute(). The mysql_stmt_errno() number, however,
is 0 -- not the corresponding value 2013.

This patch checks for the case where the prepared statement
has been pruned due to a connection loss (i.e., stmt->mysql
has been set to NULL) during a call to cli_advanced_command(),
and avoids changing the last_errno to the result of the last
reconnect attempt.
2010-06-30 11:16:06 +02:00