Commit graph

67665 commits

Author SHA1 Message Date
Vasil Dimov
cae834561e Merge mysql-5.1-bugteam from bk-internal into my local repo 2010-11-18 16:04:53 +02:00
Vasil Dimov
c8353d51ae Merge mysql-5.5-bugteam from bk-internal into my local repo 2010-11-18 16:02:30 +02:00
Vasil Dimov
759c5b0a1f Merge mysql-5.1-bugteam -> mysql-5.5-bugteam (empty) 2010-11-18 15:48:45 +02:00
Vasil Dimov
5aa89abf59 Merge mysql-5.5-innodb -> mysql-5.5-bugteam 2010-11-18 15:47:05 +02:00
Vasil Dimov
dacd97b487 Merge mysql-5.1-innodb -> mysql-5.1-bugteam 2010-11-18 15:45:36 +02:00
Davi Arnaut
e0a17f5698 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
eab35cc8cf Merging from mysql-5.1-bugteam. 2010-11-18 16:35:15 +03:00
Alexander Barkov
8f4af42145 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
54d6357837 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
bd15ec0086 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
c45458524c Fix a debug assertion caused by a missing DBUG_RETURN macro.
sql/sql_acl.cc:
  Must use DBUG_RETURN in a function instrumented with DBUG_ENTER.
2010-11-17 19:02:48 -02:00
Tor Didriksen
36ab257491 Bug #58137 char(0) column cause: my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
mysql-test/r/func_math.result:
  Add test for Bug #58137
mysql-test/t/func_math.test:
  Add test for Bug #58137
sql/field.cc:
  Skip calling my_gcvt() if we are trying to insert a double into a char(0) column.
2010-11-17 16:39:35 +01:00
Bjorn Munch
32ea070845 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
Georgi Kodinov
c4afc041d0 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
376090caaa 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
f4586f488e merge 2010-11-19 16:01:00 +02:00
Georgi Kodinov
c5e909b6eb merge 2010-11-19 15:56:08 +02:00
Sven Sandberg
4af50d8655 Made tests clean up after themselves. 2010-11-19 14:54:29 +01:00
Bjorn Munch
196b1cc79e avoid compilation warning about incomplete switch 2010-11-19 12:35:53 +01:00
Bjorn Munch
3d8a211842 null upmerge 2010-11-19 11:28:17 +01:00
Bjorn Munch
dfca5156c3 merge from 5.5-mtr 2010-11-19 11:26:43 +01:00
Bjorn Munch
5da7193a7b upmerge 58257 2010-11-18 16:41:35 +01:00
Bjorn Munch
32b7c75073 upmerge 58087 2010-11-17 11:18:52 +01:00
Bjorn Munch
ef4458af07 Tests: many if/while expresissons simplified after 57276 2010-11-17 11:16:13 +01:00
Davi Arnaut
cd9bee8da2 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-17 07:50:19 -02:00
Davi Arnaut
c324624291 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.

include/m_string.h:
  The expansion of stpcpy (in glibc) causes warnings if the
  return value of strmov is not being used. Since stpcpy is
  a GNU extension and the expansion ends up using a built-in
  provided by GCC, use the compiler provided built-in directly
  when possible. Nonetheless, the C library must have stpcpy
  as a call be emitted if the built-in can not optimized.
2010-11-17 07:41:29 -02:00
Davi Arnaut
247a696d79 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.

sql/log_event.cc:
  Explicit update after the query is executed in the slave.
sql/sql_parse.cc:
  Reorganize so that the status flag is updated for any command and
  not done twice for a query command.
2010-11-16 19:57:18 -02:00
Jon Olav Hauglid
b5ec360731 Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
2010-11-17 17:42:28 +01:00
Jon Olav Hauglid
1e9f239e8f 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
9aa70e5188 Merging with mysql-5.5-bugteam 2010-11-16 12:19:24 +01:00
Mats Kindahl
4ea1b2fcb1 Merging with mysql-5.5-bugfixing. 2010-11-16 12:12:09 +01:00
Mats Kindahl
34b8e774b8 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
0ef8d8e26c 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
0d0b3f8aca Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-16 07:45:07 -02:00
Magnus Blåudd
31e30ee326 Bug#58158 LINK_LIBRARIES for MYSQL_ADD_PLUGIN is not added to libmysqld
- Add ARG_LINK_LIBRARIES to MYSQLD_STATIC_PLUGIN_LIBS in
    MYSQL_ADD_PLUGIN so that any libraries listed by the plugin is
    added to libmysqld
  - remove the variables NDB_CLIENT_LIBS and NDB_CLUSTER_INCLUDES
    from libmysqld/CMakeLists.txt since those are just old remnants
2010-11-16 10:05:54 +01:00
Jon Olav Hauglid
0caa22b145 Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
2010-11-16 10:05:19 +01:00
Marc Alff
ce89012c8b Bug#56760 PFS_lock::allocated_to_free() assert failures on osx10.5-x86-64bit
Before this fix, an assert could fail in PFS_lock::allocated_to_free(), during shutdown.
The assert itself is valid, and detects an anomaly caused by bug 56666.

