Commit graph

67626 commits

Author SHA1 Message Date
Georgi Kodinov
1ab1cb8a77 Bug #58119: Typo in warning on log: [Warning] 'proxes_priv' entry
Fixed a typo in an error message.
2010-11-19 13:37:25 +02:00
Georgi Kodinov
c6733ff655 Bug #57559: Crash in Client plugin api
The plugin code was releasing the plugin and 
only then was reporting an error referencing it.
Fixed by first reporting an error and then freeing up
the plugin.
2010-11-17 15:26:11 +02:00
Georgi Kodinov
bb642a5cc0 Bug #57551: Live upgrade fails between 5.1.52 -> 5.5.7-rc
Updated the server to treat a missing mysql.proxies_priv table 
as empty. 
Added some grants to make sure tables are correctly opened
when they must be opened.
Fixed a mysql_upgrade omission not adding rights to root to 
execute GRANT PROXY on other users.
Removed a redundant CREATE TABLE from 
mysql_system_tables_fix.sql since it's always executed after
mysql_system_tables.sql and the first file has CREATE TABLE 
in it. 
Added a test case for the above.
Fixed error handling code to close the cursor
2010-11-19 16:35:04 +02:00
Georgi Kodinov
41a03ab9cd merge 2010-11-19 16:01:00 +02:00
Georgi Kodinov
5dc48be160 merge 2010-11-19 15:56:08 +02:00
Sven Sandberg
a3028ec49a Made tests clean up after themselves. 2010-11-19 14:54:29 +01:00
Bjorn Munch
f45b6605a2 avoid compilation warning about incomplete switch 2010-11-19 12:35:53 +01:00
Bjorn Munch
533e1731e9 null upmerge 2010-11-19 11:28:17 +01:00
Bjorn Munch
0b260aca41 merge from 5.5-mtr 2010-11-19 11:26:43 +01:00
Vladislav Vaintroub
e2fb2141d3 merge 2010-11-19 11:20:47 +01:00
Bjorn Munch
b295a25109 merge from 5.1-mtr 2010-11-19 10:29:08 +01:00
Dmitry Lenev
41af8df76f Fix tree name which was accidentally changed
during the merge.
2010-11-19 11:31:56 +03:00
Dmitry Lenev
8d0eabd20a Merged recent change from mysql-5.5-bugteam into
mysql-5.5-runtime tree.
2010-11-19 10:46:50 +03:00
Dmitry Lenev
4ca561e78b Suppress false-positive uninitialized variable use
warnings in Event_queue::get_top_for_execution_if_time()
method which has caused -Werror build to fail.
2010-11-19 10:41:09 +03:00
Dmitry Lenev
b019ba2f47 Fix for bug #57985 "ONLINE/FAST ALTER PARTITION can fail and
leave the table unusable".
 
Failing ALTER statement on partitioned table could have left
this table in an unusable state. This has happened in cases
when ALTER was executed using "fast" algorithm, which doesn't 
involve copying of data between old and new versions of table, 
and the resulting new table was incompatible with partitioning
function in some way.
 
The problem stems from the fact that discrepancies between new 
table definition and partitioning function are discovered only 
when the table is opened. In case of "fast" algorithm this has
happened too late during ALTER's execution, at the moment when
all changes were already done and couldn't have been reverted.
 
In the cases when "slow" algorithm, which copies data, is used 
such discrepancies are detected at the moment new table
definition is opened implicitly when new version of table is
created in storage engine. As result ALTER is aborted before 
any changes to table were done.
 
This fix tries to address this issue by ensuring that "fast"
algorithm behaves similarly to "slow" algorithm and checks
compatibility between new definition and partitioning function 
by trying to open new definition after .FRM file for it has 
been created.
 
Long term we probably should implement some way to check
compatibility between partitioning function and new table
definition which won't involve opening it, as this should
allow much cleaner fix for this problem.
2010-11-19 10:26:09 +03:00
Alexander Barkov
bdfcad0f9b Bug#57306 SHOW PROCESSLIST does not display string literals well.
A post-patch fixing test failures on Windows.

Host name in "SHOW PROCESSLIST" is displayed with port number
for some reasons.
2010-11-19 08:33:34 +03:00
Jon Olav Hauglid
2d773c8b3a Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
2010-11-18 17:52:53 +01:00
Georgi Kodinov
589428b625 Bug #50021: Windows standard configuration files are showing Linux
options/settings
 
 1. Changed the default value for socket on Windows to the windows
 default
 2. Removed hard-coded trailing slashes from innodb_data_home_dir
 and innodb_log_group_name_dir.
 3. Added extra backslashes to the innodb directory example
 4. Made the tempdir platform "dependent"
 5. Fixed the comments in the .ini files
 6. Removed the tmpdir from the templates and the scripts
