Commit graph

66705 commits

Author SHA1 Message Date
Vasil Dimov
a962007dae Whitespace fixup on ha_innodb.cc:2567 2010-09-10 12:32:21 +03:00
Marko Mäkelä
7b4b1acdb3 Merge Vasil Dimov 2010-09-09 Enable UNIV_DEBUG when WITH_DEBUG is defined 2010-09-09 15:14:05 +03:00
Marko Mäkelä
06f41e335b Remove ut0auxconf.h.
It was needed when InnoDB Plugin was distributed independently of MySQL.
Approved by Vasil Dimov.
2010-09-09 14:27:52 +03:00
Marko Mäkelä
30fdbe35d4 Invoke make with -j$(nproc) for better parallelism. 2010-09-09 13:50:06 +03:00
Marko Mäkelä
76d68c814b ibuf_insert_to_index_page(): Remove bogus code added for delete buffering.
In early development of delete buffering, we did allow B-tree pages
to become empty as a result of buffered deletes. That caused fundamental
problems. The fix was to refuse buffering purge operations unless
the page can be guaranteed to be nonempty. Remove an attempt to
cope with empty pages when merging inserts.
2010-09-09 13:48:00 +03:00
Marko Mäkelä
130bfccc93 Remove unused constant REC_INFO_BITS.
This was replaced with REC_OLD_INFO_BITS in MySQL 5.0.3.
2010-09-09 13:44:04 +03:00
Vasil Dimov
32253e4582 Enable UNIV_DEBUG when WITH_DEBUG is defined 2010-09-09 13:06:43 +03:00
Vasil Dimov
1fe035c121 Merge mysql-5.5-bugfixing -> mysql-5.5-innodb 2010-09-09 12:30:05 +03:00
Alexey Botchkov
9c1fffab17 merging. 2010-09-08 13:54:49 +05:00
Alexey Botchkov
406c5a176a merging. 2010-09-08 13:53:03 +05:00
Vasil Dimov
cda13e7415 Fix Bug#56384 Remove two COPYING files from innobase directory
Remove non applicable licensing files

storage/innobase/COPYING is in the MySQL top level directory and
storage/innobase/COPYING.Sun_Microsystems is not applicable anymore
now that Oracle and Sun are one company.
2010-09-07 21:09:50 +03:00
Mats Kindahl
788d3c4518 Bug #55966: "plugin" tests fail in 5.5
On Solaris with version 3.4.6, the ha_example.so shared library is built
with DTrace and the server is built without DTrace support. This occurs
because dtrace.cmake disables DTrace support for 3.4.6, but still set
HAVE_DTRACE, which causes probes_mysql.h to include probes_mysql_dtrace.h
instead of probes_mysql_nodtrace.h.

This patch fixes this by not setting HAVE_DTRACE on Solaris for GCC 3.4.6.
2010-09-06 14:45:12 +02:00
Vladislav Vaintroub
08e1a5b770 Small fixes in CMake:
create data dir correctly in initial_database target on Windows
 handle case where INSTALL_MYSQLTESTDIR is empty (e.g someone does not want
 to install tests)
2010-09-03 00:17:08 +02:00
Alexey Botchkov
3886c3a46d Bug#53251 mysql_library_init fails on second execution with embedded library
thread-specific variables weren't set when we load error message files.

per-file comments:
  libmysqld/lib_sql.cc
Bug#53251      mysql_library_init fails on second execution with embedded library
      we need to call my_thread_init() once more. Normally it's called at the my_init()
      stage but that doesn't happen on the second my_init() call.

  sql/derror.cc
Bug#53251      mysql_library_init fails on second execution with embedded library
     use default errors for the embedded server.

  sql/mysqld.cc
Bug#53251      mysql_library_init fails on second execution with embedded library
        unregister server errors in clean_up(). Without it the error list contains
        that on the second mysql_server_init() which is not good.

  sql/set_var.cc
Bug#53251      mysql_library_init fails on second execution with embedded library
        sys_var::cleanup() call instead of the destructor

  sql/set_var.h
Bug#53251      mysql_library_init fails on second execution with embedded library
        sys_var::cleanup() introduced instead of the destructor
        
  sql/sys_vars.h
Bug#53251      mysql_library_init fails on second execution with embedded library
        Sys_var_charptr::cleanup() implemented
2010-09-02 23:37:04 +05:00
Marc Alff
b9e063ca31 Bug#55873 short startup options do not work in 5.5
Merge cleanup, fixed a build warning:

