View Bazaar branches
Get this repository:
git clone https://git.launchpad.net/maria

Branches

Name Last Modified Last Commit
bb-10.0-merge-sanja 2018-07-23 09:55:18 UTC 5 hours ago
Merge branch '5.5' into bb-10.0-merge-sanja

Author: Oleksandr Byelkin
Author Date: 2018-07-23 09:55:18 UTC

Merge branch '5.5' into bb-10.0-merge-sanja

bb-5.5-15919 2018-07-23 09:20:41 UTC 6 hours ago
Mdev-15919 lower_case_table_names does not behave as expected(nor consistentl...

Author: Sachin Setiya
Author Date: 2018-07-19 08:50:40 UTC

Mdev-15919 lower_case_table_names does not behave as expected(nor consistently)...
on Replication Slave

Since slave can have different value for lower_case_table_names so it is better
to change table name recieved by slave thread according to lower_case_table_names

10.2 2018-07-21 02:32:28 UTC 2018-07-21
Corrected and added back the test case for MDEV-15151.

Author: Igor Babaev
Author Date: 2018-07-21 02:32:28 UTC

Corrected and added back the test case for MDEV-15151.

bb-10.3-MDEV-15786 2018-07-21 01:21:32 UTC 2018-07-21
MDEV-15786: ERROR 1062 (23000) at line 365: Duplicate entry 'spider' for key ...

Author: Jacob Mathew
Author Date: 2018-07-21 01:21:32 UTC

MDEV-15786: ERROR 1062 (23000) at line 365: Duplicate entry 'spider' for key 'PRIMARY'

The problem occurs on Ubuntu where a Spider package is installed on the system
separately from the MariaDB package. MariaDB and Spider upgrades leave the
Spider plugin improperly installed. Spider is present in the mysql.plugin
table but is not present in information_schema.

The problem has been corrected in Spider's installation script. Logic has
been added to check for Spider entries in both information_schema and
mysql.plugin. If Spider is present in mysql.plugin but is not present in
information_schema, then Spider is first removed from mysql.plugin. The
subsequent plugin install of Spider will insert entries in both mysql.plugin
and information_schema.

Author:
  Jacob Mathew.

Reviewer:
  Kentoku Shiba.

bb-10.2-wlad-release 2018-07-20 18:45:28 UTC 2018-07-20
change to test case

Author: Vladislav Vaintroub
Author Date: 2018-07-20 18:45:28 UTC

change to test case

bb-10.1-MDEV-16689 2018-07-20 15:35:52 UTC 2018-07-20
MDEV-16689: core-file should become a real server variable

Author: Oleksandr Byelkin
Author Date: 2018-07-20 11:35:58 UTC

MDEV-16689: core-file should become a real server variable

Mysql Bug#56124 bug analog fix using Sys_var_bit.

bb-10.2-compatibility 2018-07-20 13:21:24 UTC 2018-07-20
MDEV-15359 Thread stay in "cleaning up" status after finishing

Author: Sergei Golubchik
Author Date: 2018-06-12 10:37:28 UTC

MDEV-15359 Thread stay in "cleaning up" status after finishing

make thd_get_error_context_description() to show not just
thd->proc_info, but exactly the same thread state that SHOW PROCESSLIST
shows.

(cherry-pick)

10.4 2018-07-20 07:07:19 UTC 2018-07-20
MDEV-15758 Split Item_bool_func::get_mm_leaf() into virtual methods in Field ...

Author: Alexander Barkov
Author Date: 2018-07-20 07:07:19 UTC

MDEV-15758 Split Item_bool_func::get_mm_leaf() into virtual methods in Field and Type_handler

5.5 2018-07-19 22:31:46 UTC 2018-07-19
MDEV-16726 Assertion `tab->type == JT_REF || tab->type == JT_EQ_REF' failed

Author: Igor Babaev
Author Date: 2018-07-19 22:31:30 UTC

MDEV-16726 Assertion `tab->type == JT_REF || tab->type == JT_EQ_REF' failed

Due to a legacy bug in the code of make_join_statistics() detecting
so-called constant tables could miss some of them in rare queries
that used RIGHT JOIN. As a result these queries had execution plans
different from the execution plans of the equivalent queries with
LEFT JOIN.
Besides starting from 10.2 this could trigger an assertion failure.

10.0-galera 2018-07-19 18:05:36 UTC 2018-07-19
Fix compile error.

Author: Jan Lindström
Author Date: 2018-07-19 18:05:36 UTC

Fix compile error.

10.1 2018-07-19 17:35:27 UTC 2018-07-19
MDEV-10564: Galera `wsrep_debug` patch logs MySQL user credentials

Author: Jan Lindström
Author Date: 2018-07-19 12:13:31 UTC

MDEV-10564: Galera `wsrep_debug` patch logs MySQL user credentials

Restricted output for CREATE USER, GRANT, REVOKE and SET PASSWORD
so that it shows only above keywords but not rest of query i.e.
not user or password.

bb-10.0-serg 2018-07-19 12:43:32 UTC 2018-07-19
cleanup: remove extra/rpl_tests/rpl_foreign_key.test

Author: Sergei Golubchik
Author Date: 2018-07-19 09:10:41 UTC

cleanup: remove extra/rpl_tests/rpl_foreign_key.test

bb-10.1-MDEV-10564 2018-07-19 12:13:31 UTC 2018-07-19
MDEV-10564: Galera `wsrep_debug` patch logs MySQL user credentials

Author: Jan Lindström
Author Date: 2018-07-19 12:13:31 UTC

MDEV-10564: Galera `wsrep_debug` patch logs MySQL user credentials

Restricted output for CREATE USER, GRANT, REVOKE and SET PASSWORD
so that it shows only above keywords but not rest of query i.e.
not user or password.

10.0 2018-07-19 09:35:39 UTC 2018-07-19
MDEV-15551 Server hangs or assertion `strcmp(share->unique_file_name,filename...

Author: Sergei Golubchik
Author Date: 2018-07-16 13:12:38 UTC

MDEV-15551 Server hangs or assertion `strcmp(share->unique_file_name,filename) || share->last_version' fails in test_if_reopen or unexpected ER_LOCK_DEADLOCK

only use HA_EXTRA_PREPARE_FOR_DROP when the table is going to be dropped

bb-10.1-MDEV-16769 2018-07-18 08:22:17 UTC 2018-07-18
MDEV-16769: Notes "WSREP: Waiting for SST to complete" flood the error log

Author: Jan Lindström
Author Date: 2018-07-18 08:22:17 UTC

MDEV-16769: Notes "WSREP: Waiting for SST to complete" flood the error log

Used wrong initialization for condition timeout, should have
used set_timespec.

bb-10.0-andrei 2018-07-17 14:42:01 UTC 2018-07-17
MDEV-7270 cannot slave_skip_errors for 1677

Author: Andrei Elkin
Author Date: 2018-07-13 12:49:59 UTC

MDEV-7270 cannot slave_skip_errors for 1677

The bug repeats an upstream Bug#64794 which got fixed.
The upstream patch is adopted with the commit comments
commit e4640346aab04e60fece6f070732f9ea68326301 as the following:

    Problem:
    ========
    Even when --slave-skip-errors=all replication is broken.
    31017 1:00:19 [ERROR] Slave SQL: Error executing row event:
    'Table 'kubmac_Vmyb524.mybb_sessions' doesn't exist',
    Error_code: 1146

    Setting --slave_skip_error = 1677 doesn't make a difference.
    Slave in row based replication fails with Error_code: 1677.
    It seems that --slave_skip_error is ignored in row based
    replication.

    Analysis:
    =========
    --slave_skip_error is not ignored in case of row based
    replication. BUG#39393 has already addressed this issue.
    But there are two special cases which doesn't honor
    slave_skip_error.

    1. When opening and locking a table fails, it was considered
    as a critical error and it was not honoring through
    slave_skip_error.

    2. When field conversions fail on slave side in row based
    replication this too was handled as said above.

    Since slave_skip_error is meant to skip all the errors that
    are reported during application of an event hence we should
    remove this restriction.

    Fix:
    ===
    The above restriction is removed now. Post fix, upon
    receiving an error from underlying layer, first it checks
    whether the error can be ignored or not. If it has to be
    ignored and log_warnings > 1, then a warning is printed into
    the error log and server continues as it does in the case of
    other ignored errors.

bb-10.2-15867 2018-07-17 13:00:01 UTC 2018-07-17
MDEV-16192 Table 't' is specified twice, both as a target for 'CREATE' and...

Author: Sachin Setiya
Author Date: 2018-06-26 06:03:58 UTC

MDEV-16192 Table 't' is specified twice, both as a target for 'CREATE' and...
as a separate source for data

Actually MDEV-15867 and MDEV-16192 are same, Slave adds "or replace" to create
table stmt. So create table t1 is create or replace on slave. So this bug
is not because of replication, We can get this bug on general server if we
manually add or replace to create query.

Problem:- So if we try to create table t1 (same name as of temp table t1 ) via
   CREATE or replace TABLE t AS SELECT * FROM t;
Since in this query we are creating table from select * from t1 , we call
unique_table function to see whether if source and destination table are same.
But there is one issue unique_table does not account if source table is tmp table
in this case source and destination table can be same.

Solution:- We will change find_dup_table to not to look for temp table if
CHECK_DUP_SKIP_TEMP_TABLE flag is on.

bb-5.5-serg 2018-07-16 16:36:28 UTC 2018-07-16
MDEV-15050 scripts: mysql_install_db.{sh|pl}, mysqld_multi - mysqld is in @sb...

Author: Daniel Black
Author Date: 2018-01-13 01:27:28 UTC

MDEV-15050 scripts: mysql_install_db.{sh|pl}, mysqld_multi - mysqld is in @sbindir@

Closes #551

bb-10.1-MDEV-14612 2018-07-16 09:27:08 UTC 2018-07-16
Merge branch '10.1-MDEV-14612' of https://github.com/codership/mariadb-server...

Author: Jan Lindström
Author Date: 2018-07-16 09:27:08 UTC

Merge branch '10.1-MDEV-14612' of https://github.com/codership/mariadb-server into codership-10.1-MDEV-14612

bb-10.2-mdev-12547 2018-07-16 08:27:50 UTC 2018-07-16
MDEV-12547 InnoDB FULLTEXT index has too strict innodb_ft_result_cache_limit

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-07-16 08:27:50 UTC

MDEV-12547 InnoDB FULLTEXT index has too strict innodb_ft_result_cache_limit
   max limit

- Make innodb_ft_result_cache_limit 64 bit on 64-bit platform.

bb-10.1-MDEV-15442 2018-07-16 05:56:28 UTC 2018-07-16
Merge branch '10.1-MDEV-15442' of https://github.com/codership/mariadb-server...

Author: Jan Lindström
Author Date: 2018-07-16 05:56:28 UTC

Merge branch '10.1-MDEV-15442' of https://github.com/codership/mariadb-server into codership-10.1-MDEV-15442

10.3 2018-07-14 17:05:46 UTC 2018-07-14
rpl_row_001.test failed in internal check

Author: Monty
Author Date: 2018-07-14 17:05:46 UTC

rpl_row_001.test failed in internal check

Problem was as part of SET PASSWORD FOR ROOT, mysql.user table changed
compared to how it was originally created. (plugin changed value)

bb-10.4-hf 2018-07-14 09:46:00 UTC 2018-07-14
MDEV-15473

Author: Alexey Botchkov
Author Date: 2018-07-14 09:46:00 UTC

MDEV-15473

mysql_install_db fixed.

bb-10.2-mdev16428 2018-07-13 13:23:04 UTC 2018-07-13
MDEV-16710, Issue#857: MyRocks: Incorrect behavior when miltiple statements f...

Author: Sergey Petrunia
Author Date: 2018-07-13 13:23:04 UTC

MDEV-16710, Issue#857: MyRocks: Incorrect behavior when miltiple statements fail inside a transaction

rollback_to_stmt_savepoint() calls do_rollback_to_savepoint(). This removes
the changes made by this statement, and also removes the set savepoint.

Before we start processing the next statement, we need to set the new
savepoint, so we will have something to rollback to if the next statement
fails.

Since rollback_to_stmt_savepoint always sets a new savepoint now,
m_n_savepoints is now redundant and is removed.

10.4-mdev-15253 2018-07-12 07:37:52 UTC 2018-07-12
MDEV-15253: Default optimizer setting changes for MariaDB 10.4

Author: varun
Author Date: 2018-07-12 07:22:17 UTC

MDEV-15253: Default optimizer setting changes for MariaDB 10.4

Results updated (part 6)

bb-5.5-16166 2018-07-12 05:07:22 UTC 2018-07-12
MDEV-16166 RBR breaks with HA_ERR_KEY_NOT_FOUND upon DELETE from table...

Author: sachin
Author Date: 2018-06-05 09:44:19 UTC

MDEV-16166 RBR breaks with HA_ERR_KEY_NOT_FOUND upon DELETE from table...
with spatial index

So the issue is since it is spatial index , at the time of searching index
for key (Rows_log_event::find_row) we use wrong field image we use
Field::itRAW while we should be using Field::itMBR

bb-10.0-9266 2018-07-12 05:02:58 UTC 2018-07-12
MDEV-9266 Creating index on temporaray table breaks replication

Author: Sachin Setiya
Author Date: 2018-05-30 10:55:44 UTC

MDEV-9266 Creating index on temporaray table breaks replication

Problem:- Create/drop index was logged into binlog.

Goal:- Operation on temporary table should not be binlog when binlog format
is row.

Solution:-
We should add CF_FORCE_ORIGINAL_BINLOG_FORMAT when there is ddl on temp
table.
For optimize, analyze, repair we wont change anything ,Then will
be logged in binlog , But they also dont throw any error if operation fails
Since slave wont be having any temp table , but these operation on tmp
table will be processed without breaking replication.

For rename we need a different logic MDEV-16728 will solve it.

bb-10.3-serg 2018-07-11 09:55:47 UTC 2018-07-11
compiler warnings

Author: Sergei Golubchik
Author Date: 2018-07-05 15:37:07 UTC

compiler warnings

bb-10.0-varun 2018-07-11 09:52:04 UTC 2018-07-11
MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_...

Author: varun
Author Date: 2018-07-10 20:58:42 UTC

MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed

Backport the fix f214d365121 to 10.0

   Author: Sergei Golubchik <serg@mariadb.org>
   Date: Tue Apr 17 00:44:34 2018 +0200

    ASAN error in is_stat_table()

    don't memcmp beyond the first argument's end

    Also: use my_strcasecmp(table_alias_charset), like elsewhere, not memcmp

10.2-w-columnstore 2018-07-10 18:51:51 UTC 2018-07-10
MCOL-1532 Added accessors columnstore uses.

Author: Roman Nozdrin
Author Date: 2018-07-10 18:51:51 UTC

MCOL-1532 Added accessors columnstore uses.

bb-10.3-MDEV-16246 2018-07-09 21:25:37 UTC 2018-07-09
MDEV-16246: insert timestamp into spider table from mysqldump gets wrong time...

Author: Jacob Mathew
Author Date: 2018-07-09 21:25:37 UTC

MDEV-16246: insert timestamp into spider table from mysqldump gets wrong time zone.

The problem occurred because the Spider node was incorrectly handling
timestamp values sent to and received from the data nodes.

The problem has been corrected as follows:
- Added logic to set and maintain the UTC time zone on the data nodes.
  To prevent timestamp ambiguity, it is necessary for the data nodes to use
  a time zone such as UTC which does not have daylight savings time.
- Removed the spider_sync_time_zone configuration variable, which did not
  solve the problem and which interfered with the solution.
- Added logic to convert to the UTC time zone all timestamp values sent to
  and received from the data nodes. This is done for both unique and
  non-unique timestamp columns. It is done for WHERE clauses, applying to
  SELECT, UPDATE and DELETE statements, and for UPDATE columns.
- Disabled Spider's use of direct update when any of the columns to update is
  a timestamp column. This is necessary to prevent false duplicate key value
  errors.
- Added a new test spider.timestamp to thoroughly test Spider's handling of
  timestamp values.

Author:
  Jacob Mathew.

Reviewer:
  Kentoku Shiba.

bb-pr-774 2018-07-09 08:19:55 UTC 2018-07-09
MDEV-12914: Disable silently call of myisam

Author: Anel Husaković
Author Date: 2018-05-15 11:17:43 UTC

MDEV-12914: Disable silently call of myisam

bb-pr-689 2018-07-09 08:18:40 UTC 2018-07-09
MDEV-14474 information_schema.check_constraints

Author: Anel Husaković
Author Date: 2018-04-03 12:41:13 UTC

MDEV-14474 information_schema.check_constraints

Implement according to standard SQL specification 2008.
The check_constraints table is used for fetching metadata about
the constraints defined for tables in all databases.

There were some result files which failed after running mtr.
These files are updated with newly create record with mtr --record.

bb-5.5-varun 2018-07-06 13:44:32 UTC 2018-07-06
MDEV-16307: Incorrect results when using BNLH join instead of BNL join with v...

Author: varun
Author Date: 2018-07-04 12:21:15 UTC

MDEV-16307: Incorrect results when using BNLH join instead of BNL join with views

In this issue we are using derived_with_keys optimization and we are using these keys to do a hash join which is incorrect.
We cannot create keys for BLOBS or TEXT columns as only specified length indexes are allowed, so we cannot allow creation of keys
on derived tables if the keyparts have BLOBS or TEXT columns.

bb-10.3-MDEV-16697 2018-07-05 15:49:44 UTC 2018-07-05
MDEV-16697: Fix difference between 32bit/windows and 64bit systems in allowed...

Author: Oleksandr Byelkin
Author Date: 2018-07-05 15:49:44 UTC

MDEV-16697: Fix difference between 32bit/windows and 64bit systems in allowed select nest level

bb-10.2-MDEV-15855 2018-07-05 05:44:21 UTC 2018-07-05
MDEV-15855 Deadlock between purge thread and DDL statement

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-07-05 05:44:21 UTC

MDEV-15855 Deadlock between purge thread and DDL statement

Problem:
=========
Truncate operation holds MDL LOCK on the table (t1) and tries to
acquire InnoDB dict_operation_lock. Purge holds InnoDB dict_operation_lock
and tries to acquire MDL LOCK on the table (t1) to calculate the virtual column
value. It leads to deadlock of purge and truncate table (DDL)

Solution:
=========
If purge tries to acquire MDL lock on the table then it should do the following:

i) Purge should release all innodb locks (including dict_operation_lock) before
acquiring metadata lock on the table.

