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

Branches

Name Last Modified Last Commit
bb-10.3-release 2018-02-25 00:07:42 UTC 5 hours ago
MDEV-15405 Mixed replication fails with "Could not execute Delete_rows_v1 eve...

Author: Sergei Golubchik
Author Date: 2018-02-24 23:42:20 UTC

MDEV-15405 Mixed replication fails with "Could not execute Delete_rows_v1 event" upon DELETE HISTORY

Allow slave thread to set time for system versioning

Note that every binlog event stores now(0), while microseconds
are only stored when they're actually used in the query.

Meaning for unversioned->versioned replication, there will be
no microseconds. But the existing workaround for low-resolution
clock helps here too.

10.2 2018-02-24 20:39:21 UTC 9 hours ago
MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot ...

Author: Jan Lindström
Author Date: 2018-02-24 16:03:41 UTC

MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot with timeout on wait condition

Fix wrong wait condition.

5.5 2018-02-24 20:19:42 UTC 9 hours ago
debian: VCS is on github

Author: Daniel Black
Author Date: 2018-02-03 11:01:30 UTC

debian: VCS is on github

bb-10.3-MDEV-15058 2018-02-24 20:15:41 UTC 9 hours ago
Merge 10.3 into bb-10.3-MDEV-15058

Author: Marko Mäkelä
Author Date: 2018-02-24 20:04:11 UTC

Merge 10.3 into bb-10.3-MDEV-15058

bb-10.2-jan 2018-02-24 16:25:34 UTC 13 hours ago
MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot ...

Author: Jan Lindström
Author Date: 2018-02-24 16:25:34 UTC

MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot with timeout on wait condition

Fix wrong wait condition.

10.3 2018-02-24 13:43:26 UTC 16 hours ago
update server maturity

Author: Sergei Golubchik
Author Date: 2018-02-24 13:43:26 UTC

update server maturity

bb-10.3-compatibility 2018-02-24 11:55:51 UTC 18 hours ago
MDEV-11952 Oracle-style packages: stage#5

Author: Alexander Barkov
Author Date: 2017-08-18 19:36:42 UTC

MDEV-11952 Oracle-style packages: stage#5

- CREATE PACKAGE [BODY] statements are now
  entirely written to mysql.proc with type='PACKAGE' and type='PACKAGE BODY'.
- CREATE PACKAGE BODY now supports IF NOT EXISTS
- DROP PACKAGE BODY now supports IF EXISTS
- CREATE OR REPLACE PACKAGE [BODY] is now supported
- CREATE PACKAGE [BODY] now support the DEFINER clause:

    CREATE DEFINER user@host PACKAGE pkg ... END;
    CREATE DEFINER user@host PACKAGE BODY pkg ... END;

- CREATE PACKAGE [BODY] now supports SQL SECURITY and COMMENT clauses, e.g.:

    CREATE PACKAGE p1 SQL SECURITY INVOKER COMMENT "comment" AS ... END;

- Package routines are now created from the package CREATE PACKAGE BODY
  statement and don't produce individual records in mysql.proc.

- CREATE PACKAGE BODY now supports package-wide variables.
  Package variables can be read and set inside package routines.
  Package variables are stored in a separate sp_rcontext,
  which is cached in THD on the first packate routine call.

- CREATE PACKAGE BODY now supports the initialization section.

- All public routines (i.e. declared in CREATE PACKAGE)
  must have implementations in CREATE PACKAGE BODY

- Only public package routines are available outside of the package

- {CREATE|DROP} PACKAGE [BODY] now respects CREATE ROUTINE and ALTER ROUTINE
  privileges

- "GRANT EXECUTE ON PACKAGE BODY pkg" is now supported

- SHOW CREATE PACKAGE [BODY] is now supported

- SHOW PACKAGE [BODY] STATUS is now supported

- CREATE and DROP for PACKAGE [BODY] now works for non-current databases

- mysqldump now supports packages

- "SHOW {PROCEDURE|FUNCTION) CODE pkg.routine" now works for package routines

- "SHOW PACKAGE BODY CODE pkg" now works (the package initialization section)

- A new package body level MDL was added

- Recursive calls for package procedures are now possible

- Routine forward declarations in CREATE PACKATE BODY are now supported.

- Package body variables now work as SP OUT parameters

- Package body variables now work as SELECT INTO targets

- Package body variables now support ROW, %ROWTYPE, %TYPE

bb-10.1-serg 2018-02-24 08:39:57 UTC 21 hours ago
mtr: force-flush stderr and stdout

Author: Sergei Golubchik
Author Date: 2018-02-24 08:32:50 UTC

mtr: force-flush stderr and stdout

prevents buffering in cases like

  ./mtr | tee log

10.3-MDEV-11953 2018-02-24 08:02:33 UTC 21 hours ago
Fixed a problem with UNIONs.

Author: Igor Babaev
Author Date: 2018-02-24 08:02:33 UTC

Fixed a problem with UNIONs.

bb-5.5-serg 2018-02-23 17:50:12 UTC 2018-02-23
compiler warning

Author: Sergei Golubchik
Author Date: 2018-02-23 17:50:12 UTC

compiler warning

warning: format '%p' expects argument of type 'void *', but argument 4 has type 'long int'

bb-10.3-MDEV-15053 2018-02-23 09:35:45 UTC 2018-02-23
MDEV-15053 Split buf_pool_t::mutex - followup fix

Author: Thirunarayanan Balathandayuthapani
Author Date: 2018-02-23 09:35:45 UTC

MDEV-15053 Split buf_pool_t::mutex - followup fix

Added the contributed test case from the below
percona's patch.

committer: Laurynas Biveinis <laurynas.biveinis@percona.com>
branch nick: mysql-5.7-percona-patches
timestamp: Tue 2015-02-03 12:42:11 +0200
message:
  Fix http://bugs.mysql.com/bug.php?id=75534 (Solve buffer pool mutex
  contention by splitting it).

bb-10.3-serg 2018-02-23 01:04:46 UTC 2018-02-23
Adjust test results to reflect the new system table

Author: Elena Stepanova
Author Date: 2018-02-23 01:04:46 UTC

Adjust test results to reflect the new system table

bb-10.2-release 2018-02-22 18:29:52 UTC 2018-02-22
Merge branch '10.2' into bb-10.2-ext

Author: Sergei Golubchik
Author Date: 2018-02-22 18:29:52 UTC

Merge branch '10.2' into bb-10.2-ext

bb-10.2-ext 2018-02-22 18:29:52 UTC 2018-02-22
Merge branch '10.2' into bb-10.2-ext

Author: Sergei Golubchik
Author Date: 2018-02-22 18:29:52 UTC

Merge branch '10.2' into bb-10.2-ext

10.1 2018-02-22 13:12:02 UTC 2018-02-22
Merge branch '10.0' into 10.1

Author: Sergei Golubchik
Author Date: 2018-02-22 13:12:02 UTC

Merge branch '10.0' into 10.1

bb-10.1-release 2018-02-22 09:15:27 UTC 2018-02-22
Merge branch '10.0' into 10.1

Author: Sergei Golubchik
Author Date: 2018-02-22 09:15:27 UTC

Merge branch '10.0' into 10.1

bb-10.0-release 2018-02-22 08:22:03 UTC 2018-02-22
Merge branch '5.5' into 10.0

Author: Sergei Golubchik
Author Date: 2018-02-22 08:22:03 UTC