2010-11-18 18:02:37 +02:00
Bjorn Munch
374c6447ca upmerge 58257 2010-11-18 16:41:35 +01:00
Jon Olav Hauglid
a2275f0c8f Merge from mysql-5.5-runtime to mysql-5.5-bugteam
No conflicts
2010-11-18 16:01:58 +01:00
Alexander Barkov
f481c14e3e Auto-merge 2010-11-18 17:10:43 +03:00
Vasil Dimov
2db59b4d9f Merge mysql-5.1-bugteam -> mysql-5.5-bugteam (empty) 2010-11-18 16:12:13 +02:00
Alexander Barkov
fad763a81f Bug#57306 SHOW PROCESSLIST does not display string literals well.
Problem: Extended characters outside of ASCII range where not displayed
properly in SHOW PROCESSLIST, because thd_info->query was always sent as 
system_character_set (utf8). This was wrong, because query buffer
is never converted to utf8 - it is always have client character set.

Fix: sending query buffer using query character set

  @ sql/sql_class.cc
  @ sql/sql_class.h
    Introducing a new class CSET_STRING, a LEX_STRING with character set.
    Adding set_query(&CSET_STRING)
    Adding reset_query(), to use instead of set_query(0, NULL).

  @ sql/event_data_objects.cc
    Using reset_query()

  @ sql/log_event.cc
    Using reset_query()
    Adding charset argument to set_query_and_id().

  @ sql/slave.cc
    Using reset_query().

  @ sql/sp_head.cc
    Changing backing up and restore code to use CSET_STRING.

  @ sql/sql_audit.h
    Using CSET_STRING.
    In the "else" branch it's OK not to use
    global_system_variables.character_set_client.
    &my_charset_latin1, which is set in constructor, is fine
    (verified with Sergey Vojtovich).

  @ sql/sql_insert.cc
    Using set_query() with proper character set: table_name is utf8.

  @ sql/sql_parse.cc
    Adding character set argument to set_query_and_id().
    (This is the main point where thd->charset() is stored
     into thd->query_string.cs, for use in "SHOW PROCESSLIST".)
    Using reset_query().
    
  @ sql/sql_prepare.cc
    Storing client character set into thd->query_string.cs.

  @ sql/sql_show.cc
    Using CSET_STRING to fetch and send charset-aware query information
    from threads.

  @ storage/myisam/ha_myisam.cc
    Using set_query() with proper character set: table_name is utf8.

  @ mysql-test/r/show_check.result
  @ mysql-test/t/show_check.test
    Adding tests
2010-11-18 17:08:32 +03:00
Vasil Dimov
da58ea8375 Merge mysql-5.1-bugteam from bk-internal into my local repo 2010-11-18 16:04:53 +02:00
Vasil Dimov
459c3b8f55 Merge mysql-5.5-bugteam from bk-internal into my local repo 2010-11-18 16:02:30 +02:00
Vasil Dimov
a4b86d7dae Merge mysql-5.1-bugteam -> mysql-5.5-bugteam (empty) 2010-11-18 15:48:45 +02:00
Vasil Dimov
3cd3081ac1 Merge mysql-5.5-innodb -> mysql-5.5-bugteam 2010-11-18 15:47:05 +02:00
Vasil Dimov
3ff58881bd Merge mysql-5.1-innodb -> mysql-5.1-bugteam 2010-11-18 15:45:36 +02:00
Davi Arnaut
a6d21fc09b In certain phases of query processing, a interrupted error might
be sent to a user even if its the connection that is actually
being killed.
2010-11-18 11:41:08 -02:00
Alexander Barkov
52331c6613 Merging from mysql-5.1-bugteam. 2010-11-18 16:35:15 +03:00
Alexander Barkov
d720c49188 Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
Problem: crash in Item_float constructor on DBUG_ASSERT due
to not null-terminated string parameter.

Fix: making Item_float::Item_float non-null-termintated parameter safe:
- Using temporary buffer when generating error

modified:
  @ mysql-test/r/xml.result
  @ mysql-test/t/xml.test
  @ sql/item.cc
2010-11-18 16:11:18 +03:00
Magne Mahre
64c059b0a8 Bug#58199 name_const in the having clause crashes
NAME_CONST(..) was used wrongly in a HAVING clause, and
should have caused a user error.  Instead, it caused a
segmentation fault.
      
During parsing, the value parameter to NAME_CONST was
specified to be an uninitialized Item_ref object (it
would be resolved later).   During the semantic analysis,
the object is tested, and since it was not initialied,
the server seg.faulted.
      
The fix is to check if the object is initialized
before testing it.  The same pattern has already been
applied to most other methods in the Item_ref class.
      