ii) After acquiring metadata lock on the table, it should check whether the
table is dropped or renamed. If the table is dropped then purge should ignore
the record. If the table is renamed then it should release the old table mdl lock
and should acquire the new table mdl lock.

iii) Once purge acquires mdl lock, it should use the server table for all the
remaining virtual index for the purge record.

- Introduce new virtual column information in purge_node_t to know whether
the mdl lock acquired successfully.

bb-10.4-blob-index 2018-07-03 13:17:56 UTC 2018-07-03
Commit 2 mysql_prepare_create_table done now init_from_binary_frm image

Author: Sachin Setiya
Author Date: 2018-07-03 13:17:56 UTC

Commit 2 mysql_prepare_create_table done now init_from_binary_frm image
and duplicate checking is pending

bb-10.3-MDEV-15855 2018-07-02 19:37:53 UTC 2018-07-02
MDEV-15855 Deadlock between purge thread and DDL statement

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-07-02 19:37:53 UTC

MDEV-15855 Deadlock between purge thread and DDL statement

Problem:
=========
Truncate operation holds MDL LOCK on the table (t1) and tries to
acquire InnoDB dict_operation_lock. Purge holds InnoDB dict_operation_lock
and tries to acquire MDL LOCK on the table (t1) to calculate the virtual column
value. It leads to deadlock of purge and truncate table (DDL)

