Commit graph

172857 commits

Author SHA1 Message Date
Sergei Golubchik
04af573d65 Merge branch 'merge-innodb-5.6' into 10.0 2015-10-09 17:47:30 +02:00
Sergei Golubchik
1b41eed5d1 5.6.27 2015-10-09 17:22:53 +02:00
Sergei Golubchik
86ff4da14d 5.6.27 2015-10-09 17:21:46 +02:00
Sergei Golubchik
6a821d78a6 5.6.26-74.0 2015-10-09 17:20:49 +02:00
Sergei Golubchik
cfeedbfd3e Merge branch '5.5' into 10.0 2015-10-09 17:12:26 +02:00
Sergei Golubchik
16c4b3c68b fixes for buildbot:
* OSX (mysqlimport freeing unallocated memory)
* Windows (didn't compile MSI)
* fulltest2 (innodb crashes in --embedded --big)
2015-10-09 16:43:59 +02:00
Pavel Ivanov
bff1af983a Clarify the log message about master_info and relay_info files.
Just "Master" could be understood as the master IP or hostname and thus can
cause confusion to db admins. "Master connection name" clearly states that
the log line contains connection name in the (possibly) multi-master setup.
2015-10-09 12:46:56 +02:00
Sergei Golubchik
0ea42333d3 remove --default-myisam from mtr
it was never doing anything anyway
2015-10-09 12:46:55 +02:00
iangilfillan
2a9bcc6086 MDEV-7680: mysqld man page 2015-10-09 12:46:55 +02:00
iangilfillan
99142abe69 mysql and mysqldhow man pages 2015-10-09 12:46:55 +02:00
iangilfillan
ed195b28f7 MDEV-7680: mysqld_safe and mysql_multi man pages 2015-10-09 12:46:54 +02:00
iangilfillan
50775094cf MDEV-7680: Update man pages 2015-10-09 12:46:54 +02:00
Monty
affff1aefc Less logging of not critial things during startup/shutdown:
- Added --start option to mysqld which don't prints notes to log on startup
  This helps to find errors in configure options easier
- Dont write [Note] entries to log after we have abort the server
  This makes it easier to find what went wrong
- Don't by default write out Changed limits for max_open_files as this didn't really change from anything the user gave us
- Dont write warnings about not using --explicit_defaults_for_timestamp (we don't have plans do depricate the old behaviour)
2015-10-09 13:08:41 +03:00
Monty
602c803bd9 Don't enable file_key_management_plugin by default (as this gives warnings in the log)
Better warning from file_key_management plugin if filename is not given
2015-10-09 13:02:55 +03:00
Monty
c696fc74cf Fixed compiler warnings and errors 2015-10-09 13:01:07 +03:00
Alexey Botchkov
b0935fc5da MDEV-8842 add group support to pam_user_map module.
Added to the pam_user_map module.
2015-10-09 03:25:08 +05:00
Alexey Botchkov
3757bc5e89 MDEV-8431 Feedback plugin needs an option for http proxy.
'feedback_http_proxy' system variable added to specify the
proxy server as host:port. Not a dynamic one.
2015-10-09 03:23:35 +05:00
Sergei Golubchik
f41a41fd91 Merge branch 'merge-xtradb-5.5' into 5.5 2015-10-09 00:06:16 +02:00
Sergei Golubchik
db79f4cf61 5.5.45-37.4 2015-10-08 23:02:43 +02:00
Sergei Golubchik
82e9f6d948 Merge remote-tracking branch 'mysql/5.5' into 5.5 2015-10-08 22:54:24 +02:00
Alexander Barkov
16ad1fc540 MDEV-8921 Wrong result for CAST(AVG(double_column) AS SIGNED) 2015-10-08 20:48:46 +04:00
Alexander Barkov
7091b7852d MDEV-8918 Wrong result for CAST(AVG(bigint_column) AS SIGNED)
- Moving Item_xxx_field declarations after Item_sum_xxx declarations,
  so Item_xxx_field constructors can be defined directly in item_sum.h
  rather than item_sum.cc. This removes some duplicate code, e.g.
  initialization of the following members at constructor time:
  name, decimals, max_length, unsigned_flag, field, maybe_null.
- Adding Item_sum_field as a common parent for Item_avg_field and
  Item_variance_field
- Deriving Item_sum_field directly from Item rather that Item_result_field,
  as Item_sum_field descendants do not need anything from Item_result_field.
- Removing hybrid infrastructure from Item_avg_field,
  adding Item_avg_field_decimal and Item_avg_field_double instead,
  as desired result type is already known at constructor time
  (not only at fix_fields time). This simplifies the code.
- Changing Item_avg_field_decimal::val_int() to call val_int_from_decimal()
  instead of doing { return (longlong) rint(val_real()); }
  This is the fix itself.
2015-10-08 19:19:21 +04:00
Alexander Barkov
174a0b9eb7 Clean-up: Item_sum_variance and Item_variance_field had hybrid type
infrastructure, though in fact they always return REAL result.
Removing hybrid type artifacts.
2015-10-08 12:09:05 +04:00
Sergei Golubchik
c8d511293a MDEV-8796 Delete with sub query with information_schema.TABLES deletes too many rows
make_cond_for_info_schema() does preserve outer fields
2015-10-08 10:01:43 +02:00
Monty
6dd41145ac Better error messages if slave is not properly configured 2015-10-08 10:45:32 +03:00
Monty
a69a6ddac8 MDEV-4487 Allow replication from MySQL 5.6+ when GTID is enabled on the master
MDEV-8685 MariaDB fails to decode Anonymous_GTID entries
MDEV-5705 Replication testing: 5.6->10.0

- Ignoring GTID events from MySQL 5.6+ (Allows replication from MySQL 5.6+ with GTID enabled)
- Added ignorable events from MySQL 5.6
- mysqlbinlog now writes information about GTID and ignorable events.
- Added more information in error message when replication stops because of wrong information in binary log.
- Fixed wrong test when write_on_release() should flush cache.
2015-10-08 10:45:09 +03:00
Monty
7c1e2fe35c Better error message if failed 2015-10-08 10:17:07 +03:00
Monty
ca051fa027 Allow row events in replication stream for slave in all cases
(even when configured with --binlog-format=statement).
Before we got an error on the slave and the slave stopped if the master
was configured with --binlog-format=mixed or --binlog-format=row.
2015-10-08 10:16:35 +03:00
Monty
d278fb4922 Fixed tokudb test result to make it stable (was altering between index and range) 2015-10-08 09:58:44 +03:00
Alexander Barkov
de1a48e7d9 A clean-up for a few recent result set metadata related bug fixes:
- MDEV-8875 Wrong metadata for MAX(CAST(time_column AS DATETIME))
- MDEV-8873 Wrong field type or metadata for LEAST(int_column,string_column)
- MDEV-8912 Wrong metadata or type for @c:=string_or_blob_field

Adding Item_hybrid_func as a common parent for Item_func_hybrid_field_type,
Item_func_min_max, Item_func_user_var. This removes some duplicate code.
2015-10-08 08:59:58 +04:00
Alexander Barkov
8777724901 MDEV-8912 Wrong metadata or type for @c:=string_or_blob_field 2015-10-07 20:19:29 +04:00
Alexander Barkov
8afe96f011 MDEV-8910 Wrong metadata or field type for MAX(COALESCE(string_field)) 2015-10-07 11:42:23 +04:00
Oleksandr Byelkin
bed4e84795 MDEV-8380: Subquery parse error
backport mysql parser fixes
0034963fbf199696792491bcb79d5f0731c98804
5948561812bc691bd0c13cf518a3fe77d9daf920
2015-10-06 22:11:39 +02:00
Sergei Petrunia
d6371d3a8e Combined fix for MDEV-7267 and MDEV-8864
The problem was that GROUP BY code created Item_field objects
that referred to fields in the temp. tables used for GROUP BY.

Item_ref and set_items_ref_array() call caused pointers to temp.
table fields to occur in many places.

This patch introduces Item_temptable_field, which can handle
item->print() calls made after the underlying table is freed.
2015-10-06 18:03:10 +03:00
Sergei Petrunia
4a602046c0 MDEV-8903: Buildbot valgrind failure: Invalid read of size 1 in sql_memdup...
When we calculate max_key_len for RANGE_OPT_PARAM::min_key/max_key, take
into account that QUICK_RANGE::QUICK_RANGE for some reason assumes
that there is one more byte there:

      max_key((uchar*) sql_memdup(max_key_arg,max_length_arg+1)),
2015-10-06 16:15:34 +03:00
Sergei Petrunia
1289794799 Fix for MDEV-8321, MDEV-6223
EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This
caused a collection of problems:
- SELECT_DESCRIBE flag was not put into select_lex->options, which
  means it was not in JOIN::select_options either (except for the first
  member of the UNION).
- This caused UNION members to be executed. They would attempt to write
  join output rows to the output.
- (Actual cause of the crash) second join sibling would call
  result->send_eof() when finished execution. Then,
  Explain_query::print_explain would attempt to write to query output
  again, and cause an assertion due to non-empty query output.
2015-10-06 15:54:37 +03:00
Jan Lindström
21adad000a MDEV-8901: InnoDB: Punch hole is incorrecty done also to log files causing assertion and database corruption
Analysis: Problem is that punch hole does not know the actual page size
of the page and does the page belong to an data file or to a log file.

Fix: Pass down the file type and page size to os layer to be used
when trim is called. Also fix unsafe null pointer access to
actual write_size.
2015-10-06 15:40:26 +03:00
Oleksandr Byelkin
504802f333 MDEV-7846: postreview fix 2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
54b998173b MDEV-7846: Server crashes in Item_subselect::fix_fields or fails with Thread stack overrun
Substitute into transformed subselects original left expression and than register its change in case it was substituted.
2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
0ab93fd6f3 MDEV-7445:Server crash with Signal 6
MDEV-7565: Server crash with Signal 6 (part 2)

followup test suite and its fix.
2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
2e3e818048 MDEV-7445: Server crash with Signal 6
Problem was in rewriting left expression which had 2 references on it. Solved with making subselect reference main.

Item_in_optimized can have not Item_in_subselect reference in left part so type casting with no check is dangerous.

Item::cols() should be checked after Item::fix_fields().
2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
7ccde2cbd5 MDEV-7565: Server crash with Signal 6 (part 2)
Preparation of subselect moved earlier (before checks which needs it prepared).
2015-10-06 13:12:58 +02:00
Sergei Petrunia
a7dd24cdaa MDEV-8299: MyISAM or Aria table gets corrupted after EXPLAIN INSERT and INSERT
[EXPLAIN] INSERT .. SELECT creates a select_insert object.
select_insert calls handler->start_bulk_insert() during
initialization.

For MyISAM/Aria this requires that a matching call to
handler->end_bulk_insert() call is made.

Regular INSERT .. SELECT accomplishes this by calling either
select_result->send_eof() or select_result->abort_result_set().

EXPLAIN INSERT ... SELECT didn't call either, which resulted in
improper de-initializaiton of handler object. Make it call
abort_result_set(), which invokes handler->end_bulk_insert().
2015-10-06 13:52:27 +03:00
Alexey Botchkov
90f2c82246 MDEV-7817 ALTER TABLE {ADD|DROP} INDEX IF [NOT] EXISTS does not get written into binlog if nothing to do.
Just log the ALTER statement even if there's nothing to do.
2015-10-06 00:18:41 +05:00
Alexander Barkov
3c47809bc2 Clean-up: changing switch(result_type()) followed by a test for temporal types
in case of STRING_RESULT to switch(cmp_type()).
2015-10-06 00:48:46 +04:00
Sergei Golubchik
56cd7d0cd0 compilation failure on windows 2015-10-05 17:27:13 +02:00
Sergei Golubchik
6b0b1941bf fix installation location for policy files 2015-10-05 17:27:13 +02:00
Sergei Golubchik
3407438ea6 fixes for buildbot 2015-10-05 17:27:13 +02:00
Daniel Black
e302602ac0 plugin: qc_info test - hide output so result isn't a binary file 2015-10-05 17:27:12 +02:00
Daniel Black
d4557934ec plugin - qc_info - add Query Cache flags 2015-10-05 17:27:12 +02:00