Merge branch '5.5' into 10.0

10.0 2018-02-22 08:22:03 UTC 2018-02-22
Merge branch '5.5' into 10.0

Author: Sergei Golubchik
Author Date: 2018-02-22 08:22:03 UTC

Merge branch '5.5' into 10.0

bb-10.0-serg 2018-02-22 08:22:03 UTC 2018-02-22
Merge branch '5.5' into 10.0

Author: Sergei Golubchik
Author Date: 2018-02-22 08:22:03 UTC

Merge branch '5.5' into 10.0

bb-10.2-serg 2018-02-21 20:21:37 UTC 2018-02-21
compilation on windows

Author: Sergei Golubchik
Author Date: 2018-02-21 20:21:37 UTC

compilation on windows

bb-10.2-compatibility 2018-02-21 19:45:00 UTC 2018-02-21
Temporarily compile release builds with -O0 and -DTRASH_FREED_MEMORY

Author: Alexander Barkov
Author Date: 2018-02-02 18:38:35 UTC

Temporarily compile release builds with -O0 and -DTRASH_FREED_MEMORY

bb-10.2-mdev15372 2018-02-21 14:27:46 UTC 2018-02-21
Change MyRocks Maturity Level from Beta to Gamma (RC)

Author: Sergey Petrunia
Author Date: 2018-02-21 14:27:46 UTC

Change MyRocks Maturity Level from Beta to Gamma (RC)

10.3-MDEV-7773 2018-02-21 14:01:50 UTC 2018-02-21
MDEV-15253:Default optimizer setting changes for MariaDB 10.3

Author: varun
Author Date: 2018-02-21 14:01:50 UTC

MDEV-15253:Default optimizer setting changes for MariaDB 10.3

Milestone 1: raising join_cache_level to 4 from 2

10.3-varun 2018-02-21 07:42:50 UTC 2018-02-21
MDEV-15368: Unnecessary condition used in Index Condition Pushdown

Author: varun
Author Date: 2018-02-21 07:42:50 UTC

MDEV-15368: Unnecessary condition used in Index Condition Pushdown

Currently the code tries to add extra constant condition of 1 when it sees that we use a hash join but this is
unnecessary when we have only one table

bb-10.3-wlad 2018-02-20 21:17:36 UTC 2018-02-20
Make possible to use clang on Windows (clang-cl)

Author: Vladislav Vaintroub
Author Date: 2018-02-20 21:17:36 UTC

Make possible to use clang on Windows (clang-cl)
-DWITH_ASAN can be used as well now, on x64

Fix many clang-cl warnings.

bb-10.3-MDEV-13749 2018-02-20 15:04:29 UTC 2018-02-20
MDEV-13749: Server crashes in _ma_unique_hash / JOIN_CACHE::generate_full_ext...

Author: Oleksandr Byelkin
Author Date: 2018-02-20 15:04:29 UTC

MDEV-13749: Server crashes in _ma_unique_hash / JOIN_CACHE::generate_full_extensions on INTERSECT

Expect index except unique constrain in case of heap table conversion.

bb-10.3-MDEV-14500 2018-02-20 05:36:19 UTC 2018-02-20
MDEV-14500: Support engines without rnd_pos() and

Author: Jacob Mathew
Author Date: 2018-02-20 03:19:03 UTC

MDEV-14500: Support engines without rnd_pos() and
            engines with inefficient rnd_pos()

Some engines have not implemented rnd_pos(). There are other engines whose
implementation of rnd_pos() is inherently inefficient. Spider is such an
engine, whose implementation of rnd_pos() needs to access a table on a remote
data node to retrieve a single table row.

To address these limitations, a new temporary table has been added to filesort.
When filesort sequentially reads the table being sorted, each row is written to
the filesort temp table in addition to being copied to the sort buffer.
Subsequent calls to rnd_pos() will then access the table row in the filesort
temp table instead of in the table being sorted.

The following logic changes incorporate the new filesort temp table into the
server:
- A new handler method to determine whether a call to the engine's
  rnd_pos() is expensive. The default return value is FALSE. Engines without
  rnd_pos() or with an inefficient rnd_pos() should return TRUE.
- Create the filesort temp table only if:
  - There are no add-on columns for filesort; and
  - The engine's implementation of rnd_pos() is expensive.
- Write to the temp table each row that is read from the table being sorted.
- Do subsequent row retrievals that use rnd_pos() on the temp table instead of
  on the table being sorted. Upon retrieving a row from the temp table, copy
  its column values to the record of the table being sorted.
- Upon completion of retrieval of the sorted result rows, delete the filesort
  temp table and free the memory allocated for using it.

The logic changes are in the following areas:
- Table handler.
- Partition engine.
- Spider engine.
- Filesort.
- Read record manager.

Note that these changes only address the use of rnd_pos() by filesort. They do
not address the use of rnd_pos() in other areas such as:
- Quick select.
- Insert.
- Update.
- Window functions.
- Multi Range Read.

Author:
  Jacob Mathew.

Reviewer:
  Sergei Golubchik.

bb-10.3-thiru 2018-02-19 19:01:08 UTC 2018-02-19
Merge 10.3 into bb-10.3-thiru

Author: Marko Mäkelä
Author Date: 2018-02-19 19:01:08 UTC

Merge 10.3 into bb-10.3-thiru

bb-10.3-varun 2018-02-19 16:43:35 UTC 2018-02-19
MDEV-15253: Default optimizer setting changes for MariaDB 10.3

Author: varun
Author Date: 2018-02-19 16:43:35 UTC

MDEV-15253: Default optimizer setting changes for MariaDB 10.3

More tests updated

bb-10.3-monty 2018-02-19 09:23:20 UTC 2018-02-19
Move alter partition flags to alter_info->partition_flags

Author: Monty
Author Date: 2018-02-19 09:23:20 UTC

Move alter partition flags to alter_info->partition_flags

This is done to get more free flag bits for alter_info->flags

Renamed all ALTER PARTITION defines to start with ALTER_PARTITION_
Renamed ALTER_PARTITION to ALTER_PARTITION_INFO
Renamed ALTER_TABLE_REORG to ALTER_PARTITION_TABLE_REORG

Other things:
- Shifted some ALTER_xxx defines to get empty bits at end

bb-10.2-wlad 2018-02-18 10:49:46 UTC 2018-02-18
Merge branch '10.2-backup-fixes' into 10.2

Author: Vladislav Vaintroub
Author Date: 2018-02-18 10:49:46 UTC

Merge branch '10.2-backup-fixes' into 10.2

bb-10.1-jan 2018-02-18 07:18:25 UTC 2018-02-18
2.

Author: Jan Lindström
Author Date: 2018-02-18 07:18:25 UTC

2.

bb-10.1-MDEV-14616 2018-02-16 15:06:12 UTC 2018-02-16
Disable encryption.innodb_encryption-page-compression

Author: Jan Lindström
Author Date: 2018-02-16 15:06:12 UTC

Disable encryption.innodb_encryption-page-compression

bb-10.1-MDEV-9962 2018-02-16 08:19:57 UTC 2018-02-16
MDEV-9962: encryption.innodb_encryption_filekeys stalled waiting for key encr...

Author: Jan Lindström
Author Date: 2018-02-16 08:19:57 UTC

MDEV-9962: encryption.innodb_encryption_filekeys stalled waiting for key encryption threads to decrypt all required spaces