Solution:
=========
If purge tries to acquire MDL lock on the table then it should do the following:

i) Purge should release all innodb locks (including dict_operation_lock) before
acquiring metadata lock on the table.

ii) After acquiring metadata lock on the table, it should check whether the
table is dropped or renamed. If the table is dropped then purge should ignore
the record. If the table is renamed then it should release the old table mdl lock
and should acquire the new table mdl lock.

iii) Once purge acquires mdl lock, it should use the server table for all the
remaining virtual index for the purge record.

- n_ref_count in dict_table_t does atomic operations for release, acquire,
get_ref_count()

- Introduce new virtual column information in purge_node_t to know whether
the mdl lock acquired successfully.

bb-10.3-release 2018-07-02 07:30:10 UTC 2018-07-02
after-merge fix

Author: Sergei Golubchik
Author Date: 2018-07-02 07:30:10 UTC

after-merge fix

bb-10.3-findgssapi 2018-06-29 21:18:47 UTC 2018-06-29
MDEV-16596 : Windows - redo log does not work on native 4K sector disks.

Author: Vladislav Vaintroub
Author Date: 2018-06-29 21:18:47 UTC

MDEV-16596 : Windows - redo log does not work on native 4K sector disks.

Disks with native 4K sectors need 4K alignment and size for unbuffered IO
(i.e files opened with FILE_FLAG_NO_BUFFERING)