my_getopt.c:156: warning: 'opt_found' may be used uninitialized in this function
2010-09-01 19:13:24 -06:00
Alexey Botchkov
236f1a6d55 merging. 2010-09-01 17:49:25 +05:00
Alexander Nozdrin
7405361bc3 Auto-merge from mysql-5.5. 2010-09-01 17:12:42 +04:00
Alexander Nozdrin
afe9d44c3a Auto-merge from mysql-5.5-stage. 2010-09-01 16:59:52 +04:00
Alexey Botchkov
26119c1337 Bug#54861 Additional connections not handled properly in mtr --embedded
When in embedded-serve mode, mysqltest tried to run '--send' commands in the separate thread.
        That upsets some engines (InnoDB particularly) as the transaction has to be executed in the same
        thread completely. So i implemented some different approach. So we create one separate thread for
        each connection and execute all the queries of this connection inside it. Looks even simpler than it was
        for me.

per-file comments:
  client/mysqltest.cc
Bug#54861      Additional connections not handled properly in mtr --embedded
        Now the connection has one running connection_thread() attached. And sends all the
        query and read-result requests to it.
2010-09-01 17:34:05 +05:00
Alexey Botchkov
a334004420 Bug#54906 Inconsistent license of libmysqld
made libmysqld/Makefile.am to have same licence as libmysqld/CMakeLists.txt

per-file comments:
  libmysqld/Makefile.am
Bug#54906      Inconsistent license of libmysqld
        Added GPL license header instead of Library GPL.
2010-09-01 08:38:53 +05:00
Alexander Nozdrin
b75958e665 Disable mysqlhotcopy* test cases due to Bug 54129. 2010-08-31 18:05:35 +04:00
Alexander Nozdrin
8da22a75f3 Bug#55980 Character sets: supplementary character _bin ordering is wrong
Problem:
- ORDER BY for utf8mb4_bin, utf16_bin and utf32_bin returned
  results in a wrong order, because old functions
  (supporting only BMP range) were used to handle these collations.
- Additionally, utf16_bin did not sort supplementary characters
  between U+D700 and U+E000, as WL#1213 specification specified.
2010-08-31 17:54:26 +04:00
Alexander Nozdrin
e4a7db6c67 Auto-merge from mysql-5.5-merge. 2010-08-31 11:55:41 +04:00
Gleb Shchepa
4c47c78c41 automerge 5.1-bugteam --> 5.5-merge (bug 53034) 2010-08-31 02:22:01 +04:00
Gleb Shchepa
9554b7ac6e Bug #53034: Multiple-table DELETE statements not accepting
"Access compatibility" syntax

The "wild" "DELETE FROM table_name.* ... USING ..." syntax
for multi-table DELETE statements is documented but it was
lost in the fix for the bug 30234.

The table_ident_opt_wild parser rule has been added
to restore the lost syntax.
2010-08-31 02:16:38 +04:00
Alexander Nozdrin
dc195adf34 Auto-merge from mysql-5.5-merge. 2010-08-30 18:07:40 +04:00
Magnus Blåudd
1b3d5da50e Bug#56117 ha_ndbcluster_tables.h included by mysqldump but not used
- Remove include of ha_ndbcluster_tables.h from mysqldump.c
2010-08-30 14:06:32 +02:00
Dmitry Shulga
05482f3c7b Follow-up for Bug#29751: FLUSH LOGS doesn't create -old file,
so test case has to be updated.
2010-08-30 16:09:28 +07:00
Alexander Nozdrin
862af4eeaa Auto-merge from mysql-5.5. 2010-08-30 12:36:02 +04:00
Alexander Nozdrin
a87059b940 Disable 'plugin*' tests due to Bug 55966. 2010-08-30 12:32:53 +04:00
Alexander Nozdrin
2c89cb23af Auto-merge from mysql-5.5-bugfixing. 2010-08-30 12:27:27 +04:00
Alexey Kopytov
0a95aff58a Automerge. 2010-08-30 11:36:04 +04:00
0688c086a0 Bug #54579 Wrong unsafe warning for INSERT DELAYED in SBR
The lock_type is upgrade to TL_WRITE from TL_WRITE_DELAYED for
INSERT DELAYED when inserting multi values in one statement.
It's safe. But it causes an unsafe warning in SBR.
      
Make INSERT DELAYED safe by logging it as INSERT without DELAYED.
2010-08-30 14:03:28 +08:00
Alexander Nozdrin
19908377b8 Update result files. 2010-08-28 20:36:17 +04:00
Marc Alff
7357081989 local merge 2010-08-27 15:23:37 -06:00
Sergey Vojtovich
ab2414577a Merge 5.1-bugteam to 5.5-merge. 2010-08-27 15:33:32 +04:00
Alexey Kopytov
b409a2218e Bug #54465: assert: field_types == 0 || field_types[field_pos]
== MYSQL_TYPE_LONGLONG