Test changes.

bb-10.2-andrei 2018-02-14 17:19:17 UTC 2018-02-14
MDEV-12746 rpl.rpl_parallel_optimistic_nobinlog fails committing

Author: Andrei Elkin
Author Date: 2018-02-09 13:00:23 UTC

MDEV-12746 rpl.rpl_parallel_optimistic_nobinlog fails committing
           out of order at retry

The test failures were of two sorts. One is that the number of retries
what the slave thought as a temporary error exceeded
the default value of the slave retry option.
The 2nd issue was an out of order commit by transactions that
were supposed to error out instead.
Both issues are caused by the same reason that the post-temporary-error
retry did not check possibly already existing error status.

This is mended with refining conditions to retry. Specifically, a retrying
worker checks `rpl_parallel_entry::stop_on_error_sub_id` that
a potential failing predecessor could set to its own sub id.
Now should the member be set the retrying follower errors out with
ER_PRIOR_COMMIT_FAILED.

bb-10.3-arm 2018-02-14 11:28:41 UTC 2018-02-14
MDEV-15246 - premature history data deletion

Author: Sergey Vojtovich
Author Date: 2018-02-13 15:51:13 UTC

MDEV-15246 - premature history data deletion

This is regression after bc7a1dc1fbd27e6064d3b40443fe242397668af7 of
MDEV-15104 - Optimise MVCC snapshot.

Aforementioned revision removes mutex lock around ReadView creation,
which allows views to be created concurrently. Effectively it
invalidates "oldest view" approach: no single view can be considered
oldest anymore. Instead we have to iterate trx_sys.m_views to find
min(m_low_limit_no), min(m_low_limit_id) and all transaction ids below
min(m_low_limit_id), which would form oldest view.

Second regression comes from c0d5d7c0efb6d2b9961da7fb813ff000a5d3e4c5
of MDEV-15104 - Optimise MVCC snapshot.

It removes mutex protection around trx->no assignment, which opens up
a gap between m_max_trx_id increment and transaction serialisation
number becoming visible through rw_trx_hash. While we're in this gap
concurrent thread may come and do MVCC snapshot without seeing allocated
but not yet assigned serialisation number. Then at some point purge
thread may clone this view. As a result it won't see newly allocated
serialisation number and may remove "unnecessary" history data of this
transaction from rollback segments.

bb-10.3-mdev14835 2018-02-13 22:25:08 UTC 2018-02-13
MDEV-14835 Server crashes in Field_iterator_table::create_item when number of

Author: Galina Shalygina
Author Date: 2018-02-13 22:19:38 UTC

MDEV-14835 Server crashes in Field_iterator_table::create_item when number of
elements of BIGINT or YEAR type in the IN list reaches in_predicate_conversion_threshold

The bug appears at the prepare stage when IN-predicate with the long list
of values is converted into IN-subquery. It happens because values in the
right operand of the IN-predicate that have BIGINT or YEAR types are converted
into the Item_int_with_ref.
To fix it in the procedure Item_func_in::create_value_list_for_tvc
real_item() is taken for each value in the right operand of the IN-predicate.

bb-mdev-15167 2018-02-13 14:04:33 UTC 2018-02-13
MDEV-15167 Server crashes in in bitmap_bits_set upon REPAIR PARTITION ...

Author: sachin
Author Date: 2018-02-13 14:04:33 UTC

MDEV-15167 Server crashes in in bitmap_bits_set upon REPAIR PARTITION ...

 If we are doing alter related to partitioning then simple alter stmt
 like adding column(or any alter stmt) can't be combined with partition
 alter, this will generate a syntax error.

 But IF we add
 SET debug_dbug="+d,test_pseudo_invisible";
 or test_completely_invisible
 this will add a column to table with have an already partitioning related
 alter. This execution of wrong stmt will crash the server on later stages.
 (like on repair partition).
 So we will simply return 1 if we any of these debug_dbug flags turned on.

bb.10.1-MDEV-14616 2018-02-13 12:35:37 UTC 2018-02-13
Refs MW-245 wsrep_dirty_reads and wsrep_reject_queries options

Author: Jan Lindström
Author Date: 2018-02-13 12:35:37 UTC

Refs MW-245 wsrep_dirty_reads and wsrep_reject_queries options

Merge missing changes for wsrep_reject_queries with test case.

bb-5.5-MDEV-15113 2018-02-12 17:20:24 UTC 2018-02-12
2018-02-12 sanja more

Author: Oleksandr Byelkin
Author Date: 2018-02-12 17:20:24 UTC

2018-02-12 sanja more

bb-10.1-galera 2018-02-12 13:57:18 UTC 2018-02-12
Bump wsrep patch version to 25.23

Author: Teemu Ollakka
Author Date: 2018-01-30 13:37:22 UTC

Bump wsrep patch version to 25.23

bb-10.3-hf 2018-02-11 21:26:34 UTC 2018-02-11
MDEV-15215 main.partition_explicit_prune fails in bulidbot with assertion fai...

Author: Alexey Botchkov
Author Date: 2018-02-11 21:26:34 UTC

MDEV-15215 main.partition_explicit_prune fails in bulidbot with assertion failures and server crashes.

        ha_partition::get_open_file_sample() implemented to be used
        when we need a file sample that is surely opened.

bb-10.3-elenst 2018-02-10 22:47:49 UTC 2018-02-10
Adjust results of storage engine tests (new system table)

Author: Elena Stepanova
Author Date: 2018-02-10 22:47:49 UTC

Adjust results of storage engine tests (new system table)

10.2-wlad 2018-02-10 16:53:55 UTC 2018-02-10
Appveyor fixes

Author: Vladislav Vaintroub
Author Date: 2018-02-08 16:55:36 UTC

Appveyor fixes

bb-10.2-ext2 2018-02-10 12:42:59 UTC 2018-02-10
Added Max_index_length and Temporary to SHOW TABLE STATUS

Author: Monty
Author Date: 2018-02-10 12:42:59 UTC

Added Max_index_length and Temporary to SHOW TABLE STATUS

- Max_index_length is supported by MyISAM and Aria tables.
- Temporary is a placeholder to signal that a table is a
  temporary table. For the moment this is always "N", except
  "Y" for generated information_schema tables and NULL for
  views. Full temporary table support will be done in another task.
  (No reason to have to update a lot of result files twice in a row)

bb-10.1-hf 2018-02-09 12:06:09 UTC 2018-02-09
MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work properly when used wi...

Author: Alexey Botchkov
Author Date: 2018-02-09 12:06:09 UTC

MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work properly when used with DATA DIRECTORY.

       When table is renamed, the InnoDB's dictionary cache didn't
       change the ib_table->data_dir_path accordingly.
       Now it's set to NULL.

bb-10.2-mariarocks-merge 2018-02-08 13:55:19 UTC 2018-02-08
Post merge fix

Author: varun
Author Date: 2018-02-08 13:55:19 UTC

Post merge fix

rocksdb_set_update_cf_options functions was freeing a pointer which it should not.

bb-10.2-mariarocks 2018-02-08 11:57:46 UTC 2018-02-08
Merge pull request #595 from MariaDB/add_myrocks_gotbackup

Author: Otto Kekäläinen
Author Date: 2018-02-08 11:57:46 UTC

Merge pull request #595 from MariaDB/add_myrocks_gotbackup

Add myrocks hotbackup