Innodb opens redo log with FILE_FLAG_NO_BUFFERING, but it does 512byte IOs
Thus, the IO fails, and Innodb is non-functional.

The fix is to check whether OS_FILE_LOG_BLOCK_SIZE is multiple of logical
sector size, and if it is not, reopen the redo log without
FILE_FLAG_NO_BUFFERING flag.

bb-10.4-mdev7486 2018-06-29 20:01:43 UTC 2018-06-29
MDEV-7486: Condition pushdown from HAVING into WHERE

Author: Galina Shalygina
Author Date: 2018-06-17 17:48:00 UTC

MDEV-7486: Condition pushdown from HAVING into WHERE

Condition can be pushed from the HAVING clause into the WHERE clause
if it depends only on the fields that are used in the GROUP BY 'grouping_fields'
or depends on the fields that are equal to 'grouping_fields'.
Aggregate functions can't be pushed down.

How the pushdown is made on the example:

SELECT t1.a,MAX(t1.b)
FROM t1
GROUP BY t1.a
HAVING (t1.a>2) AND (MAX(c)>12);

=>

SELECT t1.a,MAX(t1.b)
FROM t1
WHERE (t1.a>2)
GROUP BY t1.a
HAVING (MAX(c)>12);

The implementation scheme:

1. Search for the condition cond in the HAVING clause of the select that
   depends only on the fields that are used in the GROUP BY of the select
2. Save it as a condition that can be pushed into the WHERE clause
   of the select
3. Remove cond from the HAVING clause

The optimization is made in the
st_select_lex::pushdown_from_having_into_where() and is controlled by the
variable 'condition_pushdown_from_having_into_where'.

New test file having_cond_pushdown.test is created.

optimize_cond() for the HAVING clause was moved so now it is called before
optimize_cond() call for the WHERE clause in JOIN::optimize_inner().
check_simple_equality() was also changed in the way that after the work of
optimize_cond() for the HAVING clause all equalities there are transformed into
the multiple equalities.

bb-10.1-serg 2018-06-29 12:46:41 UTC 2018-06-29
Fix TokuDB's check for -Wno-address-of-packed-member

Author: Sergei Golubchik
Author Date: 2018-06-29 12:46:41 UTC

Fix TokuDB's check for -Wno-address-of-packed-member

(failed configure with old clang)

bb-10.2-release 2018-06-28 20:46:12 UTC 2018-06-28
Merge branch '10.1' into 10.2

Author: Sergei Golubchik
Author Date: 2018-06-28 20:21:50 UTC

Merge branch '10.1' into 10.2

bb-10.1-release 2018-06-28 14:17:21 UTC 2018-06-28
MDEV-16615 ASAN SEGV in handler::print_error or server crash after error upon...

Author: Sergei Golubchik
Author Date: 2018-06-28 14:17:21 UTC

MDEV-16615 ASAN SEGV in handler::print_error or server crash after error upon CREATE TABLE

table->in_use is not always set and a KILL signal can arrive anytime.

bb-10.2-serg 2018-06-27 21:25:06 UTC 2018-06-27
MDEV-16473 WITH statement throws 'no database selected' error

Author: Sergei Golubchik
Author Date: 2018-06-27 20:25:59 UTC

MDEV-16473 WITH statement throws 'no database selected' error

Different fix, just use NULL, not no_db,

bb-10.4-release 2018-06-27 14:07:28 UTC 2018-06-27
C++11 experiment: check if all builders support it

Author: Sergey Vojtovich
Author Date: 2018-05-29 17:46:31 UTC

C++11 experiment: check if all builders support it

bb-10.3-hf 2018-06-26 10:19:30 UTC 2018-06-26
PCRE2.

Author: Alexey Botchkov
Author Date: 2018-06-26 10:19:30 UTC

PCRE2.

pcer2 dir added.

bb-10.2-MDEV-15436 2018-06-26 09:56:19 UTC 2018-06-26
MDEV-15436: If log_bin and log_bin_index is different SST with rsync fails.

Author: Jan Lindström
Author Date: 2018-06-26 09:56:19 UTC

MDEV-15436: If log_bin and log_bin_index is different SST with rsync fails.

Problem was that in SST log_bin_index name and directory was not
handled and passed to rsync SST script.

wsrep_sst_common.sh
 Read binlog index dirname and filename if --binlog-index
 parameter is provided. Read binlog filenames from that file
 from donor and write transfered binlog filenames to that
 file in joiner.

mysqld.cc, mysqld.h
 Moved opt_binlog_index_name from static to global and added
 it to extern.

wsrep_sst.cc

generate_binlog_index_opt_val
 New function to generate binlog index name if opt_binlog_index_name is
 given on configuration.

sst_prepare_other
 Add binlog index configuration to SST command.

wsrep_sst.h
 Add new SST parameter --binlog-index

Add test case.

bb-10.3-MDEV-15058-2 2018-06-25 07:34:37 UTC 2018-06-25
MDEV-15058: Allocate buf_pool statically

Author: Marko Mäkelä
Author Date: 2018-02-23 20:26:26 UTC

MDEV-15058: Allocate buf_pool statically

buf_pool_t::create(): Replaces buf_pool_init().

buf_pool_t::close(): Replaces buf_pool_free().

FIXME: Do not add buf_pool_t::is_initialised()

bb-10.3-sachin-rpl 2018-06-24 11:53:41 UTC 2018-06-24
Fix rpl_rotate_logs

Author: Sachin Setiya
Author Date: 2018-06-24 11:53:41 UTC

Fix rpl_rotate_logs

First we have to remove master.info file (cleanup) and second we have to
call reset slave all because if we do not call reset slave all then we wont
read master.info file beacuse we already have master config in memory.
And this makes start slave to pass , which shoud fail becuase its permision
is 000

bb-10.3-MDEV-16365 2018-06-24 11:29:36 UTC 2018-06-24
MDEV-16365 Setting a column NOT NULL fails to return error for

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-06-24 11:29:36 UTC

MDEV-16365 Setting a column NOT NULL fails to return error for
  NULL values when there is no DEFAULT

Copy and inplace algorithm works similarly for
NULL to NOT NULL conversion for the following cases:
(1) strict sql mode - Should give error.
(2) non-strict sql mode - Should give warnings alone
(3) alter ignore table command. - Should give warnings alone.

bb-10.2-hf 2018-06-21 12:27:47 UTC 2018-06-21
PING

Author: Alexey Botchkov
Author Date: 2018-06-21 12:27:47 UTC

PING

bb-10.2-14472 2018-06-21 09:52:32 UTC 2018-06-21
MDEV-14472 Assertion `is_current_stmt_binlog_format_row()' failed...

Author: Sachin Setiya
Author Date: 2018-05-14 06:45:38 UTC

MDEV-14472 Assertion `is_current_stmt_binlog_format_row()' failed...
in THD::binlog_write_table_map

Problem:- So the issue is when the test case (mdev_14472) is run with debug
  build , Assert DBUG_ASSERT(is_current_stmt_binlog_format_row()); is fired
  in binlog_write_table_map.

