Commit graph

64725 commits

Author SHA1 Message Date
Monty
6f31dd093a Added new status variables to make it easier to debug certain problems:
- Handler_read_retry
- Update_scan
- Delete_scan
2016-08-21 20:18:39 +03:00
Monty
8d5a0d650b Cleanups and minor fixes
- Fixed typos
- Added --core-on-failure to mysql-test-run
- More DBUG_PRINT in viosocket.c
- Don't forget CLIENT_REMEMBER_OPTIONS for compressed slave protocol
- Removed not used stage variables
2016-08-21 20:14:13 +03:00
Sergei Golubchik
47a1087ff6 Merge branch 'bb-10.0-serg' into 10.0 2016-08-14 09:16:07 +02:00
Jan Lindström
9b23f8054d MDEV-10535: ALTER TABLE causes standalone/wsrep cluster crash
When checking is any of the renamed columns part of the
columns for new indexes we accessed NULL pointer if checked
column used on index was added on same statement. Additionally,
we tried to check too many indexes, added_index_count
is enough here.
2016-08-13 09:27:50 +03:00
Jan Lindström
b3df257cfd MDEV-10469: innodb.innodb-alter-tempfile fails in buildbot: InnoDB: Warning: database page corruption or a failed
Test case intentionally crashes the server and that could lead partially
written pages that are then restored from doublewrite buffer.
2016-08-13 09:27:50 +03:00
Sergei Golubchik
191f7b0fc1 after merge fixes 2016-08-10 21:15:51 +02:00
Sergei Golubchik
309c08c17c Merge branch '5.5' into 10.0 2016-08-10 19:19:05 +02:00
Sergei Golubchik
0098d789c9 MDEV-10465 general_log_file can be abused
Windows!
2016-08-09 13:25:40 +02:00
Sergei Golubchik
a3f642415a MDEV-6128:[PATCH] mysqlcheck wrongly escapes '.' in table names
a correct fix:
* store properly quoted table names in tables4repair/etc lists
* tell handle_request_for_tables whether the name is aalready properly quoted
* test cases for all uses of fix_table_name()
2016-08-08 21:27:30 +02:00
Sergei Golubchik
2a54a530a9 MDEV-10465 general_log_file can be abused
followup
2016-08-08 21:27:30 +02:00
Alexander Barkov
5269d378df MDEV-10468 Assertion `nr >= 0.0' failed in Item_sum_std::val_real() 2016-08-08 18:37:02 +04:00
Alexander Barkov
1b3430a5ae MDEV-10500 CASE/IF Statement returns multiple values and shifts further result values to the next column
We assume all around the code that null_value==true is in sync
with NULL value returned by val_str()/val_decimal().
Item_sum_sum::val_decimal() erroneously returned a non-NULL value together
with null_value set to true. Fixing to return NULL instead.
2016-08-08 16:04:40 +04:00
Sergei Golubchik
5e23b6344f MDEV-10506 Protocol::end_statement(): Assertion `0' failed upon ALTER TABLE
thd->clear_error() destroyed already existing error status
2016-08-07 11:02:42 +02:00
Sergei Petrunia
93d5cdf03f MDEV-9946: main.xtradb_mrr fails sporadically
Make the testcase stable by adding FORCE INDEX
2016-08-04 13:14:45 +03:00
Sergei Golubchik
470f2598cc MDEV-10465 general_log_file can be abused
This issue was discovered by
Dawid Golunski (http://legalhackers.com)
2016-08-03 20:56:24 +02:00
Sergei Golubchik
03dec1aa49 MDEV-10350 "./mtr --report-features" doesn't work
removed
2016-08-03 20:53:04 +02:00
Sergei Golubchik
9d2f892999 MDEV-7329 plugins.pam_cleartext fails sporadically in buildbot
wait until the failed connection thread completely dies
before uninstalling pam plugin
2016-08-03 20:52:58 +02:00
Sergei Golubchik
75891eda11 improve pam_cleartext.test a bit 2016-08-03 20:52:50 +02:00
Sergei Golubchik
a350e53b61 Merge branch 'mysql/5.5' into 5.5
without a fix for Bug#12818255 (MDEV-6581)
2016-08-03 20:38:25 +02:00
Alexander Barkov
ecb7ce7844 MDEV-10467 Assertion `nr >= 0.0' failed in Item_sum_std::val_real()
Backporting MDEV-5781 from 10.0.
2016-08-03 15:55:48 +04:00
Vladislav Vaintroub
6b71a6d2d9 MDEV-10383 Named pipes : multiple servers can listen on the same pipename
Use FILE_FLAG_FIRST_PIPE_INSTANCE with the first CreateNamedPipe()
call to make sure the pipe does not already exist.
2016-08-02 18:52:51 +02:00
Sergey Vojtovich
b5fb2a685b Fixed main.contributors failure 2016-08-02 14:30:21 +04:00
Oleksandr Byelkin
5fdb3cfcd4 MDEV-10419: crash in mariadb 10.1.16-MariaDB-1~trusty
Fixed initialization and usage of THD reference in subselect engines.
2016-07-30 20:13:03 +02:00
Sergei Petrunia
c6aaa2adbe MDEV-10228: update test results 2016-07-30 10:53:01 +03:00
iangilfillan
5d0dfcbecb Update contributors 2016-07-27 15:29:32 +02:00
Sergei Petrunia
15ef38d2ea MDEV-10228: Delete missing rows with OR conditions
Fix get_quick_keys(): When building range tree from a condition
in form

  keypart1=const AND (keypart2 < 0 OR keypart2>=0)

the SEL_ARG for keypart2 represents an interval (-inf, +inf).
However, the logic that sets UNIQUE_RANGE flag fails to recognize
this, and sets UNIQUE_RANGE flag if (keypart1, keypart2) covered
a unique key.
As a result, range access executor assumes the interval can have
at most one row and only reads the first row from it.
2016-07-27 00:38:51 +03:00
Elena Stepanova
df4fddb896 MDEV-10428 main.information_schema_stats fails sporadically in buildbot
Resultsets which contain more than one row need to be sorted
2016-07-25 01:57:00 +03:00
Sergey Vojtovich
1b5da2ca49 MDEV-10316 - main.type_date fails around midnight sporadically
A better fix for MySQL Bug#41776: use hard timestamp rather than unreliable
sleep.
2016-07-21 15:44:58 +04:00
Alexey Botchkov
bf2e31500c MDEV-8569 build_table_filename() doesn't support temporary tables.
Temporary tables support added for RENAME and ALTER TABLE.
2016-07-18 11:50:08 +04:00
Sergei Golubchik
c6fdb92ca8 Merge branch '5.5' into 10.0 2016-07-12 22:20:46 +02:00
Sergei Golubchik
ef125e232d add a test case vcol.charsets
a test case for a broken vcols behavior with different
charsets. this is fixed in 10.2
2016-07-12 22:18:33 +02:00
Vladislav Vaintroub
3e8ae6ef4f MDEV-10211 postfix - in ssl.test, remove remaining SHOW STATUS LIKE 'Ssl_cipher' 2016-07-12 12:36:11 +02:00
Vladislav Vaintroub
31e763ddc5 MDEV-10211 : fix ssl test not to use specific value of ssl_cipher, as it can change between different openssl/yassl version 2016-07-12 12:21:38 +02:00
Sergei Golubchik
4e19aa3864 MDEV-10318 unset params in --ps --embedded
add a test case
2016-07-12 12:13:31 +02:00
Sergey Vojtovich
a7814d44fc MDEV-10311 - funcs_1.processlist_priv_no_prot fails sporadically
State column of SHOW PROCESSLIST can have NULL values for being initialized
threads (between new connection was acknowledged and waiting for network data).

Fixed test case to handle such cases by waiting for State to become empty
string.
2016-06-30 12:59:52 +04:00
Sergey Vojtovich
f289f3ee9c MDEV-9728 - Hard crash in metadata_lock_info
Disable output of MDL lock duration since there is no facility to retreive
it properly.
2016-06-23 12:16:20 +04:00
Jan Lindström
26de9061e8 Merge following commit from 5.5:
commit ef92aaf9ec
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date:   Wed Jun 22 22:37:28 2016 +0300

    MDEV-10083: Orphan ibd file when playing with foreign keys

    Analysis: row_drop_table_for_mysql did not allow dropping
    referenced table even in case when actual creating of the
    referenced table was not successfull if foreign_key_checks=1.

    Fix: Allow dropping referenced table even if foreign_key_checks=1
    if actual table create returned error.
2016-06-23 07:42:40 +03:00
Jan Lindström
ef92aaf9ec MDEV-10083: Orphan ibd file when playing with foreign keys
Analysis: row_drop_table_for_mysql did not allow dropping
referenced table even in case when actual creating of the
referenced table was not successfull if foreign_key_checks=1.

Fix: Allow dropping referenced table even if foreign_key_checks=1
if actual table create returned error.
2016-06-23 06:46:05 +03:00
Vicențiu Ciorbaru
b449612907 MDEV-8638: REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_ROLE breaks replication
Fix the replication failure caused by incorect initialization of
THD::invoker_host && THD::invoker_user.

Breakdown of the failure is this:
Query_log_event::host and Query_log_event::user can have their
LEX_STRING's set to length 0, but the actual str member points to
garbage. Code afterwards copies Query_log_event::host and user to
THD::invoker_host and THD::invoker_user.

Calling code for these members expects both members to be initialized.
Eg. the str member be a NULL terminated string and length have
appropriate size.
2016-06-22 16:41:38 +03:00
Igor Pashev
5fd8087590 [MDEV-9614] Roles and Users longer than 6 characters
The bug is apparent when the username is longer than the rolename.
It is caused by a simple typo that caused a memcmp call to compare a
different number of bytes than necessary.

The fix was proposed by Igor Pashev. I have reviewed it and it is the
correct approach. Test case introduced by me, using the details provided
in the MDEV.

Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
2016-06-22 16:41:38 +03:00
Sergei Golubchik
f9b5acfb0c Merge branch 'bb-10.0-serg' into 10.0 2016-06-22 10:54:19 +02:00
Sergei Golubchik
a10fd659aa Fixed for failures in buildbot: Replication
1. remove unnecessary rpl-tokudb combination file.
2. fix rpl_ignore_table to cleanup properly (not leave test
   grants in memory)
3. check_temp_dir() is supposed to set the error in stmt_da - do
   it even when called multiple times, this fixes a crash when
   rpl.rpl_slave_load_tmpdir_not_exist is run twice.
2016-06-22 10:40:43 +02:00
Alexander Barkov
21479a6bb3 MDEV-9524 Cannot load from mysql.event when sql_mode is set to PAD_CHAR_TO_FULL_LENGTH
The patch fixes the problem with loading information from system tables
(e.g. event and help related tables) when PAD_CHAR_TO_FULL_LENGTH is enabled,
as well as includes some additional minor improvements:
- refactoring in get_field() to return an error rather than success
  if strmake_root() failed
- removing of duplicate code in similar functions:
  char *get_field(MEM_ROOT *mem, Field *field)
  bool get_field(MEM_ROOT *mem, Field *field, String *res)
2016-06-21 21:26:31 +04:00
Oleksandr Byelkin
911af69d1e MDEV-5973: MySQL Bug#11757486:49539: NON-DESCRIPTIVE ERR (ERROR 0 FROM STORAGE ENGINE) WITH MULTI-TABLE UPDATE
Condition in processing IGNORE clause for UPDATE & multi-table UPDATE made the same.
2016-06-21 18:48:14 +02:00
Sergei Golubchik
a69f4c783d Merge branch 'bb-10.0-serg' into 10.0 2016-06-21 15:55:37 +02:00
Sergei Golubchik
61a880d02c Merge branch 'merge-perfschema-5.6' into 10.0 2016-06-21 15:47:55 +02:00
Sergey Vojtovich
82a96926a7 MDEV-9728 - Hard crash in metadata_lock_info
metadata_lock_info plugin called MDL_context::find_ticket() to obtain lock
duration, which in turn iterates foreign thread private lists. These lists
can be updated by owner thread without protection.

Fixed by iterating threads (instead of MDL locks and tickets) and obtaining
data through APC.

Also fixed mdl_iterate_lock() to initialize iterator under prlock protection.
2016-06-21 17:04:57 +04:00
Sergei Golubchik
c081c978a2 Merge branch '5.5' into bb-10.0 2016-06-21 14:11:02 +02:00
Sergei Golubchik
a482e76e65 fix a mysql-5.5.50 merge: mysqlcheck
quote identifiers correctly
2016-06-20 16:12:54 +02:00
Alexander Barkov
a80dbe068c MDEV-10020 InnoDB NOT IN Query Crash When One Item Is NULL
The problem was that the loop in get_func_mm_tree()
accessed improperly initialized instances of String,
which resided in the bzero'ed part of the in_vector::base array.

Strings in in_vector::base are originally initialized
in Item_func_in::fix_length_and_dec(),
in in_vector::in_vector() using sql_calloc,
rather than using a String constructor, so their str_charset
members are originally equal to NULL.

Strings in in_vector::base are later initialized
to good values in Item_func_in::fix_length_and_dec(),
using array->set(), in this code:

      uint j=0;
      for (uint i=1 ; i < arg_count ; i++)
      {
        array->set(j,args[i]);
        if (!args[i]->null_value)                      // Skip NULL values
          j++;
        else
          have_null= 1;
      }
      if ((array->used_count= j))
        array->sort();

NULLs are not taken into account, so at the end
array->used_count can be smaller than array->count.

This patch fixes the loop in opt_range.cc, in get_func_mm_tree(),
to access only properly initialized elements in in_vector::base,
preventing access to its bzero'ed non-initialized tail.
2016-06-20 14:11:01 +04:00