bb-10.1-MDEV-15032 2018-02-08 05:26:48 UTC 2018-02-08
Fix wrong #ifdef, crc32_vpsum is supported only !WORDS_BIGENDIAN in 10.1

Author: Jan Lindström
Author Date: 2018-02-08 05:26:48 UTC

Fix wrong #ifdef, crc32_vpsum is supported only !WORDS_BIGENDIAN in 10.1

add_myrocks_gotbackup 2018-02-07 13:08:19 UTC 2018-02-07
debian/control Include myrocks_hotbackup into mariadb-plugin-rocksdb

Author: Vicențiu Ciorbaru
Author Date: 2018-02-07 11:36:13 UTC

debian/control Include myrocks_hotbackup into mariadb-plugin-rocksdb

bb-10.2-vicentiu 2018-02-07 08:51:55 UTC 2018-02-07
Update Connector/C

Author: Vicențiu Ciorbaru
Author Date: 2018-02-07 08:51:55 UTC

Update Connector/C

10.0-galera 2018-02-06 16:29:36 UTC 2018-02-06
bump the VERSION

Author: Daniel Bartholomew
Author Date: 2018-02-06 16:29:36 UTC

bump the VERSION

bb-10.3-mdev12387 2018-02-06 12:02:57 UTC 2018-02-06
MDEV-12387 Push conditions into materialized subqueries

Author: Galina Shalygina
Author Date: 2018-02-06 12:02:57 UTC

MDEV-12387 Push conditions into materialized subqueries

The logic and the implementation scheme are similar with the
MDEV-9197 Pushdown conditions into non-mergeable views/derived tables

How the push down is made on the example:

select * from t1
where a>3 and b>10 and
      (a,b) in (select x,max(y) from t2 group by x);

-->

select * from t1
where a>3 and b>10 and
      (a,b) in (select x,max(y)
                from t2
                where x>3
                group by x
                having max(y)>10);

The implementation scheme:

1. It searches for the condition cond that depends only on the fields
   from the left part of the in subquery (left_part)
2. Finds fields F_group in the select of the right part of the
   in subquery (right_part) that are used in the group by
3. Extracts from the cond condition cond_where that depends only on the
   fields from the left_part that stay at the same places in the left_part
   (have the same indexes) as the F_group fields in the projection of the
   right_part
4. Transforms cond_where so it can be pushed into the where clause of the
   right_part and delete cond_where from the cond
5. Transforms cond so it can be pushed into the having clause of the right_part

The optimization is made in the
Item_in_subselect::pushdown_cond_for_in_subquery() and is controlled by the
variable condition_pushdown_for_subquery.

New test file in_subq_cond_pushdown.test is made for it.

There are also some changes made for the setup_jtbm_semi_joins().
Now it is devided into the 2 parts:

- setup_degenerated_semi_joins_before_optimize_cond() - for the case when the
  subquery has the degenerated jtbm semijoin. It calls
  setup_degenerated_jtbm_semi_join(). It is called before
  optimize_cond() in the JOIN::optimize_inner().

- setup_jtbm_semi_joins() - it is called after optimize_cond() and recalls
  setup_degenerated_jtbm_semi_join() if it didn't work before. It also handles
  the case that setup_degenerated_semi_joins_before_optimize_cond() doesn't cover

This is made because the optimization don't need to handle the equalities
between the left and the right parts of the in subquery so they should be
attached to the where clause after the optimization is made.

Btw as setup_jtbm_semi_joins() is called after optimize_cond() is made
there can appear some equalities that can be the part of the multiply equalities
that already exist in the where clause, so this new equalities should be joined
(if possible) and fixed. join_equalities_after_optimize_cond() is made for this.