Analysis:- When we lock table t1, and if t1 has some trigger which updates
  another table then all other tables are also locked. So in the case of lock
  t1(in mdev_14472 test case) we will lock t1, t2, t3 and t4. In next insert
  command (t2 insert), we call handler->check_table_row_based from
  write_locked_table_maps which updates the table handler
  check_table_binlog_row_based_done to 1 and check_table_binlog_row_based_result
  to 1 , it is set to one because this particular insert stmt is unsafe(because
  of trigger on t4). The next insert stmt(insert t3) is safe so we will write
  that in stmt format , but since we havent cleared the previous
  check_table_binlog_row_based_result so it is logged in row format while
  thd->is_current_stmt_binlog_format_row() is still 0, and this fires the
  assert. So the question is why check_table_binlog_row_based_result is not
  reseted because mark_used_tables_as_free_for_reuse skips locked tables

Solution:- We make mark_used_tables_as_free_for_reuse to reset
  check_table_binlog_row_based_result even when table is locked

bb-10.2-monty 2018-06-18 19:44:58 UTC 2018-06-18
Fixed failing test acl_load_mutex-5170

Author: Monty
Author Date: 2018-06-18 19:44:58 UTC

Fixed failing test acl_load_mutex-5170

Added flush tables to ensure that MyISAM tables are
properly flushed before reboot

bb-MDEV-15447 2018-06-18 09:00:58 UTC 2018-06-18
CTE tests (from MySQL 8.0)

Author: Larysa Sherepa
Author Date: 2018-06-18 09:00:58 UTC

CTE tests (from MySQL 8.0)

bb-10.3-monty 2018-06-17 11:20:47 UTC 2018-06-17
MDEV-15114 ASAN heap-use-after-free in mem_heap_dup or dfield_data_is_binary_...

Author: Monty
Author Date: 2018-06-17 11:19:51 UTC

MDEV-15114 ASAN heap-use-after-free in mem_heap_dup or dfield_data_is_binary_equal

The bug was that innobase_get_computed_value() trashed record[0] and data
in Field_blob::value

Fixed by using a record on the heap for innobase_get_computed_value()

bb-10.2-mdev-16087 2018-06-15 14:01:23 UTC 2018-06-15
MDEV-16087 Inconsistent SELECT results when query cache is enabled

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-06-15 14:01:23 UTC

MDEV-16087 Inconsistent SELECT results when query cache is enabled

 The following conditions will decide the query cache retrieval or
 storing inside innodb:
    (1) There should not be any locks on the table.
    (2) Some other trx shouldn't invalidated the cache before the
    transaction started.
    (3) Read view shouldn't exist. If exists then the view
    low_limit_id should be greater than or equal to the transaction that
    invalidates the cache for the particular table.

 For read-only transaction: should satisfy the above (1) and (3)
 For read-write transaction: should satisfy the above (1), (2), (3).

- Changed the variable from query_cache_inv_id to query_cache_inv_trx_id.

- Moved the function row_search_check_if_query_cache_permitted from
    row0sel.h and made it as static function in ha_innodb.cc

bb-10.1-galera 2018-06-14 12:47:39 UTC 2018-06-14
MDEV-15611 Due to the failure of foreign key detection, Galera slave node kil...

Author: Jan Lindström
Author Date: 2018-06-14 12:47:39 UTC

MDEV-15611 Due to the failure of foreign key detection, Galera slave node killed himself.

Merge following change from 10.2

revision-id: d52cff9f10aeea208a1058f7b5527e602125584c (mariadb-10.2.14-25-gd52cff9)
parent(s): bc2501453c3ab9a2cf3516bc3557de8665bc2776
author: Sachin Setiya
committer: Sachin Setiya
timestamp: 2018-04-04 12:26:06 +0530
message:

MDEV-15611 Due to the failure of foreign key detection, Galera...
slave node killed himself.

Problem:- If we try to delete table with foreign key and table whom it is
referring with wsrep_slave_threads>1 then galera tries to execute both
Delete_rows_log-event in parallel, which should not happen.

Solution:- This is happening because we do not have foreign key info in
write set. Upto version 10.2.7 it used to work fine. Actually it happening
because of issue in commit 2f342c4. wsrep_must_process_fk should be used
with negation.

bb-10.1_MDEV-14014 2018-06-13 16:01:59 UTC 2018-06-13
MDEV-14014 Multi-Slave Replication Fail: bogus data in log event

Author: Andrei Elkin
Author Date: 2018-03-18 19:01:41 UTC

MDEV-14014 Multi-Slave Replication Fail: bogus data in log event

MDEV-7257 made a dump thread to read from binlog concurrently with
writers as long as the read bytes are below a water-mark
(MYSQL_BIN_LOG::binlog_end_pos). However it appeared to be possible a
dump thread reader reach out for bytes past the water mark through a
feature of IO_CACHE that fills in the internal buffer and while doing
so it could read what the reader is not supposed to see (the bytes
above MYSQL_BIN_LOG::binlog_end_pos).

The issue is fixed with constraining the IO_CACHE buffer fill to respect
the watermark.

An added unit test proves reading from file is bound to an external
parameter
passed to {IO_CACHE::end_of_file} cache member.

bb-10.1-andrei 2018-06-12 17:55:28 UTC 2018-06-12
MDEV-14014 Multi-Slave Replication Fail: bogus data in log event

Author: Andrei Elkin
Author Date: 2018-03-18 19:01:41 UTC

MDEV-14014 Multi-Slave Replication Fail: bogus data in log event

MDEV-7257 made a dump thread to read from binlog concurrently with
writers as long as the read bytes are below a water-mark
(MYSQL_BIN_LOG::binlog_end_pos). However it appeared to be possible a
dump thread reader reach out for bytes past the water mark through a
feature of IO_CACHE that fills in the internal buffer and while doing
so it could read what the reader is not supposed to see (the bytes
above MYSQL_BIN_LOG::binlog_end_pos).

The issue is fixed with constraining the IO_CACHE buffer fill to respect
the watermark.
An added test simulates potentially unconstrained buffer fill and an
assert guards this is not the case anymore.

bb-10.1-mdev-14398 2018-06-12 10:51:41 UTC 2018-06-12
MDEV-14398 When innodb_encryption_rotate_key_age=0 is set,

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-06-12 10:51:41 UTC

MDEV-14398 When innodb_encryption_rotate_key_age=0 is set,
   server won't encrypt tablespaces.

The following commit makes the dependency between
innodb-encryption-rotate-key-age and encryption/decryption.

commit 50eb40a2a8aa3af6cc271f6028f4d6d74301d030
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Tue Mar 14 12:56:01 2017 +0200

MDEV-11738: Mariadb uses 100% of several of my 8 cpus doing nothing

MDEV-11581: Mariadb starts InnoDB encryption threads
when key has not changed or data scrubbing turned off

Background: Key rotation is based on background threads
(innodb-encryption-threads) periodically going through
all tablespaces on fil_system. For each tablespace
current used key version is compared to max key age
(innodb-encryption-rotate-key-age). This process
naturally takes CPU. Similarly, in same time need for
scrubbing is investigated. Currently, key rotation
is fully supported on Amazon AWS key management plugin
only but InnoDB does not have knowledge what key
management plugin is used.