While bug 56666 has no real consequences in production,
the failure caused by this new assert in the code is negatively
impacting the test suite with automated tests.

This fix is a work around only, that relaxes the integrity checks 
during the server shutdown.
2010-11-16 09:36:42 +01:00
Marc Alff
d6d16303cd Local merge 2010-11-16 06:59:26 +01:00
Marc Alff
030c757f9f Local merge 2010-11-16 06:45:24 +01:00
Mattias Jonsson
7bf0df4667 disabled main.create-big as pre-push fix 2010-11-16 02:01:49 +01:00
Mattias Jonsson
717fa1902f Manual merge of bug#58197 to mysql-5.5.
Including adding test in 5.5 requiring --big-test
flag from mysql-test-run.pl and also disabled
tests that fails.

mysql-test/collections/default.weekly:
  Added all tests requiring --big-test in alphabetical order
mysql-test/r/information_schema-big.result:
  Updated result
mysql-test/r/variables-big.result:
  updated results
mysql-test/t/disabled.def:
  Added tests that fails (has not been run
  regularly since they need --big-test)
2010-11-16 01:11:06 +01:00
Mattias Jonsson
6780abfce6 merge 2010-11-15 23:57:14 +01:00
Mattias Jonsson
a94819be10 merge 2010-11-15 23:38:26 +01:00
Mattias Jonsson
80257cd48a merge 2010-11-15 17:44:27 +01:00
Mattias Jonsson
3df98a289c merge 2010-11-15 17:13:53 +01:00
Jorgen Loland
1945734c2d Bug#54812: assert in Diagnostics_area::set_ok_status
during EXPLAIN

Before the patch, send_eof() of some subclasses of 
select_result (e.g., select_send::send_eof()) could 
handle being called after an error had occured while others 
could not. The methods that were not well-behaved would trigger
an ASSERT on debug builds. Release builds were not affected.

Consider the following query as an example for how the ASSERT
could be triggered:

A user without execute privilege on f() does
   SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
resulting in "ERROR 42000: execute command denied to user..." 

The server would end the query by calling send_eof(). The 
fact that the error had occured would make the ASSERT trigger. 

select_dumpvar::send_eof() was the offending method in the
bug report, but the problem also applied to other 
subclasses of select_result. This patch uniforms send_eof() 
of all subclasses of select_result to handle being called 
after an error has occured. 

mysql-test/r/not_embedded_server.result:
  Added test for BUG#54812
mysql-test/t/not_embedded_server.test:
  Added test for BUG#54812
sql/sql_class.cc:
  send_eof() of all subclasses of select_result can now handle being
  called after an error has occured.
sql/sql_insert.cc:
  send_eof() of all subclasses of select_result can now handle being
  called after an error has occured.
  Also fix call to abort() in select_create::send_eof(), which was supposed to abort the result set, not terminate the server. This call to abort() should have been changed when the function was renamed from abort_result_set() but was forgotten. New test case added by BUG#54812 covered this line and terminated server.
sql/sql_prepare.cc:
  send_eof() of all subclasses of select_result can now handle being
  called after an error has occured.
sql/sql_update.cc:
  send_eof() of all subclasses of select_result can now handle being
  called after an error has occured.
2010-11-15 16:18:04 +01:00
Mattias Jonsson
47b514ffce Bug#58197: main.variables-big fails on windows
The test result differs on windows, since
it writes out 'localhost:<port>' instead of
only 'localhost', since it uses tcp/ip instead
of unix sockets on windows.

Fixed by replacing that column.

Also requires --big-test from some long running tests
and added a weekly run of all test requiring --big-test.

mysql-test/collections/default.weekly:
  Added a run of big-test (already exists in 5.5).
mysql-test/r/variables-big.result:
  Updated results
mysql-test/suite/parts/t/part_supported_sql_func_innodb.test:
  requiring --big-test since the test takes long time
mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test:
  requiring --big-test since the test takes long time
mysql-test/suite/parts/t/partition_alter1_2_innodb.test:
  requiring --big-test since the test takes long time
mysql-test/suite/parts/t/partition_alter4_innodb.test:
  requiring --big-test since the test takes long time
mysql-test/t/disabled.def:
  Disabled two tests since they fail and was already
  reported as bugs (but was never run since they requires
  --big-test flag).
mysql-test/t/variables-big.test:
  Replacing column 3 in process list since it
  is not the same on windows as in unix.
2010-11-15 16:17:38 +01:00
Bjorn Munch
92a1a11203 Bug #58087 mysqltest re-evaluates 'let' expressions infinitely
Results from query is sent for evaluation
Break recursion by asking for ` to be ignored
2010-11-15 14:23:02 +01:00
Magnus Blåudd
49ce7daa94 Merge 5.5-bug58195 -> 5.5-mtr 2010-11-15 12:47:05 +01:00
Jon Olav Hauglid
a3d9a26d3b Bug #57663 Concurrent statement using stored function and DROP DATABASE
breaks SBR

This pre-requisite patch removes obsolete and dead code used to remove
raid subdirectories and files during DROP DATABASE.

Other parts of the raid code have already been removed in WL#5498
and the support for MyISAM raid tables was removed in 5.0.
2010-11-15 12:32:49 +01:00