bb-10.2-MDEV-15042 2018-02-05 16:21:28 UTC 2018-02-05
MDEV-15042: INSERT ON DUPLICATE KEY UPDATE produces error 1032 (Can't find re...

Author: Jan Lindström
Author Date: 2018-02-05 16:21:28 UTC

MDEV-15042: INSERT ON DUPLICATE KEY UPDATE produces error 1032 (Can't find record)

Problem was that wrong error message was returned when insert
returned FK-error and there was no duplicate key to process.

row_ins
 If error from insert was DB_NO_REFERENCED_ROW and there was
 no duplicate key we should ignore ON DUPLICATE KEY UPDATE
 and return original error message.

bb-10.2-monty 2018-02-05 15:12:15 UTC 2018-02-05
Fixed performance problem with Aria in find_head()

Author: Monty
Author Date: 2018-02-05 15:12:15 UTC

Fixed performance problem with Aria in find_head()

For some simple benchmarks, a majority of time was
spend in find_head() which tries to find the best
place to put the record.

The result of this patch is a 2x or more speedup for
inserts without keys for format PAGE. All changes
are only related to how rows are stored

The following changes where done:
- For rows with a small row length that fits into
  a page (818 bytes with 8192 pages), stop as soon as we
  hit a match.
- Added markers full_head_size and full_tail_size that tells
  us where to start searching on the bitmap page
- Ensure that page->used_size is correctly updated when
  bitmap grows. This allows us to stop searching at used_size
- Added code to check that the bitmap variables are correct.
- Fixed a wrong test where we set "first_bitmap_with_space".
  This shouldn't have caused any notable problems.

bb-10.1-merge 2018-02-02 13:54:10 UTC 2018-02-02
Temporarily fix crash in dbug_print_item introduced through

Author: Vicențiu Ciorbaru
Author Date: 2018-02-02 13:54:10 UTC

Temporarily fix crash in dbug_print_item introduced through

ba8d0fa700a73893979793785ed53f7bbd950df8

bb-mdev-14849 2018-02-01 13:28:55 UTC 2018-02-01
This commit solves a couple of issues

Author: Sachin Setiya
Author Date: 2018-02-01 13:28:55 UTC

This commit solves a couple of issues

1st. Create_field does not have function vers_sys_field() kind of handy
function, second I think Create_field and Field should not divert much , and
Field does have this function.

2nd. Versioning column does not have NOT_NULL_FLAG, since they can never be
null. So I have added NOT_NULL_FLAG.

3rd. Since I added NOT_NULL_FLAG this created one issue , versioning column
of datatype bigint unsigned were getting NO_DEFAULT_VALUE_FLAG. This makes
test like versioning.insert to fail, Reason being If a column gets this
flag if we insert 'default' value it will generate error(that is why ) test
was failing. So now versioning column wont get NO_DEFAULT_VALUE_FLAG flag.

bb-10.0-galera 2018-02-01 10:19:18 UTC 2018-02-01
Merge tag 'mariadb-10.0.34' into bb-10.0-galera

Author: Jan Lindström
Author Date: 2018-02-01 10:19:18 UTC

Merge tag 'mariadb-10.0.34' into bb-10.0-galera

Conflicts:
 storage/innobase/lock/lock0lock.cc
 storage/xtradb/lock/lock0lock.cc
 storage/xtradb/lock/lock0wait.cc
 support-files/mysql.server.sh

bb-mdev-15085 2018-01-31 05:15:33 UTC 2018-01-31
Mdev-15085 Invisible Column Non-constant Default value results...

Author: Sachin Setiya
Author Date: 2018-01-30 08:34:05 UTC

Mdev-15085 Invisible Column Non-constant Default value results...

Problem:- If we create table field with dynamic default value then that
 field always gets NULL value.

Analyze:- This is because in fill_record we simple continue at Invisible
 column because we though that share->default_values(default value is
 always copied into table->record[0] before insert) will have a default
 value for them(which is true for constant defaults , but not for dynamic
 defaults).

Solution:- We simple set all_fields_have_value to null , and this will
make call to update_default_fields (in the case of dynamic default), And
default expr will be evaluted and value will be set in field.

bb-10.3-arm1 2018-01-30 22:00:34 UTC 2018-01-30
MDEV-15104 - Optimise MVCC snapshot

Author: Sergey Vojtovich
Author Date: 2018-01-30 16:59:42 UTC

MDEV-15104 - Optimise MVCC snapshot

With trx_sys_t::rw_trx_ids removal, MVCC snapshot overhead became
slightly higher. That is instead of copying an array we now have to
iterate LF_HASH. All this done under trx_sys.mutex protection.

This patch moves MVCC snapshot out of trx_sys.mutex.

Clean-ups:

Removed MVCC: doesn't make too much sense to keep it in a separate class
anymore.

Refactored ReadView so that it now calls register()/deregister() routines
(it was vice versa before).

ReadView doesn't have friends anymore. :(

Even less trx_sys.mutex references.

bb-10.0-hf 2018-01-29 19:58:35 UTC 2018-01-29
MDEV-14696 Server crashes in in prep_alter_part_table on 2nd execution

Author: Alexey Botchkov
Author Date: 2018-01-29 19:58:35 UTC

MDEV-14696 Server crashes in in prep_alter_part_table on 2nd execution
of PS.

        The thd->lex->part_info should be kept intact during prepared
        statement execution. We can modify thd->work_part_info instead.

bb-10.2-compatibility-andrei 2018-01-26 21:26:39 UTC 2018-01-26
MDEV-14721 Big transaction events get lost on semisync master when

Author: Andrei Elkin
Author Date: 2018-01-26 21:26:39 UTC

MDEV-14721 Big transaction events get lost on semisync master when
           replicate_events_marked_for_skip=FILTER_ON_MASTER

When events of a big transaction are binlogged offsetting over 2GB from
the beginning of the log the semisync master's dump thread
lost such events.
The events were skipped by the Dump thread that found their skipping
status erroneously.

The current fixes make sure the skipping status is computed correctly.
The test verifies them simulating the 2GB offset.

bb-10.1-MDEV-13103 2018-01-25 15:09:56 UTC 2018-01-25
MDEV-13103: InnoDB crash recovery fails to decompress a page in buf_dblwr_pro...

Author: Jan Lindström
Author Date: 2018-01-25 15:09:56 UTC

MDEV-13103: InnoDB crash recovery fails to decompress a page in buf_dblwr_process()

There were several problems. Firstly, page decompression code did not handle
possible decompression errors correctly. Secondly, not all compression methods
tolerate corrupted input (e.g. lz4 did not tolerate input that was compressed
using snappy method). Finally, if page is actually also encrypted we can't
decompress page. Solutions: Add proper error handling to decompression code
and add post compression checksum to page. As whole page including page checksum
is compressed we can reuse the original checksum field for post compression
checksum. With post compression checksum we can detect most of the corruptions.
If no corruption is detected hopefully decompression code can detect
remaining problems.

Doublewrite buffer page recovery for page compressed pages require
that post compression checksum matches. For pages from old releases
supporting page compression checksum must be BUF_NO_CHECKSUM_MAGIC.

Upgrade from older versions is supported as post compression
checksum check accepts the BUF_NO_CHECKSUM_MAGIC that they stored
in checksum filed.

Downgrade to older versions is not supported (assuming that there
were some changes to compressed tables) as page compression code
would not tolerate any other checksum except BUF_NO_CHECKSUM_MAGIC.

innochecksum.cc is_page_corrupted:
    If page is compressed verify post compression checksum

buf_page_decrypt_after_read
     Return DB_PAGE_CORRUPTED if page is found to be corrupted
     after post compression checksum check.

buf_page_io_complete
     If page is found corrupted after buf_page_decrypt_after_read
     there is no need to continue page check.

buf_page_decrypt_after_read
     Verify post compression checksum before decompression and
     if it does not match mark page corrupted. Note that old
     compressed pages do not really have post compression
     checksum so they are treated as not corrupted and then
     we need to hope that decompression code can handle the
     possible corruptions by returning error.

buf_calc_compressed_crc32
     New function to calculate post compression checksum
     so that necessary compression metadata fields are
     included.

buf_dblwr_decompress
     New function that handles post compression checksum check
     and page decompression if it is ok.

buf_dblwr_process
     Verify post compression checksum before trying to decompress
     page.

fil_space_verify_crypt_checksum
     Remove incorrect code as compressed and encrypted pages
     do have post encryption checksum.

fil_compress_page
     Calculate and store post compression checksum to FIL_SPACE_OR_CHKSUM
     field as original value is stored on compressed image.

fil_decompress_page
     Add error handling if decompression fails.

fil_verify_compression_checksum
     New function to verify post compression checksum.
     Compressed tablespaces before this change have BUF_NO_CHECKSUM_MAGIC
     in checksum field and they must be treated as not corrupted.

convert_error_code_to_mysql
      Handle also page corruptions DB_PAGE_CORRUPTED as HA_ERR_CRASHED.
      Note that there are cases when we do not know for certain
      is page corrupted, corrupted and compressed, or still encrypted
      after failed decrypt, thus tablespace could be marked just corrupted.

Tests modified
      innodb-page_compression_[zip, lz4, lzma, lzo, bzip2, snappy]
            to use innodb-page-compression.inc
      innodb-page-compression.inc add innochecksum and intentional tablespace
            corruption tests.
      innodb-force-corrupt, innodb_bug14147491 add new error
            messages to mtr suppression and new error codes.

New tests
      encryption/innodb-corrupted.test test intentionally corrupted
            tablespaces containing encryption and compression.
      doublewrite-compressed test doublewrite recovery for page
            compressed tables
      innodb-import-101 import files from both big_endian and little_endian
            machine

This is 10.1 version use null merge to 10.2 as it has its own version.

bb-10.2-MDEV-13103 2018-01-25 13:04:10 UTC 2018-01-25
MDEV-13103: InnoDB crash recovery fails to decompress a page in buf_dblwr_pro...

Author: Jan Lindström
Author Date: 2018-01-25 13:04:10 UTC

MDEV-13103: InnoDB crash recovery fails to decompress a page in buf_dblwr_process()

There were several problems. Firstly, page decompression code did not handle
possible decompression errors correctly. Secondly, not all compression methods
tolerate corrupted input (e.g. lz4 did not tolerate input that was compressed
using snappy method). Finally, if page is actually also encrypted we can't
decompress page. Solutions: Add proper error handling to decompression code
and add post compression checksum to page. As whole page including page checksum
is compressed we can reuse the original checksum field for post compression
checksum. With post compression checksum we can detect most of the corruptions.
If no corruption is detected hopefully decompression code can detect
remaining problems.

Doublewrite buffer page recovery for page compressed pages require
that post compression checksum matches. For pages from old releases
supporting page compression checksum must be BUF_NO_CHECKSUM_MAGIC.

Upgrade from older versions is supported as post compression
checksum check accepts the BUF_NO_CHECKSUM_MAGIC that they stored
in checksum filed.

Downgrade to older versions is not supported (assuming that there
were some changes to compressed tables) as page compression code
would not tolerate any other checksum except BUF_NO_CHECKSUM_MAGIC.

innochecksum.cc is_page_corrupted:
    If page is compressed verify post compression checksum

buf_page_decrypt_after_read
     Return DB_PAGE_CORRUPTED if page is found to be corrupted
     after post compression checksum check.

buf_page_io_complete
     If page is found corrupted after buf_page_decrypt_after_read
     there is no need to continue page check.

buf_page_decrypt_after_read
     Verify post compression checksum before decompression and
     if it does not match mark page corrupted. Note that old
     compressed pages do not really have post compression
     checksum so they are treated as not corrupted and then
     we need to hope that decompression code can handle the
     possible corruptions by returning error.

buf_calc_compressed_crc32
     New function to calculate post compression checksum
     so that necessary compression metadata fields are
     included.

buf_dblwr_decompress
     New function that handles post compression checksum check
     and page decompression if it is ok.

buf_dblwr_process
     Verify post compression checksum before trying to decompress
     page.

fil_space_verify_crypt_checksum
     Remove incorrect code as compressed and encrypted pages
     do have post encryption checksum.

fil_compress_page
     Calculate and store post compression checksum to FIL_SPACE_OR_CHKSUM
     field as original value is stored on compressed image.

fil_decompress_page
     Add error handling if decompression fails.

fil_verify_compression_checksum
     New function to verify post compression checksum.
     Compressed tablespaces before this change have BUF_NO_CHECKSUM_MAGIC
     in checksum field and they must be treated as not corrupted.

convert_error_code_to_mysql
      Handle also page corruptions DB_PAGE_CORRUPTED as HA_ERR_CRASHED.
      Note that there are cases when we do not know for certain
      is page corrupted, corrupted and compressed, or still encrypted
      after failed decrypt, thus tablespace could be marked just corrupted.

Tests modified
      innodb-page_compression_[zip, lz4, lzma, lzo, bzip2, snappy]
            to use innodb-page-compression.inc
      innodb-page-compression.inc add innochecksum and intentional tablespace
            corruption tests.
      innodb-force-corrupt, innodb_bug14147491 add new error
            messages to mtr suppression and new error codes.

New tests
      encryption/innodb-corrupted.test test intentionally corrupted
            tablespaces containing encryption and compression.
      doublewrite-compressed test doublewrite recovery for page
            compressed tables
      innodb-import-102 import files from both big_endian and little_endian
            machine

bb-10.1-MDEV-13284 2018-01-25 12:20:18 UTC 2018-01-25
MDEV-13284: mariadb-server: fil_load_single_table_tablespace(): mysqld killed...

Author: Jan Lindström
Author Date: 2018-01-25 12:20:18 UTC

MDEV-13284: mariadb-server: fil_load_single_table_tablespace(): mysqld killed by SIGABRT

MDEV-13499: Backing up table that "doesn't exist in engine" cause crash in mariabackup when using encryption

In both cases if .ibd file was missing we called abort() in
fil_load_single_table_tablespace().

fil_load_single_table_tablespace
 Mofify function to return true when loading is successful
 and false at failure. Rmove abort() call.

fil_load_single_tablespaces
 If loading of single table tablespace failed set error.

bb-10.0-vicentiu 2018-01-24 18:23:42 UTC 2018-01-24
Merge branch 'merge-perfschema-5.6' into 10.0

Author: Vicențiu Ciorbaru
Author Date: 2018-01-24 18:23:30 UTC

Merge branch 'merge-perfschema-5.6' into 10.0

bb-10.3-MDEV-15016 2018-01-24 14:58:05 UTC 2018-01-24
MDEV-15016: multiple page cleaner threads use a lot of CPU on idle server

Author: Jan Lindström
Author Date: 2018-01-24 14:58:05 UTC

MDEV-15016: multiple page cleaner threads use a lot of CPU on idle server

Problem was that when number of page cleaner threads was increased
we sent a event is_requested indicating there is "work" to be done
when there was no work to be done and workers were left on busy loop.
When number of page cleaner threads is decreased we need to sent
is_requested event to indicate that there is "work" to be done.

buf_flush_set_page_cleaner_thread_cnt
        When number of page cleaner threads decrease we send
        is_requested event i.e. this is similar as in shutdown
        there is "work" to be done. We wait these threads
        to exit on is_started event. Page cleaner threads that
        id is less than n_workers will send is_started event
        before decreasing number of running threads and exit.

Manually tested on both (1) idle system and (2) on system with sysbench
workload by increasing and decreasing number of page cleaner threads
and monitoring mysqld CPU usage

5.5-galera 2018-01-24 08:34:25 UTC 2018-01-24
Merge pull request #570 from grooverdan/5.5-MDEV-1044-backport-wsrep-no-new-p...

Author: Jan Lindström
Author Date: 2018-01-24 08:34:25 UTC

Merge pull request #570 from grooverdan/5.5-MDEV-1044-backport-wsrep-no-new-processgroup

MDEV-15046 - "Address already in use" on restart

bb-5.5-galera-14311 2018-01-24 07:37:35 UTC 2018-01-24
MDEV-14311 wsrep.variables fails in buildbot with wrong result

Author: Seppo Jaakola
Author Date: 2018-01-24 07:37:35 UTC

MDEV-14311 wsrep.variables fails in buildbot with wrong result

 Removal of older code around wsrep_prev_slave_threads in
 wsrep_slave_count_change_update.

 Patch Credit:- Seppo

bb-10.1-14311 2018-01-24 07:10:27 UTC 2018-01-24
MDEV-14311 wsrep.variables fails in buildbot with wrong result

Author: Seppo Jaakola
Author Date: 2018-01-24 07:08:53 UTC

MDEV-14311 wsrep.variables fails in buildbot with wrong result

 Removal of older code around wsrep_prev_slave_threads in
 wsrep_slave_count_change_update.

 Patch Credit:- Seppo

10.0-merge 2018-01-23 18:49:31 UTC 2018-01-23
WIP Merge 5.5 into bb-10.0-vicentiu

Author: Marko Mäkelä
Author Date: 2018-01-23 18:49:31 UTC

WIP Merge 5.5 into bb-10.0-vicentiu

Unresolved conflicts:
 both modified: sql/item_cmpfunc.cc
 both modified: sql/item_cmpfunc.h
 both modified: sql/sql_partition.cc
 both modified: storage/tokudb/CMakeLists.txt

bb-5.5-14586 2018-01-23 10:17:54 UTC 2018-01-23
MDEV-14586 Assertion `0' failed in retrieve_auto_increment ...

Author: Sachin Setiya
Author Date: 2018-01-23 10:17:54 UTC

MDEV-14586 Assertion `0' failed in retrieve_auto_increment ...

Problem:-
 If we create table using myisam/aria then this crashes the server.
  CREATE TABLE t1(a bit(1), b int auto_increment , index(a,b));
  insert into t1 values(1,1);
 Or this query
  CREATE TABLE t1 (b BIT(1), pk INTEGER AUTO_INCREMENT PRIMARY KEY);
  ALTER TABLE t1 ADD INDEX(b,pk);
  INSERT INTO t1 VALUES (1,b'1');
  ALTER TABLE t1 DROP PRIMARY KEY;

Reason:-
 The reason for this is
 1st- find_ref_key() finds what key an auto_increment field belongs to by
  comparing key_part->offset and field->ptr. But BIT fields might have
  zero length in the record, so a key might have many key parts with the
  same offset. That is, comparing offsets cannot uniquely identify the
  correct key part.
 2nd- Since next_number_key_offset is zero it myisam/aria will think that
  auto_increment is in first part of key.
 3nd- myisam/aria will call retrieve_auto_key which will see first key_part
  field as a bit field and call assert(0)

Solution:-
  Many key parts might have the same offset, but BIT fields do not
  support auto_increment. So, we can skip all key parts over BIT fields,
  and then comparing offsets will be unambiguous.

bb-10.0-vicentiu-test-no-tokudb 2018-01-22 22:12:36 UTC 2018-01-22
Skip tokudb on purpose. See if tests fail

Author: Vicențiu Ciorbaru
Author Date: 2018-01-22 22:12:36 UTC

Skip tokudb on purpose. See if tests fail

bb-5.5-vicentiu 2018-01-21 19:59:13 UTC 2018-01-21
MDEV-14715: Assertion `!table || (!table->read_set... failed in Field_num::va...

Author: Vicențiu Ciorbaru
Author Date: 2018-01-21 19:18:57 UTC

MDEV-14715: Assertion `!table || (!table->read_set... failed in Field_num::val_decimal

The assertion failure was caused by an incorrectly set read_set for
functions in the ORDER BY clause in part of a union, when we are using
a mergeable view and the order by clause can be skipped (removed).

An order by clause can be skipped if it's part of one part of the UNION as
the result set is not meaningful when multiple SELECT queries are UNIONed. The
server is aware of this optimization and tries to remove the order by
clause before JOIN::prepare. The problem is that we need to throw an
error when the ORDER BY clause contains invalid columns. To do this, we
attempt resolving the ORDER BY expressions, then subsequently drop them
if resolution succeeded. However, ORDER BY resolution had the side
effect of adding the expressions to the all_fields list, which is used
to construct temporary tables to store the result. We may be ignoring
the ORDER BY statement, but the tmp table still tried to compute the
values for the expressions, even if the columns are never used.

The assertion only shows itself if the order by clause contains members
which were not previously in the select list, and are part of a
function.

There is an additional question as to why this only manifests when using
VIEWS and not when using a regular table. The difference lies with the
"reset" of the read_set for the temporary table during
SELECT_LEX::update_used_tables() in JOIN::optimize(). The changes
introduced in fdf789a7eadf864ecc0e617f25f795fafda55026 cleared the
read_set when a mergeable view is encountered in the TABLE_LIST
defintion.

Upon initial order_list resolution, the table's read_set is updated
correctly. JOIN::optimize() will only reset the read_set if it
encounters a VIEW. Since we no longer have ORDER BY clause in
JOIN::optimize() we never get to correctly update the read_set again.

Other relevant commit by Timour, which first introduced the order
resolution when we "can_skip_sort_order":
883af99e7dac91e3f258135a2053e6b8e3c05fc3

Solution:
Don't add the resolved ORDER BY elements to all_fields. We only resolve
them to check if an error should be returned for the query. Ignore them
completely otherwise.

bb-10.0-pentve 2018-01-20 13:47:01 UTC 2018-01-20
MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_on...

Author: Vesa Pentti
Author Date: 2018-01-20 13:46:47 UTC

MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_only and InnoDB

 * Did affect only transactional engines like InnoDB
 * Note: During table creation handler's 'table_share' is NULL
 * Now the transaction isn't marked rw for a temporary table when it's created

bb-5.5-varun 2018-01-18 21:54:15 UTC 2018-01-18
MDEV-14241: Server crash in key_copy / get_matching_chain_by_join_key or valg...

Author: varun
Author Date: 2018-01-18 21:54:15 UTC

MDEV-14241: Server crash in key_copy / get_matching_chain_by_join_key or valgrind warnings

In this case we were using the optimization derived_with_keys but we could not create a key because
the length of the key was greater than the max allowed(MI_MAX_KEY_LENGTH). To do the join we needed
to create a hash join key instead, but in the explain output it showed that we were still referring
to derived keys which were created but not used.

bb-5.5-svoj 2018-01-15 12:19:53 UTC 2018-01-15
debian: insecure root password is only if plugin is empty

Author: Daniel Black
Author Date: 2017-12-29 00:25:42 UTC

debian: insecure root password is only if plugin is empty

bb-10.3-mariarocks 2018-01-13 22:22:54 UTC 2018-01-13
Merge remote-tracking branch 'origin/10.2' into bb-10.3-mariarocks

Author: Sergey Petrunia
Author Date: 2018-01-13 22:22:54 UTC

Merge remote-tracking branch 'origin/10.2' into bb-10.3-mariarocks

bb-10.3-temporal-serg 2018-01-13 01:01:36 UTC 2018-01-13
cleanup: remove include/rpl_events.inc

Author: Sergei Golubchik
Author Date: 2018-01-12 21:21:38 UTC

cleanup: remove include/rpl_events.inc

introduces 10 years ago, still included only once.
no need to complicate debugging by unnecessary includes.

bb-10.3-temporal 2018-01-12 20:20:24 UTC 2018-01-12
SQL: uninitialized read [#387]

Author: Eugene
Author Date: 2018-01-12 19:45:35 UTC

SQL: uninitialized read [#387]

rpl.rpl_events sometimes fails in release mode after be81b00c843b4a3335a630afa7200fda6eab8e89

This could be prevented with MSAN

bb-5.5-pentve 2018-01-12 10:15:50 UTC 2018-01-12
MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_on...

Author: Vesa Pentti
Author Date: 2018-01-11 15:18:29 UTC

MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_only and InnoDB

     * Did affect only transactional engines like InnoDB
     * Note: During table creation handler's 'table_share' is NULL
     * Now the transaction isn't marked rw for a temporary table when it's created

bb-10.3-vicentiu-travis2 2018-01-12 01:57:02 UTC 2018-01-12
To avoid travis network timeouts, use travis's retry script

Author: Vicențiu Ciorbaru
Author Date: 2018-01-12 01:57:02 UTC

To avoid travis network timeouts, use travis's retry script

bb-10.3-vicentiu-dtoa 2018-01-09 07:05:48 UTC 2018-01-09
Workaround for dtoa.c

Author: Vicențiu Ciorbaru
Author Date: 2018-01-09 07:05:48 UTC

Workaround for dtoa.c

There is no obvious reason why multiplying by 1.0 helps solve a
precision problem on gcc-7 or clang-5, but it does work. Casting to
ulong however makes the problem come up again. Windows warns about loss
of precision, so to quiet warnings until an appropriate fix is
implemented, ifdef 2 versions of the code.

bb-10.3-vicentiu-no-dtoa 2018-01-08 23:22:17 UTC 2018-01-08
Fixed mdev-14880: Assertion `inj_cond_list.elements' failed

Author: Igor Babaev
Author Date: 2018-01-08 23:21:52 UTC

Fixed mdev-14880: Assertion `inj_cond_list.elements' failed
in JOIN::inject_best_splitting_cond

The value of SplM_opt_info::last_plan should be set to NULL
before any search for a splitting plan for a splittable
materialized table.

bb-10.2-pentve 2018-01-08 16:00:08 UTC 2018-01-08
MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_on...

Author: Vesa Pentti
Author Date: 2018-01-07 19:14:27 UTC

MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_only and InnoDB

 * Did affect only transactional engines like InnoDB
 * Note: During table creation handler's 'table_share' is NULL
 * Now the transaction isn't marked rw for a temporary table when it's created

bb-10.1-MDEV-14776 2018-01-08 10:53:35 UTC 2018-01-08
MDEV-14776: InnoDB Monitor output generated by specific error is flooding err...

Author: Jan Lindström
Author Date: 2018-01-08 10:53:35 UTC

MDEV-14776: InnoDB Monitor output generated by specific error is flooding error logs

innodb/buf_LRU_get_free_block
 Add debug instrumentation to produce error message about
 no free pages. Print error message only once and do not
 enable innodb monitor if it is not enabled.

xtradb/buf_LRU_get_free_block
 Add debug instrumentation to produce error message about
 no free pages. Print error message only once and do not
 enable innodb monitor if it is not enabled. Remove code
 that does not seem to be used.

innodb-lru-force-no-free-page.test
 New test case to force produce desired error message.

bb-10.1-pentve 2018-01-07 19:14:27 UTC 2018-01-07
MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_on...

Author: Vesa Pentti
Author Date: 2018-01-07 19:14:27 UTC

MDEV-14185 -- CREATE TEMPORARY TABLE AS SELECT causes error 1290 with read_only and InnoDB

 * Did affect only transactional engines like InnoDB
 * Note: During table creation handler's 'table_share' is NULL
 * Now the transaction isn't marked rw for a temporary table when it's created

bb-10.2-andrei-ext 2018-01-04 00:11:01 UTC 2018-01-04
The slave io thread does not conduct integrity check for row-based

Author: Andrei Elkin
Author Date: 2018-01-04 00:11:01 UTC

The slave io thread does not conduct integrity check for row-based
events. Specifically it tolerates missed STMT_END flag marked terminal
event that conclude a sequence of "elementary" "block" Rows-events.
Failure to react on a potentially missed event can confuse the applier thread
in various ways.

The slave io is made in this patch to track the STMT_END status.
Whenever at a first event following a sequence of Rows events the IO thread
finds out that a preceding Rows event did not actually had the flag, an
explicit error is issued.

Replication can be resumed as a provided test demonstrates.

Note that currently the row-based group integrity check is limited
to the version 1 rows event which are generated by Mariadb masters.

bb-10.2-varun 2017-12-31 14:18:39 UTC 2017-12-31
new commit

Author: varun
Author Date: 2017-12-31 14:18:39 UTC

new commit

bb-10.3-igor 2017-12-31 00:19:17 UTC 2017-12-31
Merge branch '10.3' into bb-10.3-igor

Author: Igor Babaev
Author Date: 2017-12-31 00:19:17 UTC

Merge branch '10.3' into bb-10.3-igor

bb-10.3-vicentiu-travis 2017-12-30 15:18:24 UTC 2017-12-30
Tentative fix for travis

Author: Vicențiu Ciorbaru
Author Date: 2017-12-30 15:18:24 UTC

Tentative fix for travis

This undoes a lock-unlock for LOCK_thread_count.

bb-10.3-hidden 2017-12-28 12:39:28 UTC 2017-12-28
MDEV-14785 SYSTEM_INVISIBLE behavior not Consistent

Author: Sachin Setiya
Author Date: 2017-12-28 12:39:28 UTC

MDEV-14785 SYSTEM_INVISIBLE behavior not Consistent

//TODO patch commit message

bb-10.1-10715 2017-12-24 23:39:49 UTC 2017-12-24
MDEV-10715 Galera: Replicate MariaDB GTID to other nodes in the cluster

Author: sachin
Author Date: 2017-12-24 23:39:49 UTC

MDEV-10715 Galera: Replicate MariaDB GTID to other nodes in the cluster

Problem:- Gtid are not transferred in Galera Cluster.

Solution:- We need to transfer gtid in the case on either when cluster is
slave/master in async replication. In normal Gtid replication gtid are generated on
recieving node itself and it is always on sync with other nodes. Because galera keeps
node in sync , So all nodes get same no of event groups. So the issue arises when
say galera is slave in async replication.
A
| (Async replication)
D <-> E <-> F {Galera replication}
So what should happen is that all node should apply the master gtid but this does
node happen, becuase node E, F does not recieve gtid from D in write set , So what E(or F)
does is that it applies wsrep_gtid_domain_id, D server-id , E gtid next seq no. This
generated gtid does not always work when say A has different domain id.

So In this commit, on galera node when we see that this event is recieved from master
we simply write Gtid_Log_Event in write_set and send it to other nodes.

10.0-bb-MDEV-14572 2017-12-22 13:00:10 UTC 2017-12-22
MDEV-14572: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status...

Author: Oleksandr Byelkin
Author Date: 2017-12-22 13:00:10 UTC

MDEV-14572: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status upon EXPLAIN UPDATE in PS

Restore EXPAIN flag in SELECT_LEX before execution multi-update by flag in LEX
(the same but in other way made before INSERT/DELETE/SELECT)

bb-10.1-varun 2017-12-21 13:44:24 UTC 2017-12-21
MDEV-10797: RPM includes init script and a systemd unit

Author: varun
Author Date: 2017-12-19 21:51:10 UTC

MDEV-10797: RPM includes init script and a systemd unit

For systemd distributions now we only refer to systemd units and not to init.d

bb-10.1-vicentiu 2017-12-20 11:30:05 UTC 2017-12-20
Merge branch '10.0' into 10.1

Author: Vicențiu Ciorbaru
Author Date: 2017-12-20 11:30:05 UTC

Merge branch '10.0' into 10.1

bb-10.1-MDEV-14701 2017-12-19 11:29:43 UTC 2017-12-19
MDEV-14701: install_db shows corruption for rest encryption with innodb_data_...

Author: Jan Lindström
Author Date: 2017-12-19 11:29:43 UTC

MDEV-14701: install_db shows corruption for rest encryption with innodb_data_file_path=ibdata1:3M

Problem was that crypt_data->min_key_version is not a realible way
to detect is tablespace encrypted and could lead that in first page
of the second (page 192 and similarly for other files if more configured)
system tablespace file used key_version is replaced with zero leading
a corruption as in next startup page is though to be corrupted.

fil_write_flushed_lsn
 Use crypt_data->should_encrypt() instead.

bb-10.3-mdev14579 2017-12-18 13:51:27 UTC 2017-12-18
Test result changed

Author: Galina Shalygina
Author Date: 2017-12-17 19:25:48 UTC

Test result changed

bb-10.3-semisync 2017-12-18 11:43:38 UTC 2017-12-18
MDEV-13073. This patch is a followup of the previous one to convert the trail...

Author: Andrei Elkin
Author Date: 2017-11-27 19:06:17 UTC

MDEV-13073. This patch is a followup of the previous one to convert the trailing underscore identifier to mariadb standard. For identifier representing class private members the underscore is replaced with a `m_` prefix. Otherwise `_` is just removed.

bb-10.2-ext-pentve 2017-12-16 21:18:41 UTC 2017-12-16
MDEV-14315 -- Reflect use of tcmalloc in a system variable and error log

Author: Vesa Pentti
Author Date: 2017-12-11 19:20:37 UTC

MDEV-14315 -- Reflect use of tcmalloc in a system variable and error log

  * The version of tcmalloc is written to the system variable
    'version_malloc_library' if tcmalloc is used, similarly to
    jemalloc
  * Extracted method guess_malloc_library()

1100 of 308 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.