The above commit basically make use of innodb-encryption-rotate-key-age=0
to disable key rotation and background data scrubbing.
It only encrypts/decrypts for the newly created table.

One more issue is with above commit is that, even though the
innodb_encrypt_table value is changed at run time. It doesn't affect
the state of the old tablespace.

Different Solution:
===================

(1) Key rotation thread can iterate through tablespace list and check whether
it matches with innodb_encrypt_tables parameter. If it doesn't match then do
the operation based on the innodb_encrypt_tables parameter. InnoDB shouldn't
iterate the fil_system->space_list again and again. It increases the CPU usage.

(2) Key rotation thread should store lastly used tablespace id. If the value of
innodb-encryption-rotate-key-age is set to 0 then InnoDB should
start the traversion from lastly used space id. So that key rotation thread
only does the encryption/decryption for newly added tablespace.

    (i) If lastly used tablespace id is not found or dropped then InnoDB
 should traverse it from system tablespace again.

(3) If innodb_encrypt_tables value changed at runtime then InnoDB should
traverse the tablespace from system tablespace again.

bb-10.1-vicentiu 2018-06-11 21:19:22 UTC 2018-06-11
Merge branch '10.0-galera' into bb-10.1-vicentiu

Author: Vicențiu Ciorbaru
Author Date: 2018-06-11 21:19:22 UTC

Merge branch '10.0-galera' into bb-10.1-vicentiu

bb-10.1-hf 2018-06-11 19:42:13 UTC 2018-06-11
MDEV-14668 ADD PRIMARY KEY IF NOT EXISTS on composite key

Author: Alexey Botchkov
Author Date: 2018-06-11 19:42:13 UTC

MDEV-14668 ADD PRIMARY KEY IF NOT EXISTS on composite key

bb-5.5-MDEV-15113 2018-06-11 15:50:20 UTC 2018-06-11
MDEV-15113: Hang in Aria loghandler

Author: Oleksandr Byelkin
Author Date: 2018-01-31 08:35:38 UTC

MDEV-15113: Hang in Aria loghandler

Added unregistering writers in case of log error.
Added more debugging control about adding/removing writers to the buffers.

bb-10.0-vicentiu 2018-06-11 15:49:48 UTC 2018-06-11
Merge branch '5.5' into 10.0

Author: Vicențiu Ciorbaru
Author Date: 2018-06-11 15:49:48 UTC

Merge branch '5.5' into 10.0

bb-5.5-vicentiu 2018-06-10 13:50:36 UTC 2018-06-10
MDEV-15021: mysqldump --tables --routines generates non importable dump file

Author: Rutuja Surve
Author Date: 2018-06-10 08:19:39 UTC

MDEV-15021: mysqldump --tables --routines generates non importable dump file

The order of outputting stored procedures is important. Stored
procedures must be available on view creation, for views which make use
of them. Make sure to print them before outputting tables.

bb-5.5-thiru 2018-06-08 07:27:13 UTC 2018-06-08
MDEV-15772 Potential list overrun during XA recovery

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-06-08 07:27:13 UTC

MDEV-15772 Potential list overrun during XA recovery

- Create an api called prepare_count for counting the number of prepared
transaction. So that server layer can allocate the exact number of prepared
transaction.

bb-10.2-rocksdb-backup 2018-06-07 07:56:47 UTC 2018-06-07
wip

Author: Vladislav Vaintroub
Author Date: 2018-06-07 07:56:47 UTC

wip

bb-10.1-varun 2018-06-06 16:39:52 UTC 2018-06-06
MDEV-16191: Analyze format=json gives incorrect value for r_limit inside a de...

Author: varun
Author Date: 2018-06-06 16:39:52 UTC

MDEV-16191: Analyze format=json gives incorrect value for r_limit inside a dependent
            subquery when ORDER BY is present

Currently for setting r_limit we divide with the number of iterations we invoke the dependent subquery.
This is not needed for the case of limit. For varying limits we produce the output that the limit varies with
execution.
Also there is a type for filtered , we forgot to multiply by 100 as it is represented as a percent.

bb-10.1-MDEV-16401 2018-06-06 11:19:14 UTC 2018-06-06
MDEV-16401: Apply review comments to MDEV-16005

Author: Jan Lindström
Author Date: 2018-06-06 11:19:14 UTC

MDEV-16401: Apply review comments to MDEV-16005

Do not hold LOCK_thd_data during my_error or WSREP_DEBUG. Similarly,
release LOCK_thd_data before close_thread_tables() call.

bb-10.0-wlad 2018-06-05 19:45:17 UTC 2018-06-05
MDEV-10246 ssl-* have no effect without mysql_ssl_set()

Author: Vladislav Vaintroub
Author Date: 2018-06-05 19:45:17 UTC

MDEV-10246 ssl-* have no effect without mysql_ssl_set()

set mysql->options.use_ssl whenever one of SSL options is set.

bb-10.3-svoj 2018-06-05 14:10:42 UTC 2018-06-05
MDEV-16371 - Fix for memory write order inversion

Author: Sergey Vojtovich
Author Date: 2018-06-05 08:54:06 UTC

MDEV-16371 - Fix for memory write order inversion

my_atomic implementation for interruptable waits.

bb-10.4-svoj 2018-06-04 08:41:18 UTC 2018-06-04
C++11 experiment: check if all builders support it

Author: Sergey Vojtovich
Author Date: 2018-05-29 17:46:31 UTC

C++11 experiment: check if all builders support it

bb-10.4-serg 2018-06-03 20:41:12 UTC 2018-06-03
cleanup: ASSERT_COLUMN_MARKED_FOR_WRITE_OR_COMPUTED

Author: Sergei Golubchik
Author Date: 2018-06-03 00:39:53 UTC

cleanup: ASSERT_COLUMN_MARKED_FOR_WRITE_OR_COMPUTED

restore its original semantics by allowing only columns
in the write_set. Generated columns work around the assert
by temporarily updating the write_set.

bb-10.3-wlad 2018-05-29 23:07:02 UTC 2018-05-29
rocksdb backup

Author: Vladislav Vaintroub
Author Date: 2018-05-29 23:07:02 UTC

rocksdb backup

bb-10.2-mariarocks-merge 2018-05-25 08:51:15 UTC 2018-05-25
Buildbot pass #3

Author: Sergey Petrunia
Author Date: 2018-05-25 08:51:15 UTC

Buildbot pass #3

bb-10.3-andrei 2018-05-24 16:48:45 UTC 2018-05-24
MDEV-13727 top-level query timestamp reset at stored func/trigger internal st...

Author: Andrei Elkin
Author Date: 2018-05-22 17:19:13 UTC

MDEV-13727 top-level query timestamp reset at stored func/trigger internal statements

Being executed under slow_log is ON the test revealed a "side-effect"
in MDEV-8305 implementation which inadvertently made the trigger or
stored function statements to reset the top-level query's
THD::start_time et al. (Details of the test failure analysis are footnoted).
Unlike the SP case the SF and Trigger's internal statement should not
do that.

Fixed with revising the MDEV-8305 decision to backup/reset/restore
the session timestamp inside sp_instr_stmt::execute(). The timestamp
actually remains reset in the SP case by its caller per statement basis by ever
existing logics.