A MIN/MAX() function with a subquery as its argument could lead
to a debug assertion on debug builds or wrong data on release
ones.

The problem was a combination of the following factors:

- Item_sum_hybrid::fix_fields() might use the argument
(args[0]) to calculate 'hybrid_field_type' which was later used
to decide how the data should be sent to the client.

- Item_sum::make_field() might use the argument again to
calculate the field's type when sending result set metadata to
the client.

- The argument could be changed in between these two calls via
  Item::set_arg() leading to inconsistent metadata being
  reported.

Here is what was happening for the bug's test case:

1. Item_sum_hybrid::fix_fields() calculates hybrid_field_type
as MYSQL_TYPE_LONGLONG based on args[0] which is an
Item::SUBSELECT_ITEM at that time.

2. A temporary table is created to execute the
query. create_tmp_field_from_item() creates a Field_long object
according to the subselect's max_length.

3. The subselect item in Item_sum_hybrid is replaced by the
Item_field object referencing the newly created Field_long.

4. Item_sum::make_field() rightfully returns the
MYSQL_TYPE_LONG type when calculating the result set metadata.

5. When sending the actual data, Item::send() relies on the
virtual field_type() function which in our case returns
previously calculated hybrid_field_type == MYSQL_TYPE_LONGLONG.

It looks like the only solution is to never refer to the
argument's metadata after the result metadata has been
calculated in fix_fields(), since the argument itself may be
different by then. In this sense, Item_sum::make_field() should
never be used, because it may rely on the argument's metadata
and is only called after fix_fields(). The "default"
implementation in Item::make_field() should be used instead as
it relies only on field_type(), but not on the argument's type.

Fixed by removing Item_sum::make_field() so that the superclass
implementation Item::make_field() is always used.
2010-08-27 13:44:35 +04:00
Ramil Kalimullin
1087cfc4d5 Fix for bug #54253: memory leak when using I_S plugins w/o deinit method
Free memory allocated by the server for all plugins,
with or without deinit() method.
2010-08-27 11:44:06 +04:00
Sergey Vojtovich
c2c833e493 Merge fix for BUG52821 to 5.5-bugfixing. 2010-08-27 11:13:00 +04:00
Sergey Vojtovich
7ceb92ff43 BUG#52821 - plugin_ftparser.h and plugin_audit.h are
not tested by ABI check

plugin_audit.h and plugin_ftparser.h are now subject
for ABI check. plugin.h is now tested implicitly.

Also fixed broken ABI check cmake rules.
2010-08-27 10:45:35 +04:00
Marc Alff
fe3221d6a9 local merge 2010-08-26 15:21:23 -06:00
Christopher Powers
f84adb9ec8 Bug# 53874 "SETUP_INSTRUMENTS.TIMED='NO' should not change TIMER_WAIT
Handle combined instrument states of ENABLED and/or TIMED:

ENABLED TIMED
1 1 Aggregate stats, increment counter
1 0 Increment counter
0 1 Do nothing
0 0 Do nothing
2010-08-26 10:45:25 -05:00
Alexander Nozdrin
c88cfec29c Enable plugin tests (Bug 55966) to check if they still fail. 2010-08-26 19:29:44 +04:00
Marc Alff
81cdce4d22 local merge 2010-08-26 08:41:24 -06:00
Marc Alff
6d59a131d7 Implemented code review comments 2010-08-26 08:34:18 -06:00
Bjorn Munch
fba50f8401 Reduced #ifndef for 52301, caused compile warning 2010-08-26 15:14:50 +02:00
Alexey Kopytov
2df3a61c3f Automerge. 2010-08-26 16:36:48 +04:00
Alexander Barkov
3509fecfc1 Bug#42511 mysqld: ctype-ucs2.c:2044: my_strnncollsp_utf32: Assertion (tlen % 4) == 0' fai
Problem: trailing spaces were stripped using 8-bit code,
so the truncation result length was incorrect, which led
to an assertion failure.
Fix: using multi-byte safe code.
2010-08-26 16:36:33 +04:00
Alexey Kopytov
d39dbd1084 Automerge. 2010-08-26 16:35:38 +04:00
Sergey Vojtovich
0648087ca0 Fixed race condition in a test case for BUG#55580. 2010-08-26 15:23:44 +04:00