Bug was introduced by the optimization done as part of
Bug#33546.
2010-11-18 14:02:24 +01:00
Vladislav Vaintroub
be93a81172 Bug#58272: -DBUILD_CONFIG=mysql_release is broken with cmake 2.8.3
The reason  for the bug is that :
-  we use system checks in cmake/os/mysql_release.cmake 
-  we include cmake/os/mysql_release.cmake using CMAKE_USER_MAKE_RULES_OVERRIDE 
-  this  (having system checks based on TRY_COMPILE inside file pointed by 
   CMAKE_USER_MAKE_RULES_OVERRIDE  does not work with cmake 2.8.3,
   and  according to Kitware was never meant to work, it just happened to work by accident
   until 2.8.2 release (though, it seems not to work wiith 2.6.0 either)

Related CMake bug discussing the situation:
http://public.kitware.com/Bug/view.php?id=11469  

The fix is to use INCLUDE instead of CMAKE_USER_MAKE_RULES_OVERRIDE as suggested
by Kitware. The downside is that compile flags are not in cache, but this is  pure cosmetics.
The functionality is the same,  flags are used for compiling are correct using INCLUDE.
2010-11-17 22:06:24 +01:00
Davi Arnaut
94c79b37a0 Fix a debug assertion caused by a missing DBUG_RETURN macro. 2010-11-17 19:02:48 -02:00
Tor Didriksen
0654c94ca2 Bug #58137 char(0) column cause: my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed 2010-11-17 16:39:35 +01:00
Bjorn Munch
d718af063e Bug #58257 mysqltest: in if(), ! $var with space is always false
Evaluation would start with the space and thus ignore the $
Added while() to skip past white space
2010-11-17 16:05:52 +01:00
Bjorn Munch
f6b1d5a63e upmerge 58087 2010-11-17 11:18:52 +01:00
Bjorn Munch
0f551def8f Tests: many if/while expresissons simplified after 57276 2010-11-17 11:16:13 +01:00
Davi Arnaut
46dd9e8658 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-17 07:50:19 -02:00
Davi Arnaut
aaa370f5d7 Bug#57994: Compiler flag change build error : my_redel.c
Use __builtin_stpcpy only if the system supports stpcpy.
This is necessary as in some cases a call to stpcpy will
be emitted if the built-in can not optimized.
2010-11-17 07:41:29 -02:00
Davi Arnaut
afcf7bc71c Bug#57058: SERVER_QUERY_WAS_SLOW not wired up.
Finalize the server flags after any kind of command is executed.
To avoid updating the flag multiple times, reorganize code so that
its invoked only once for each command.
2010-11-16 19:57:18 -02:00
Jon Olav Hauglid
b23c19e82f Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
2010-11-17 17:42:28 +01:00
Jon Olav Hauglid
ed928b14be Bug #57663 Concurrent statement using stored function and DROP DATABASE
breaks SBR

The problem was that DROP DATABASE ignored any metadata locks on stored
functions and procedures held by other connections. This made it
possible for DROP DATABASE to drop functions/procedures that were in use
by other connections and therefore break statement based replication.
(DROP DATABASE could appear in the binlog before a statement using a
dropped function/procedure.)

This problem was an issue left unresolved by the patch for Bug#30977
where metadata locks for stored functions/procedures were introduced.

This patch fixes the problem by making sure DROP DATABASE takes
exclusive metadata locks on all stored functions/procedures to be
dropped.

Test case added to sp-lock.test.
2010-11-17 15:37:23 +01:00
Mats Kindahl
b0185d2a81 Merging with mysql-5.5-bugteam 2010-11-16 12:19:24 +01:00
Mats Kindahl
55c752fc75 Merging with mysql-5.5-bugfixing. 2010-11-16 12:12:09 +01:00
Mats Kindahl
3219886dc2 Bug #58173: Valgrind warning in load_defaults()
Memory was allocated for storing path names inside
fn_expand(), which were not free:ed anywhere.

This patch fixes the problem by storing the path
names in statically allocated buffers instead,
which is automatically free:ed when the server
exits.
2010-11-16 11:58:39 +01:00
Jon Olav Hauglid
a84d750300 Bug #57663 Concurrent statement using stored function and DROP DATABASE
breaks SBR

This pre-requisite patch refactors the code for dropping tables, used
by DROP TABLE and DROP DATABASE. The patch moves the code for acquiring
metadata locks out of mysql_rm_table_part2() and makes it the
responsibility of the caller. This in preparation of changing the
DROP DATABASE implementation to acquire all metadata locks before any
changes are made. mysql_rm_table_part2() is renamed
mysql_rm_table_no_locks() to reflect the change.
2010-11-16 11:00:12 +01:00
Davi Arnaut
2495e10c11 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-16 07:45:07 -02:00
Jon Olav Hauglid
2ef19bdcc4 Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
2010-11-16 10:05:19 +01:00
Marc Alff
b4b3c996af Local merge 2010-11-16 06:59:26 +01:00