Timestamps related tests are extended to cover the trigger and stored function case.

Note, commit 3395ab73244 is reverted as its struct QUERY_START_TIME_INFO
declaration is not in use anymore after this patch.

Footnote:
--------
Specifically to the failing test, a query on the master was logged
okay with a timestamp of the query's top-level statement but its post
update trigger managed to compute one more (later) timestamp which got
inserted into another table. The latter table master-vs-slave
no fractional part timestamp discrepancy became evident
thanks to different execution time of the trigger combined with the
fact of the logged with micro-second fractional part master timestamp
was truncated on the slave. On master when the fractional part was
close to 1 the trigger execution added up its own latency to overflow
to next second value. That's how the master timestamp surprisingly
turned out to bigger than the slave's one.

bb-10.3-mdev-15578 2018-05-24 16:28:54 UTC 2018-05-24
MDEV-15578: MyRocks: support zstandard compression where the distro allows it

Author: Vicențiu Ciorbaru
Author Date: 2018-05-22 18:57:14 UTC

MDEV-15578: MyRocks: support zstandard compression where the distro allows it

Add libzstd-dev as a build dependency to the server and libzstd1 as a
runtime dependency for rocksdb. libzstd is practially a mandatory
compression library to ensure adequate performance for RocksDB.

bb-10.2-monty-fixed 2018-05-24 15:59:17 UTC 2018-05-24
Extend debug_assert_on_not_freed_memory

Author: Monty
Author Date: 2018-05-24 13:20:31 UTC

Extend debug_assert_on_not_freed_memory

Don't check global_memory_used if
debug_assert_on_not_freed_memory is not set

bb-10.0-monty 2018-05-22 20:08:26 UTC 2018-05-22
MDEV-15308 Assertion `ha_alter_info->alter_info->drop_list.elements

Author: Monty
Author Date: 2018-05-22 20:05:01 UTC

MDEV-15308 Assertion `ha_alter_info->alter_info->drop_list.elements

Problem was that handle_if_exists_options() didn't correct
alter_info->flags when things was removed from the list.

bb-10.3-MDEV-12900 2018-05-22 00:30:39 UTC 2018-05-22
MDEV-12900: spider tests failed in buildbot with valgrind

Author: Jacob Mathew
Author Date: 2018-05-22 00:30:39 UTC

MDEV-12900: spider tests failed in buildbot with valgrind

The failures with valgrind occur as a result of Spider sometimes using the
wrong transaction for operations in background threads that send requests to
the data nodes. The use of the wrong transaction caused the networking to the
data nodes to use the wrong thread in some cases. Valgrind eventually
detects this when such a thread is destroyed before it is used to disconnect
from the data node by that wrong transaction when it is freed.

I have fixed the problem by correcting the transaction used in each of these
cases.

Author:
  Jacob Mathew.

Reviewer:
  Kentoku Shiba.

bb-10.3-cc 2018-05-21 10:32:39 UTC 2018-05-21
update C/C

Author: Vladislav Vaintroub
Author Date: 2018-05-21 10:32:39 UTC

update C/C

bb-10.3-varun 2018-05-18 17:04:59 UTC 2018-05-18
MDEV-14623: Output of show function code does not show FETCH GROUP NEXT ROW f...

Author: varun
Author Date: 2018-05-18 12:12:12 UTC

MDEV-14623: Output of show function code does not show FETCH GROUP NEXT ROW for custom aggregates

The print() function was missing from the FETCH GROUP NEXT ROW instrunction class, so there was no
output for this particular instruction when we use the query SHOW FUNCTION CODE function_name

bb-10.1-10259 2018-05-18 12:05:33 UTC 2018-05-18
MDEV-10259 mysqld crash with certain statement length and...

Author: Sachin Setiya
Author Date: 2018-05-18 12:05:33 UTC

MDEV-10259 mysqld crash with certain statement length and...
order with Galera and encrypt-tmp-files=1

Problem:- If trans_cache (IO_CACHE) uses encrypted tmp file
then on next DML server will crash.

Case:-
 Lets take a case , we have a table t1 , We try to do 2 inserts in t1
  1. A really long insert so that trans_cache has to use temp_file
  2. Just a small insert

Analysis:- Actually server crashes from inside of galera
library.
/lib64/libc.so.6(abort+0x175)[0x7fb5ba779dc5]
/usr/lib64/galera/libgalera_smm.so(_ZN6galera3FSMINS_9TrxHandle5State...
mysys/stacktrace.c:247(my_print_stacktrace)[0x7fb5a714940e]
sql/signal_handler.cc:160(handle_fatal_signal)[0x7fb5a715c1bd]
sql/wsrep_hton.cc:257(wsrep_rollback)[0x7fb5bcce923a]
sql/wsrep_hton.cc:268(wsrep_rollback)[0x7fb5bcce9368]
sql/handler.cc:1658(ha_rollback_trans(THD*, bool))[0x7fb5bcd4f41a]
sql/handler.cc:1483(ha_commit_trans(THD*, bool))[0x7fb5bcd4f804]

but actual issue is not in galera but in mariadb, because for 2nd
insert we should never call rollback. We are calling rollback because
log_and_order fails it fails because write_cache fails , It fails
because after reinit_io_cache(trans_cache) , my_b_bytes_in_cache says 0
so we look into tmp_file for data , which is obviously wrong since temp
was used for previous insert and it no longer exist.
wsrep_write_cache_inc() reads the IO_CACHE in a loop, filling it with
my_b_fill() until it returns "0 bytes read". Later
MYSQL_BIN_LOG::write_cache() does the same. wsrep_write_cache_inc()
assumes that reading a zero bytes past EOF leaves the old data in the
cache

Solution:- There is two issue in my_b_encr_read
1st we should never equal read_end to info->buffer. I mean this
does not make sense read_end should always point to end of buffer.
2nd For most of the case(apart from async IO_CACHE) info->pos_in_file
should be equal to info->buffer position wrt to temp file , since
in this case we are not changing info->buffer it should remain
unchanged.

bb-5.5-wlad 2018-05-18 09:36:07 UTC 2018-05-18
Do not use UTF8 on the command line for mysql client, on Windows.

Author: Vladislav Vaintroub
Author Date: 2018-05-17 23:23:15 UTC

Do not use UTF8 on the command line for mysql client, on Windows.

It only worked by accident in the past, with client not being Unicode safe.
It stopped working with VS2017 15.7 release.

bb-anel-check_constraing 2018-05-18 08:47:14 UTC 2018-05-18
Add error message in case of the `field` `check` constraints

Author: Anel Husaković
Author Date: 2018-04-20 07:06:25 UTC

Add error message in case of the `field` `check` constraints

One can create table with the same name for `field` and `table` `check` constraint.
For example:

create table t(a int check(a>0), constraint a check(a>10));
But when inserting new rows same error is always raised.
For example with
insert into t values (-1);
insert into t values (10);
same error `ER_CONSTRAINT_FAILED` is returned for both queries.
By the assumption that the previous error should be raised only in case of
`table` constraints, this patch will distinguish between `field` and `table`
error message by adding newly created `ER_FIELD_CONSTRAINT_FAILED` error which
occurs only when `field` constraint is violated.

bb-10.3-sachin 2018-05-18 04:05:31 UTC 2018-05-18
MDEV-15127 AddressSanitizer: stack-buffer-overflow in

Author: sachin
Author Date: 2018-04-26 14:20:30 UTC

MDEV-15127 AddressSanitizer: stack-buffer-overflow in
 base_list::push_back upon creating invisible index

A commit message ....

5.5-wlad 2018-05-17 23:23:15 UTC 2018-05-17
Do not use UTF8 on the command line for mysql client, on Windows.

Author: Vladislav Vaintroub
Author Date: 2018-05-17 23:23:15 UTC

Do not use UTF8 on the command line for mysql client, on Windows.

It only worked by accident in the past, with client not being Unicode safe.
It stopped working with VS2017 15.7 release.

bb-10.2-MDEV-12465 2018-05-17 17:17:28 UTC 2018-05-17
MDEV-12465: Server crashes in my_scan_weight_utf8_bin upon collecting stats f...

Author: Oleksandr Byelkin
Author Date: 2018-05-17 17:17:28 UTC

MDEV-12465: Server crashes in my_scan_weight_utf8_bin upon collecting stats for RocksDB table

Do not use "only index read" in analyzing indices if there is a field which present in the index only partially.

bb-5.5-svoj 2018-05-16 17:01:26 UTC 2018-05-16
(almost) sane core handling in mtr

Author: Sergey Vojtovich
Author Date: 2018-05-16 17:01:26 UTC

(almost) sane core handling in mtr

Analyze core independently of max-save-datadir and max-save-core setting.

Increment $num_saved_cores only if core was actually saved.

"Move any core files from e.g. mysqltest" independently of
max-save-datadir setting. Note: it may overwrite core from mysqld, which
might not be desired (it did work this way even before).

10.3-MDEV-15855 2018-05-16 09:02:39 UTC 2018-05-16
MDEV-15855 Use MDL in FULLTEXT INDEX sync

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-05-07 11:33:47 UTC

MDEV-15855 Use MDL in FULLTEXT INDEX sync

- fts sync thread allows takes MDL lock on the table instead of
dict_operation_lock.

10.3-mdev15777 2018-05-15 08:23:11 UTC 2018-05-15
MDEV-15777:Support Early NULLs filtering-like restrictions in the range optim...

Author: varun
Author Date: 2018-04-20 17:28:45 UTC

MDEV-15777:Support Early NULLs filtering-like restrictions in the range optimizer

bb-10.2-mdev-13626 2018-05-15 05:46:51 UTC 2018-05-15
MDEV-13626 Merge InnoDB test cases from MySQL 5.7

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-05-15 05:46:51 UTC

MDEV-13626 Merge InnoDB test cases from MySQL 5.7

Imported the following test case from mysql to MariaDB

1) innodb.alter_kill
2) innodb.alter_foreign_crash
3) innodb.alter_rename_files
4) innodb.analyze_table
5) Appended the case in innodb-online-alter-gis

bb-10.3-MDEV-16101 2018-05-14 20:25:41 UTC 2018-05-14
MDEV-16101: ADD PARTITION on table partitioned by list does not work with mor...

Author: Jacob Mathew
Author Date: 2018-05-11 21:45:09 UTC

MDEV-16101: ADD PARTITION on table partitioned by list does not work with more than 32 list values.

This problem occured because the reorganization of the list of values when the
number of elements exceeds 32 was not handled correctly. I have fixed the
problem by fixing the way that the list values are reorganized when the number
of list values exceeds 32.

Author:
  Jacob Mathew.

Reviewer:
  Alexey Botchkov.

bb-10.2-varun 2018-05-14 20:14:03 UTC 2018-05-14
MDEV-14695: Assertion `n < m_size' failed in Bounds_checked_array<Element_typ...

Author: varun
Author Date: 2018-05-14 20:14:03 UTC

MDEV-14695: Assertion `n < m_size' failed in Bounds_checked_array<Element_type>::operator

In this issue we hit the assert because we are adding addition fields to the field JOIN::all_fields list. This
is done because HEAP tables can't index BIT fields so we need to use an additional hidden field for grouping because later it will be
converted to a LONG field. Original field will remain of the BIT type and will be returned. This happens when we convert DISTINCT to
GROUP BY.

The solution is to take into account the number of such hidden fields that would be added to the field
JOIN::all_fields list while calculating the size of the ref_pointer_array.

bb-mdev-9266 2018-05-14 12:02:07 UTC 2018-05-14
MDEV-9266 Creating index on temporaray table breaks replication

Author: Sachin Setiya
Author Date: 2018-05-14 11:59:06 UTC

MDEV-9266 Creating index on temporaray table breaks replication

Problem:- Create index was logged into binlog.

Goal:- Operation on temporary table should not be binlog when binlog format
is row.

Solution:-
1st- We should add CF_FORCE_ORIGINAL_BINLOG_FORMAT when there
 is ddl on temp table.
2nd- For optimize, analyze and repair we dont check if binlog format is row
 and this is tmp table, we dont need to log that.

bb-10.3-MDEV-13134 2018-05-14 07:45:15 UTC 2018-05-14
MDEV-15874 CREATE TABLE creates extra transaction

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-05-14 07:45:15 UTC

MDEV-15874 CREATE TABLE creates extra transaction

InnoDB does not allow FOREIGN KEY constraints to exist for TEMPORARY TABLE.
InnoDB introduced a dedicated tablespace for temporary tables, and actually
stopped creating persistent metadata and data for temporary tables.

row_table_add_foreign_constraints(): Do not create a persistent
transaction.

dict_create_foreign_constraints_low(): Add the persistent transaction to
the update the foreign key relation in dictionary.

dict_create_foreign_constraints_low(): Remove a duplicated check for
partitioned tables.

bb-mdev-14472 2018-05-14 06:47:17 UTC 2018-05-14
MDEV-14472 Assertion `is_current_stmt_binlog_format_row()' failed...

Author: Sachin Setiya
Author Date: 2018-05-14 06:45:38 UTC

MDEV-14472 Assertion `is_current_stmt_binlog_format_row()' failed...
in THD::binlog_write_table_map

try 1 patch

bb-10.4-mdev12387 2018-05-13 16:28:40 UTC 2018-05-13
Merge branch 'bb-10.3-mdev12387' into 10.4

Author: Galina Shalygina
Author Date: 2018-05-13 16:28:40 UTC

Merge branch 'bb-10.3-mdev12387' into 10.4

bb_georg_10.2 2018-05-12 07:28:54 UTC 2018-05-12
dict_create_index_tree_in_mem(): Remove dead code

Author: Marko Mäkelä
Author Date: 2018-05-12 07:28:54 UTC

dict_create_index_tree_in_mem(): Remove dead code

In InnoDB, CREATE TEMPORARY TABLE does not allow FULLTEXT INDEX.
Replace a condition with a debug assertion, and add a test.

1100 of 398 results

Other repositories

Name Last Modified
lp:maria 3 hours ago
lp:~maria-captains/maria/+git/connector-c 2018-01-08
12 of 2 results
You can't create new repositories for MariaDB.