summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* PROC_FDINFO plugin for workshopsvoj-szworkshopSergey Vojtovich2017-10-312-0/+92
|
* PROC_INFO plugin for workshopSergey Vojtovich2017-10-315-0/+95
|
* (Part#2) MDEV-13049 Querying INFORMATION_SCHEMA becomes slow in MariaDB 10.1Alexander Barkov2017-10-3164-212/+366
| | | | | | | This is a 10.3 specific part of MDEV-13049. It disables automatic sorting for "SELECT .. FROM INFORMATION_SCHEMA.{SCHEMATA|TABLES}" and adjusts the affected tests accordingly.
* Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3Alexander Barkov2017-10-30644-4049/+35217
|\ | | | | | | TODO: enable MDEV-13049 optimization for 10.3
| * Merge remote-tracking branch 'origin/10.2' into bb-10.2-extAlexander Barkov2017-10-30412-3072/+22733
| |\
| | * Add a missing space to an error messagemariadb-10.2.10Marko Mäkelä2017-10-301-5/+6
| | |
| | * Updated list of unstable tests for 10.2.10Elena Stepanova2017-10-301-167/+151
| | |
| | * Workaround for MDEV-13852 (tests don't run on Windows)Elena Stepanova2017-10-303-3/+3
| | |
| | * Fix rocksdb.rocksdb testSergei Petrunia2017-10-291-25/+27
| | | | | | | | | | | | Forgot to put the updated rocksdb.result in
| | * MDEV-13904: rocksdb.add_index_inplace_sstfilewriter timed outSergei Petrunia2017-10-292-11/+11
| | | | | | | | | | | | Downscale rocksdb.add_index_inplace_sstfilewriter to be 10x smaller
| | * Organize information in storage/rocksdb/mysql-test/rocksdb/t/disabled.defSergei Petrunia2017-10-291-44/+49
| | |
| | * MyRocks: enable a few tests that do not seem to fail anymoreSergei Petrunia2017-10-291-4/+5
| | |
| | * MDEV-14181: rocksdb.rocksdb fails: line 1117: query 'reap' succeeded - ↵Sergei Petrunia2017-10-292-1/+4
| | | | | | | | | | | | | | | | | | should have failed Fix a race condition in the testcase.
| | * Merge branch 'bb-10.2-mariarocks' of github.com:MariaDB/server into 10.2Sergei Petrunia2017-10-294-58/+174
| | |\
| | | * MDEV-11934: MariaRocks: Group Commit with binlogSergei Petrunia2017-10-273-53/+172
| | | | | | | | | | | | | | | | Adjust and enable rocksdb.2pc_group_commit test
| | | * Code cleanupSergei Petrunia2017-10-231-5/+2
| | | |
| | * | MDEV-14115 : Do not use lpNumberOfBytesRead/Written params inVladislav Vaintroub2017-10-271-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ReadFile/WriteFile operations. Innodb opens files with FILE_FLAG_OVERLAPPED. lpNumberOfBytesRead/Written are documented to be potentially inaccurate in this case, (possibly even if async operations complete synchronously?) The fix is to always pass NULL for the correspondng parameters, as recommended by MSDN. Read the actual counts with GetQueuedCompletionStatus() or GetOverlappedResult().
| | * | MDEV-14132 follow-up fix: Make os_file_get_size() thread-safeMarko Mäkelä2017-10-271-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | os_file_get_size(): Use fstat() instead of calling lseek() 3 times. In this way, concurrent calls to this function should not interfere with each other. Suggested by Vladislav Vaintroub.
| | * | Remove a bogus page_is_root() debug assertion on btr_create() failureMarko Mäkelä2017-10-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The predicate page_is_root() would not hold if btr_create() fails before the root page is fully initialized. Move the debug assertion from btr_free_root_invalidate() to its other caller, btr_free_if_exists(). In that caller, we actually already checked for page_is_root().
| | * | MDEV-14132 follow-up fix: Validate the posix_fallocate() argumentMarko Mäkelä2017-10-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | os_file_set_size(): Sometimes the file already is large enough. Avoid calling posix_fallocate() with a non-positive argument. Also, add a missing space to an error message.
| | * | MDEV-14132 : fix posix_fallocate() calls to workaround some (ancient) Linux ↵Vladislav Vaintroub2017-10-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bugs With this patch, parameters passed to posix_fallocate() will be the same as they were prior to refactoring in commit b731a5bcf2a0c86b6e31e4a99e3c632bb39a9c53 In particular, 'offset' parameter for posix_fallocate is again current_file_size and 'length' is new_file_size - current_file_size. This seems to fix crashes on ancient Linux (kernel 2.6).
| | * | Disable rocksdb.col_opt_zerofill due to MDEV-14165.Sergei Petrunia2017-10-271-0/+2
| | | |
| | * | MDEV-13890 mariabackup.xb_compressed_encrypted failed in buildbot, InnoDB: ↵Marko Mäkelä2017-10-271-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assertion failure The assertion failure was relaxed in commit 02ba15a9dae97f23cfe47fa788c09d65aa1cfcd2 but it was not enough, because another assertion would fail. trx_undo_free_prepared(): Allow any undo log state. For transactions that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY the undo log state would have been reset by trx_undo_set_state_at_finish().
| | * | Remove dead code for MLOG_UNDO_HDR_DISCARDMarko Mäkelä2017-10-274-103/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The redo log record MLOG_UNDO_HDR_DISCARD is never written, and the function trx_undo_discard_latest_update_undo() is never called outside crash recovery. Starting with MariaDB 10.2.2, crash recovery from an older InnoDB version is refused. Therefore, we can safely remove the code for parsing this long-unused redo log record type. The use of MLOG_UNDO_HDR_DISCARD was removed by Heikki Tuuri, the original designer and author of InnoDB, more than 13 years ago: commit 3caab0f3275fb1d9ba3ad5f595cf171414b13560 Author: unknown <heikki@hundin.mysql.fi> Date: Thu Mar 18 14:57:22 2004 +0200 trx0undo.h, trx0undo.c, trx0trx.c: Update an obsolete comment about trx commit: we can no longer call trx_undo_update_cleanup_by_discard(), and actually, the idea to call it was erroneous, it cannot work
| | * | Relax a too strict assertion at shutdownMarko Mäkelä2017-10-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trx_free_prepared(): The function trx_resurrect_insert() can resurrect a committed transaction when the TRX_UNDO_STATE field is not TRX_UNDO_ACTIVE or TRX_UNDO_PREPARED. (In the examined failure of mariabackup.xb_compressed_encrypted, assertion failure in --apply-log shutdown at line 25, the TRX_UNDO_STATE strangely contained the value 0xffff.) In any case, the assertion must allow the state TRX_STATE_COMMITTED_IN_MEMORY for resurrected transactions.
| | * | Merge two innodb_fts tests from MySQL 5.7Marko Mäkelä2017-10-275-0/+524
| | |\ \
| | | * | Adjust the innodb_fts.sync and innodb_fts.sync_block tests for MariaDBMarko Mäkelä2017-10-275-53/+80
| | | | |
| | | * | Import the innodb_fts.sync tests from MySQLMarko Mäkelä2017-10-274-0/+497
| | |/ /
| | * | Merge 10.1 into 10.2Marko Mäkelä2017-10-2722-53/+172
| | |\ \
| | | * \ Merge 10.0 into 10.1Marko Mäkelä2017-10-2673-435/+608
| | | |\ \
| | | | * | MDEV-12569 InnoDB suggests filing bugs at MySQL bug trackerMarko Mäkelä2017-10-2624-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all references in InnoDB and XtraDB error log messages to bugs.mysql.com with references to https://jira.mariadb.org/. The original merge commit 4274d0bf578aeac9780ffd9ab06aebba48a0fac9 was accidentally reverted by the subsequent merge commit 3b35d745c3245f63fcc9757bfa90392bf923fcc3
| | | | * | Squashed commit of the following:Vicențiu Ciorbaru2017-10-2639-357/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit c07064d31a4d7ee0533fec144648d93873c0dd17 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Oct 18 00:11:00 2017 +0200 - Update version number modified: storage/connect/ha_connect.cc - Include MONGO in all Java enabled distributions Mongo will be enabled only for 10.2 and 10.3 modified: storage/connect/CMakeLists.txt - Change JDBC_SUPPORT to JAVA_SUPPORT which also replaces MONGO_SUPPORT MONGO_SUPPORT is now just used to enable the MONGO table type modified: storage/connect/filter.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/mongo.cpp modified: storage/connect/mycat.cc modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h - Move MakeSelector function from FILTER to mongo.cpp modified: storage/connect/filter.cpp modified: storage/connect/filter.h modified: storage/connect/cmgoconn.cpp modified: storage/connect/jmgoconn.cpp modified: storage/connect/mongo.cpp - Do mongo_init only on first use of the MongoDB C Driver This will permit to delay load the mongo lib on Windows modified: storage/connect/cmgoconn.cpp modified: storage/connect/cmgoconn.h modified: storage/connect/ha_connect.cc - Replace NEW_VAR by a test on MYSQL_VERSION_ID modified: storage/connect/ha_connect.cc - Suppress enable_mongo session variable modified: storage/connect/ha_connect.cc modified: storage/connect/mycat.cc - Make some function headers identical in .h and .cc file (replacing const char* by PCSZ) modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h - Change a parameter type from uchar* to const uchar* (for ScanRecord and CheckRecord) modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h - Changes on LIKE and NOT LIKE does not fix a bug yet modified: storage/connect/ha_connect.cc - Suppress PIVOT_SUPPORT (PIVOT type is unconditionnal) modified: storage/connect/ha_connect.cc modified: storage/connect/mycat.cc - Change the strz function from inline to static modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h - export the JavaConn class and the MgoColumns and IsNum functions modified: storage/connect/javaconn.h modified: storage/connect/json.h modified: storage/connect/mongo.h - Fix MDEV-13924 modified: storage/connect/jdbconn.cpp - Make a temporary fix for the compiler bug in CalculateArray modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp - Typo modified: storage/connect/jdbccat.h modified: storage/connect/reldef.h modified: storage/connect/tabext.h modified: storage/connect/tabjmg.cpp modified: storage/connect/tabxml.h modified: storage/connect/valblk.h modified: storage/connect/value.h modified: storage/connect/xtable.h - Fix a bug in MONGO tests by changing 'MONGO' to $TYPE modified: storage/connect/mysql-test/connect/t/mongo_test.inc - Record test results to reflect all changes modified: storage/connect/mysql-test/connect/r/json_java_2.result modified: storage/connect/mysql-test/connect/r/json_java_3.result modified: storage/connect/mysql-test/connect/r/json_mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_java_2.result modified: storage/connect/mysql-test/connect/r/mongo_java_3.result commit 3da90fd112e7d5ee6f0bd9c3fc3eeb4529b30e93 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Oct 11 12:21:56 2017 +0200 Fix MDEV-13924 modified: storage/connect/jdbconn.cpp commit 2566e67da80f291414f02c7dd6a8ca3557161d26 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Sep 11 16:38:41 2017 +0200 Enable MONGO for the C driver. Modified: modified: storage/connect/CMakeLists.txt commit 27ae11db830c5d62bbf8b8b13cab976b74efe7dd Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Sep 5 19:52:04 2017 +0200 - Update version number modified: storage/connect/ha_connect.cc - Regard columns with binary charset as string (was binary) modified: storage/connect/ha_connect.cc modified: storage/connect/tabmysql.cpp modified: storage/connect/tabutil.cpp - Support length 0 for CHAR and VARCHAR modified: storage/connect/ha_connect.cc modified: storage/connect/reldef.cpp modified: storage/connect/value.cpp - Add ACCEPT option for void columns in discovery modified: storage/connect/tabjson.cpp - Update some tests because of above change modified: storage/connect/mysql-test/connect/r/json_java_2.result modified: storage/connect/mysql-test/connect/r/json_java_3.result modified: storage/connect/mysql-test/connect/r/json_mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_java_2.result modified: storage/connect/mysql-test/connect/r/mongo_java_3.result modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/mysql-test/connect/r/updelx.result modified: storage/connect/mysql-test/connect/t/mongo_test.inc commit f6ee6cd1d42d861fa50fea8d9a7079347b7ddfd6 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Sep 2 16:06:10 2017 +0200 - Fix MongoDB C Driver adding for CMAKE. Requires MongoDB C Driver version 1.7 now available modified: storage/connect/CMakeLists.txt - Add more trace to tbl_thread.test (to debug failure) modified: storage/connect/mysql-test/connect/r/tbl_thread.result modified: storage/connect/mysql-test/connect/t/tbl_thread.test commit dbef1242c41fcfde56471cb41cbf98c83224a8a3 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Aug 31 12:19:07 2017 +0200 - Import common version of CONNECT used with all MariaDB versions modified: storage/connect/CMakeLists.txt modified: storage/connect/JavaWrappers.jar modified: storage/connect/array.cpp modified: storage/connect/connect.cc modified: storage/connect/filamvct.cpp modified: storage/connect/filamzip.cpp modified: storage/connect/filter.cpp modified: storage/connect/filter.h modified: storage/connect/global.h modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/jdbccat.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mycat.cc modified: storage/connect/mycat.h modified: storage/connect/myconn.cpp modified: storage/connect/mysql-test/connect/disabled.def modified: storage/connect/mysql-test/connect/r/alter_xml.result modified: storage/connect/mysql-test/connect/r/drop-open-error.result modified: storage/connect/mysql-test/connect/r/infoschema-9739.result modified: storage/connect/mysql-test/connect/r/jdbc_new.result modified: storage/connect/mysql-test/connect/r/json.result modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/r/json_udf_bin.result modified: storage/connect/mysql-test/connect/r/mysql_exec.result modified: storage/connect/mysql-test/connect/r/mysql_new.result modified: storage/connect/mysql-test/connect/r/tbl.result modified: storage/connect/mysql-test/connect/r/unsigned.result modified: storage/connect/mysql-test/connect/r/upd.result modified: storage/connect/mysql-test/connect/r/updelx.result modified: storage/connect/mysql-test/connect/r/xml.result modified: storage/connect/mysql-test/connect/r/xml_grant.result modified: storage/connect/mysql-test/connect/r/xml_html.result modified: storage/connect/mysql-test/connect/r/xml_mdev5261.result modified: storage/connect/mysql-test/connect/r/xml_mult.result modified: storage/connect/mysql-test/connect/r/xml_zip.result modified: storage/connect/mysql-test/connect/r/zip.result modified: storage/connect/mysql-test/connect/t/alter_xml.test modified: storage/connect/mysql-test/connect/t/drop-open-error.test modified: storage/connect/mysql-test/connect/t/infoschema-9739.test modified: storage/connect/mysql-test/connect/t/jdbc_new.test modified: storage/connect/mysql-test/connect/t/json.test modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/mysql-test/connect/t/json_udf2.inc modified: storage/connect/mysql-test/connect/t/json_udf_bin.test modified: storage/connect/mysql-test/connect/t/mysql_exec.test modified: storage/connect/mysql-test/connect/t/mysql_new.test modified: storage/connect/mysql-test/connect/t/tbl.test modified: storage/connect/mysql-test/connect/t/unsigned.test modified: storage/connect/mysql-test/connect/t/upd.test modified: storage/connect/mysql-test/connect/t/xml.test modified: storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/mysql-test/connect/t/xml_html.test modified: storage/connect/mysql-test/connect/t/xml_mdev5261.test modified: storage/connect/mysql-test/connect/t/xml_mult.test modified: storage/connect/mysql-test/connect/t/xml_zip.test modified: storage/connect/mysql-test/connect/t/zip.test modified: storage/connect/myutil.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/odbconn.h modified: storage/connect/os.h modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/plugutil.cpp modified: storage/connect/reldef.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabext.cpp modified: storage/connect/tabext.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/table.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabtbl.cpp modified: storage/connect/tabtbl.h modified: storage/connect/tabxml.cpp modified: storage/connect/user_connect.cc modified: storage/connect/valblk.cpp modified: storage/connect/valblk.h modified: storage/connect/value.cpp commit 7f557db749a424a8df10e17fb8f322ff70eac1a2 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Aug 27 01:11:10 2017 +0200 Fix MDEV-13621 modified: storage/connect/ha_connect.cc commit ed77b56787870fccfab4dffb17424592cfb2c5fa Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Aug 20 15:06:34 2017 +0200 - Fix MDEV-12422 by implementing a fake virtual "check" function. modified: storage/connect/ha_connect.h commit dab7553a07e1d3cc447dbd79cd7a6cc6062c9cb1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Aug 13 16:21:30 2017 +0200 Fix MDEV-13503 Modified: storage/connect/jdbconn.cpp commit f02ce8ada52cc0a9e52478578517c032bcd442c7 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Aug 9 18:43:28 2017 +0200 - Fix MDEV-13463 unescape table name during detection of table structure modified: storage/connect/myconn.cpp - Fix test failures modified: storage/connect/mysql-test/connect/r/mysql.result modified: storage/connect/mysql-test/connect/r/mysql_new.result modified: storage/connect/tabjson.cpp commit f4d9214ad508722ed1f2dd885a22fd28f12debfd Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Aug 8 15:59:20 2017 +0200 - Fix bug returning pointer to a stack string in JVALUE::GetString modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp - Fix a compiler bug happening on some configuration and platforms in JSNX::CalculateArray modified: storage/connect/jsonudf.cpp - Set default Schema as current directory This fix several bugs like: Fail to make JSON catalog tables Fail to use zipped file made by a file LOAD modified: storage/connect/reldef.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h - Change the way column Jpath is retrieved modified: storage/connect/colblk.h modified: storage/connect/filter.cpp modified: storage/connect/filter.h - Fix failing ODBC test by enabling nullable for catalog tables + pval[n]->SetNullable(true); modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/odbconn.cpp commit fe22a0669e63fbda098f6dcc97dd0f2f44587797 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jul 22 18:40:20 2017 +0200 -- Fix GetUser that can cause memory leak when xp is modified. The old xp must be poped or is never freed. Add usrmut mutex to protect all multi-user storage handling. Use compatible parmut mutex instead of parsec on Windows. modified: storage/connect/ha_connect.cc modified: storage/connect/plgdbutl.cpp modified: storage/connect/user_connect.cc commit a7f1acddafd301435872e71503f31dd3fc027a80 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jul 19 17:51:35 2017 +0200 Parenthesize set null in SetValue_pval. Modified /storage/connect/value.cpp commit 4715a589560f824db756c9f607ea99f05f967a61 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jul 19 00:19:03 2017 +0200 -- Check whether USERBLK still exists in PlugExit modified: storage/connect/connect.cc modified: storage/connect/plugutil.cpp modified: storage/connect/jsonudf.cpp -- Update result from json_udf test modified: storage/connect/mysql-test/connect/r/json_udf.result commit c8918e1a7b6f781738a840578923e6c56cbe3861 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jul 18 13:33:49 2017 +0200 -- Trace Sarea allocation and freeing modified: storage/connect/connect.cc modified: storage/connect/plugutil.cpp modified: storage/connect/user_connect.cc -- Null Json values where not mark as null in JSNX::SetJsonValue This was added in TYPE_NULL (declared as TYPE_VOID) modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp -- Null JValues are ignored in JSNX::CalculateArray Also done in tabjson.cpp for JSONCOL::CalculateArray modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp -- Null JSON values now represented by connect_json_null session variable modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp -- JVALUE has size = 1 modified: storage/connect/json.h -- Fix by vuvova because Debian compilation failure. modified: storage/connect/value.cpp commit 5b4e72c17a9fce81a959f1809958179b5f4774ba Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jul 4 19:16:38 2017 +0200 - Fix MDEV-13239 Suppress the restriction about no blanks around , and = in the OPTION_LIST. modified: storage/connect/ha_connect.cc commit 0747149d5fc6110f01168bfba2511aff5d774f8f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jun 30 18:15:24 2017 +0200 - tdbp not initialized when catched exception in CntGetTDB (connect.cc line 188) modified: storage/connect/connect.h - CheckCleanup should sometimes doing cleanup on pure info Sometimes MariaDB loops on info to get the size of all tables in a database. This can sometimes fail by exhausted memory. CheckCleanup now have a force boolean parameter (defaulting to false) modified: storage/connect/ha_connect.cc modified: storage/connect/user_connect.cc modified: storage/connect/user_connect.h Change the copyright of some source files modified: storage/connect/connect.cc modified: storage/connect/connect.h modified: storage/connect/engmsg.h modified: storage/connect/global.h modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/msgid.h modified: storage/connect/mycat.cc modified: storage/connect/mycat.h modified: storage/connect/os.h modified: storage/connect/osutil.c modified: storage/connect/osutil.h modified: storage/connect/user_connect.cc modified: storage/connect/user_connect.h commit 48bc288c676f72203ec7ca3e619e8c1fed2c7248 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Jun 11 17:17:11 2017 +0200 Fix unhandled exception: Force type int for ENUMs. Replace remaining longjmp. modified: storage/connect/array.cpp modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filter.cpp modified: storage/connect/jdbconn.cpp modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabvir.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/value.cpp modified: storage/connect/xobject.cpp commit 01af518ebbc8416df759918587b5ae7ace9d97ae Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jun 8 18:14:33 2017 +0200 Fix MDEV-12973: Blank columns querying SQL Server Added support of NCHAR, NVARCHAR an ROWID JDBC types. modified: storage/connect/jdbconn.cpp commit b7ea5496f24e96f97ce3d76416e65b01a87e32b5 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jun 6 17:26:51 2017 +0200 Fix MDEV-12969. Crash during inserting binary value in Connect table. Seems due to making an index on unsigned integer that triggers an un-handled THROW. modified: storage/connect/tabdos.cpp modified: storage/connect/xindex.cpp commit 79d1ccb481f8bfc2a6208c0831f4310488be619f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jun 1 10:10:39 2017 +0200 Protect Info function against NULL g pointer modified: storage/connect/ha_connect.cc Update failing test modified: storage/connect/mysql-test/connect/r/drop-open-error.result modified: storage/connect/mysql-test/connect/t/drop-open-error.test commit 65bc45636ac3489a0d9776d00c8d42365c4581a4 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun May 28 00:56:15 2017 +0200 restore last version commit 1387a3a28fb1649cf77b119364044b5170997a78 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun May 28 00:53:14 2017 +0200 new version commit e720e502133704020c8a5b24b440fbc791f3bb31 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue May 23 22:59:44 2017 +0200 Fix bug: Discovery of JSON table fails in DEBUG mode when NO MONGO support. (tdb->Uri is uninitialized) modified: storage/connect/tabjson.cpp commit 37235293b0c412d2793b300523496de3751e8b3f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue May 23 14:48:49 2017 +0200 Fix gcc compiler warnings reported by Sergei modified: storage/connect/array.cpp modified: storage/connect/array.h modified: storage/connect/blkfil.cpp modified: storage/connect/blkfil.h modified: storage/connect/block.h modified: storage/connect/colblk.cpp modified: storage/connect/colblk.h modified: storage/connect/csort.h modified: storage/connect/filamvct.cpp modified: storage/connect/filter.cpp modified: storage/connect/filter.h modified: storage/connect/global.h modified: storage/connect/json.h modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabcol.cpp modified: storage/connect/tabcol.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabjson.cpp modified: storage/connect/table.cpp modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabsys.h modified: storage/connect/tabxml.h modified: storage/connect/value.cpp modified: storage/connect/value.h modified: storage/connect/xindex.cpp modified: storage/connect/xindex.h modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h modified: storage/connect/xtable.h Set values as nullable when retrieving catalog info modified: storage/connect/jdbconn.cpp modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/odbconn.cpp Change format of Jpath modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/mysql-test/connect/r/json.result modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/r/json_udf_bin.result modified: storage/connect/mysql-test/connect/r/zip.result modified: storage/connect/mysql-test/connect/t/json.test modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/mysql-test/connect/t/json_udf_bin.test modified: storage/connect/mysql-test/connect/t/zip.test modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmgo.cpp Change null representation from ??? to <null> modified: storage/connect/json.cpp Change the name of UDF that are equal to a native JSON function name modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf2.inc Fix bug in making JSON project info modified: storage/connect/mongofam.cpp Fix COMPUTE when one argument is null modified: storage/connect/value.cpp Value is null only when nullable modified: storage/connect/value.h commit 8f66819611fdc1339fddda1ba701746b8a61f9c2 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri May 12 11:52:03 2017 +0200 Fix column types wrongly set to TYPE_STRING in JSONColumns when the column contains NULL values. modified: storage/connect/tabjson.cpp MDEV-12651: change error code to ER_ILLEGAL_HA in rnd_pos. modified: storage/connect/ha_connect.cc commit ea7081bfa2a0a53958c1a9e8f57c2b758ac97c4d Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 11 17:23:02 2017 +0200 Fix wrong value of JSON column When null and the column is NOT NULL the value was not reset. modified: storage/connect/tabjson.cpp commit 2195f5dc02b0979e700b76c33b9e4cbc42492bbf Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 11 10:35:14 2017 +0200 Fix converting bstr_t string to set error message modified: storage/connect/domdoc.cpp Fix MDEV-12768: -Wformat-overflow compile warnings modified: storage/connect/global.h modified: storage/connect/jsonudf.cpp modified: storage/connect/plugutil.cpp modified: storage/connect/tabvct.cpp Typo (in external_lock) modified: storage/connect/ha_connect.cc Remove some warnings modified: storage/connect/odbconn.cpp modified: storage/connect/tabmysql.cpp Add MEM_RESERVE flag to virtualAlloc modified: storage/connect/plgdbutl.cpp Fix MDEV-12573: Accept=1 may show incorrect value for NULL column in CONNECT TBL modified: storage/connect/tabutil.cpp Fix wrong setting of key size when greater than 2G modified: storage/connect/xindex.cpp commit 9d6677b5eac399ada32ffd282e2028a4e253035a Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon May 8 14:46:15 2017 +0200 _Null_terminated_ not recognized by gcc commit 40a56581b0ec2ec8d80ac472a969ca7a68e30695 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon May 8 12:42:12 2017 +0200 Fixing MDEV-12149: compile errors on Windows with /Zc:strictStrings Introduce typedef PCSZ and replace PSZ by it where it matters All done on CONNECT but compile still fails because of an included system file modified: storage/connect/array.cpp modified: storage/connect/catalog.h modified: storage/connect/colblk.cpp modified: storage/connect/colblk.h modified: storage/connect/domdoc.cpp modified: storage/connect/domdoc.h modified: storage/connect/filamdbf.cpp modified: storage/connect/filamdbf.h modified: storage/connect/filamfix.cpp modified: storage/connect/filamgz.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/filamvct.h modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/libdoc.cpp modified: storage/connect/macutil.cpp modified: storage/connect/myconn.cpp modified: storage/connect/myutil.cpp modified: storage/connect/myutil.h modified: storage/connect/odbconn.cpp modified: storage/connect/odbconn.h modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/plgxml.cpp modified: storage/connect/plgxml.h modified: storage/connect/plugutil.cpp modified: storage/connect/preparse.h modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabext.cpp modified: storage/connect/tabext.h modified: storage/connect/tabfix.cpp modified: storage/connect/tabfix.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabfmt.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabjson.cpp modified: storage/connect/table.cpp modified: storage/connect/tabmac.cpp modified: storage/connect/tabmgo.cpp modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabpivot.cpp modified: storage/connect/tabpivot.h modified: storage/connect/tabsys.cpp modified: storage/connect/tabsys.h modified: storage/connect/tabutil.cpp modified: storage/connect/tabutil.h modified: storage/connect/tabvir.cpp modified: storage/connect/tabvir.h modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h modified: storage/connect/tabzip.cpp modified: storage/connect/tabzip.h modified: storage/connect/valblk.cpp modified: storage/connect/valblk.h modified: storage/connect/value.cpp modified: storage/connect/value.h modified: storage/connect/xindex.cpp modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h modified: storage/connect/xtable.h commit e7d91cd78310948c51ee67c532dca1c6a32fc677 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat May 6 23:43:02 2017 +0200 Prepare fixing MDEV-12149 compile errors on Windows with /Zc:strictStrings Introduce typedef PCSZ and replace PSZ by it where it matters modified: storage/connect/colblk.h modified: storage/connect/connect.cc modified: storage/connect/domdoc.cpp modified: storage/connect/domdoc.h modified: storage/connect/filamdbf.cpp modified: storage/connect/filamdbf.h modified: storage/connect/filamtxt.h modified: storage/connect/filamvct.cpp modified: storage/connect/filamvct.h modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/jdbccat.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/odbccat.h modified: storage/connect/odbconn.cpp modified: storage/connect/odbconn.h modified: storage/connect/os.h modified: storage/connect/plgdbsem.h modified: storage/connect/plgxml.cpp modified: storage/connect/plgxml.h modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabdos.h modified: storage/connect/tabext.cpp modified: storage/connect/tabext.h modified: storage/connect/tabfix.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmgo.h modified: storage/connect/tabmul.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabsys.h modified: storage/connect/tabwmi.cpp modified: storage/connect/tabwmi.h modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h modified: storage/connect/tabzip.h modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h modified: storage/connect/xtable.h commit d75d61cd6f505119f11ddaf42b6de087c8cbbdc8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri May 5 23:56:16 2017 +0200 Fix MDEV-12603 Insert replaces values in ZIP file modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h Fix MDEV-12686 Handle null in json Fix MDEV-12688 Insert does not handle type TINYINT modified: storage/connect/json.cpp modified: storage/connect/tabjson.cpp commit fd166e03773ed729ac952647deb32458cc835790 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 4 18:49:00 2017 +0200 Fix MDEV-12653 Cannot add index for ZIP CONNECT table modified: storage/connect/filamzip.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/tabdos.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/xindex.cpp commit ce3c7cd97284fb3edf4e0de6797678d5a54d0702 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed May 3 10:39:32 2017 +0200 Handle error return from SetPath commit 2d85b10060c5ea63dc61561407a6f784db8841ef Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed May 3 09:10:26 2017 +0200 Fix gcc compile error. modified: storage/connect/tabmul.cpp commit cd337a3730828e3287b0b291430940209bc52594 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed May 3 01:06:00 2017 +0200 Fix MDEV-12587 MariaDB CONNECT DIR Type - Subfolder Option: SELECT Query Never Ends modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h Work on MDEV-12667 Crash when using JSON tables modified: storage/connect/tabmgo.cpp modified: storage/connect/connect.cc modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/plugutil.cpp Work on MONGO and MGO types modified: storage/connect/mongofam.cpp modified: storage/connect/tabmgo.cpp modified: storage/connect/tabmgo.h Change Base offset for DIR tables on Linux modified: storage/connect/reldef.cpp Typo modified: storage/connect/catalog.h modified: storage/connect/mycat.cc modified: storage/connect/mycat.h Disable all json tests modified: storage/connect/mysql-test/connect/disabled.def commit 2f9db4ef705414cd84eef9ee78626779aff76678 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Apr 29 23:33:10 2017 +0200 Fix MDEV-12631 valgrind warning for zipped tables modified: storage/connect/filamzip.cpp Add to STRING a member for testing OOM condition modified: storage/connect/xtable.h Work on MONGO type and add some of its features to JSON MGO tables modified: storage/connect/filter.cpp modified: storage/connect/filter.h modified: storage/connect/ha_connect.cc modified: storage/connect/mongofam.cpp modified: storage/connect/mongofam.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmgo.cpp modified: storage/connect/tabmgo.h commit b6135bb51e924892f0fc5ebf13e9f5c0980e059d Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Apr 26 18:38:32 2017 +0200 Continue working on MONGO tables modified: storage/connect/tabmgo.cpp modified: storage/connect/tabmgo.h Add Trc to STRING allowing to test for truncation (ex oom) modified: storage/connect/ha_connect.cc modified: storage/connect/tabext.cpp modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/tabodbc.cpp modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h commit 36206acc2f71db897d037b4b8fe7257012327439 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Apr 25 10:58:34 2017 +0200 Work on new MONGO table type Handle discovery, insert, update and delete Add support for Pipeline modified: storage/connect/tabmgo.cpp modified: storage/connect/tabmgo.h Handle double call to CondPush Cond moved to TDB modified: storage/connect/ha_connect.cc modified: storage/connect/tabext.cpp modified: storage/connect/tabext.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/table.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabodbc.cpp modified: storage/connect/xtable.h Add building Mongo selector to FILTER modified: storage/connect/filter.cpp modified: storage/connect/filter.h Change Print function of values (needed by FILTER) modified: storage/connect/value.cpp modified: storage/connect/value.h Fix crash when dbname is null forJSON MGO tables modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h Fix MDEV-12520: Decimal values can be truncated for JDBC tables modified: storage/connect/jdbconn.cpp Fix bug. Date value was null when retrieved from a json expanded array. modified: storage/connect/tabjson.cpp commit 0149f9c2a192b7603619a57c3ff71463258b1121 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Apr 17 10:44:51 2017 +0200 Add MONGO table type new file: storage/connect/tabmgo.cpp new file: storage/connect/tabmgo.h modified: storage/connect/ha_connect.cc modified: storage/connect/mycat.cc modified: storage/connect/plgdbsem.h Fix crash when dbname is null forJSON MGO tables modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h commit 95af77b1f734a30742d1671e3223d5454d238809 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Apr 14 12:58:47 2017 +0200 Comment out in CMakeLists.txt commit ff704368c050e61e0fe1cdc08bccc3aec09dddd5 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Apr 13 23:52:39 2017 +0200 Add mongoDB access to json tables. Finalize replacement of longjmp by throw. modified: storage/connect/CMakeLists.txt modified: storage/connect/array.cpp modified: storage/connect/blkfil.cpp modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filamtxt.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/filter.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/plugutil.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabfix.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmul.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabsys.cpp modified: storage/connect/tabvct.cpp modified: storage/connect/tabvir.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/valblk.cpp modified: storage/connect/value.cpp modified: storage/connect/xindex.cpp modified: storage/connect/xobject.cpp commit 9262ae65fc66a19f40e53568dd22ea1666c2d4fb Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Apr 13 21:30:33 2017 +0200 Add mongoDB access to json tables. Filalize replacement oflongjmp by throw. modified: storage/connect/CMakeLists.txt modified: storage/connect/array.cpp modified: storage/connect/blkfil.cpp modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filamtxt.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/filter.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/plugutil.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabfix.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmul.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabsys.cpp modified: storage/connect/tabvct.cpp modified: storage/connect/tabvir.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/valblk.cpp modified: storage/connect/value.cpp modified: storage/connect/xindex.cpp modified: storage/connect/xobject.cpp commit 2c16792995d98fe2c98eb6c6575ba30b3653ca25 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Apr 6 19:45:19 2017 +0200 Fix bug. Date value was null when retrieved from a json expanded array. modified: storage/connect/tabjson.cpp Assume timestamp is in milliseconds when it is a big integer that is multiple of 1000. modified: storage/connect/value.cpp commit fcfcd99e64256ecff7a6ec35aefdb0d35cfd25c0 Merge: 332c6176903 64a37f6cab0 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Apr 6 00:44:53 2017 +0200 Commit resolved files commit 332c617690357047dfc125defb7a6a5bf104e319 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Apr 5 10:22:58 2017 +0200 Export TDBJSN class so it can be used by EOM tables modified: storage/connect/filamtxt.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h commit 64a37f6cab054213aeadd9708acc66cbd8f239e7 Merge: 85239bdfebd a7bb9e8fdbd Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 5 09:43:36 2017 +0300 Merge pull request #352 from grooverdan/10.1-xtradb-fil_crypt_rotate_page xtradb: fil_crypt_rotate_page, space_id should be compared to TRX_SYS_SPACE commit a7bb9e8fdbdd5a3a01910117ef54c0fe09374de2 Author: Daniel Black <daniel.black@au.ibm.com> Date: Wed Apr 5 16:29:08 2017 +1000 xtradb: fil_crypt_rotate_page, space_id should be compared to TRX_SYS_SPACE not space like 9a218f4fb871c1169dd6015a3be9d965929dbd1f fil_crypt_rotate_page - space_id should be compared to TRX_SYS_SPACE not space Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit 85239bdfebd60de2798c79271a057cfde16e5f00 Merge: 9505c968393 9a218f4fb87 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 5 08:40:47 2017 +0300 Merge pull request #350 from grooverdan/10.1-TRX_SYS_PAGE_NO fil_crypt_rotate_page - space_id should be compared to TRX_SYS_SPACE not space commit 9a218f4fb871c1169dd6015a3be9d965929dbd1f Author: Daniel Black <daniel.black@au.ibm.com> Date: Tue Apr 4 15:47:21 2017 +1000 fil_crypt_rotate_page - space_id should be compared to TRX_SYS_SPACE not space Fixes compile error that highlights problem: /source/storage/innobase/fil/fil0crypt.cc: In function 'void fil_crypt_rotate_page(const key_state_t*, rotate_thread_t*)': /source/storage/innobase/fil/fil0crypt.cc:1770:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (space == TRX_SYS_SPACE && offset == TRX_SYS_PAGE_NO) { Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit 9505c9683930290c1e028043940ae8512a6ca040 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Apr 3 19:36:54 2017 +0300 MDEV-12428 SIGSEGV in buf_page_decrypt_after_read() during DDL Also, some MDEV-11738/MDEV-11581 post-push fixes. In MariaDB 10.1, there is no fil_space_t::is_being_truncated field, and the predicates fil_space_t::stop_new_ops and fil_space_t::is_stopping() are interchangeable. I requested the fil_space_t::is_stopping() to be added in the review, but some added checks for fil_space_t::stop_new_ops were not replaced with calls to fil_space_t::is_stopping(). buf_page_decrypt_after_read(): In this low-level I/O operation, we must look up the tablespace if it exists, even though future I/O operations have been blocked on it due to a pending DDL operation, such as DROP TABLE or TRUNCATE TABLE or other table-rebuilding operations (ALTER, OPTIMIZE). Pass a parameter to fil_space_acquire_low() telling that we are performing a low-level I/O operation and the fil_space_t::is_stopping() status should be ignored. commit ac8218a0be280ac834904e5579554d9ea3f92aeb Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 31 17:40:42 2017 +0200 fix Ninja builds for AWS SDK specify BUILD_BYPRODUCTS, ninja needs it commit 31896aa6e21fd112b929350156b2995b4033506d Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 31 15:25:35 2017 +0200 put all aws_key_management plugin files into plugin/aws_key_management that is, download AWS SDK there, not into the builddir root. and .gitignore them all. commit 9de7386f6f029985e65e02a1d98240f6808020aa Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Mar 31 16:01:37 2017 +0000 AWS KMS plugin : Fix building in case AWS C++ SDK was preinstalled into non-standard compiler/linker path (e.g vcpkg on Windows). Also fix linking with static preinstalled aws c++ sdk libraries commit a00517ac9707ffd51c092f5af5d198c5ee789bb4 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 28 19:34:51 2017 +0200 restore the correct linking of ed25519 plugin * add a clarifying comment * apply /wd4244 /wd4146 to ref10 source files, not to the library commit 9ab9a28b5d9ff7fd175ae64b0d9e3c984dfb0abf Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 27 11:04:06 2017 +0200 disable innodb snappy for release builds commit c56b896c17f7f4992ef871c51673b059a70795d4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 28 12:28:09 2017 +0300 Fix test failure on debug_key_management test. commit 8bd1f06c5adb748ccab11f75262b7b0f1f5b92d0 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Mar 27 15:51:39 2017 +0200 Return to original version of jdbc.test commit efe99828739e4e570aeb7e6a370dbef0b1c33605 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Mar 27 15:40:07 2017 +0200 Fix crash when a line is not ended by \n. modified: storage/connect/filamap.cpp Add specifying a password when reading zipped tables. modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h Try Vaintroub suggestion modified: storage/connect/mysql-test/connect/t/jdbc.test commit ba298b1f022aa5e1247d07a97325c0a09bdd1dc2 Merge: 716188f1d40 c51fc679f50 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Mar 24 18:20:09 2017 +0200 Merge 10.0 into 10.1 commit 716188f1d407acf8181966396d6c0923716f4546 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Mar 24 10:02:31 2017 +0100 Fix some warnings on Windows compilation - silence warnings in ed25519 reference implementation - fix signed/unsigned warning in popular header item_func.h commit d7c35a999203c98e772241f1c7858253dd96ac89 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Mar 23 19:28:36 2017 +0000 Fix compiler error commit e5b67a46bcb75a751f5906f19694971bc803d67c Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Mar 23 11:48:56 2017 +0000 MDEV-12345 Performance : replace calls to clock() inside trx_start_low() by THD::start_utime commit 09a2107b1b2f5567b8a50afec9e54a33284c6233 Merge: bbf0c9d4c35 0d622bed4f1 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 21 19:20:44 2017 +0100 Merge branch '10.0' into 10.1 commit bbf0c9d4c35034c8634cd9607712d94fac089127 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 16 09:07:20 2017 +0100 cleanup: pfs_upgrade* tests commit 386ef08704de7b8070823e5519a530dad259fe11 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 13 10:54:08 2017 +0100 MDEV-12233 main.mysql_upgrade_noengine fails in buildbot on ppc64le verify that tests don't leave mysql_upgrade_info in datadir commit cf1ca7473604d640ad3f20d1ec89d293b9748c73 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Mar 18 12:42:46 2017 +0100 Typo commit d9b7433c98e6001b32d4489125a3366c79be14b1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Mar 18 10:40:51 2017 +0100 Fix MDEV-12220: add MODE_READX to permissible index read modified: storage/connect/connect.cc commit 932a4401f092f6fac1ad4242cc1923dffa56f9cf Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Mar 17 19:00:30 2017 +0100 Fix MDEV-12220: Crash when doing UPDATE or DELETE on an external table (ODBC, JDBC, MYSQL) with a WHERE clause on an indexed column. Also fix a bugs in TDBEXT::MakeCommand (use of uninitialised Quote) Add in this function the eventual Schema (database) prefixing. modified: storage/connect/connect.cc modified: storage/connect/tabext.cpp commit b1ec35b90303446d2f1a5810455bcafbc091f928 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 16 17:30:13 2017 +0200 Add assertions when key rotation list is used. commit c333cae652491998c34526ab0b5bfc3ecb2fe474 Author: =Ian Gilfillan <github@greenman.co.za> Date: Thu Mar 16 13:35:36 2017 +0200 MDEV-11964 Add more stub missing man pages commit 854359ffc519292470d29ebcbfe9416968b56da0 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Mar 14 20:44:25 2017 +0000 Fix AWS KMS plugin's compile error Do not include base64.h, it was recently removed. 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. This patch re-purposes innodb-encryption-rotate-key-age=0 to disable key rotation and background data scrubbing. All new tables are added to special list for key rotation and key rotation is based on sending a event to background encryption threads instead of using periodic checking (i.e. timeout). fil0fil.cc: Added functions fil_space_acquire_low() to acquire a tablespace when it could be dropped concurrently. This function is used from fil_space_acquire() or fil_space_acquire_silent() that will not print any messages if we try to acquire space that does not exist. fil_space_release() to release a acquired tablespace. fil_space_next() to iterate tablespaces in fil_system using fil_space_acquire() and fil_space_release(). Similarly, fil_space_keyrotation_next() to iterate new list fil_system->rotation_list where new tables. are added if key rotation is disabled. Removed unnecessary functions fil_get_first_space_safe() fil_get_next_space_safe() fil_node_open_file(): After page 0 is read read also crypt_info if it is not yet read. btr_scrub_lock_dict_func() buf_page_check_corrupt() buf_page_encrypt_before_write() buf_merge_or_delete_for_page() lock_print_info_all_transactions() row_fts_psort_info_init() row_truncate_table_for_mysql() row_drop_table_for_mysql() Use fil_space_acquire()/release() to access fil_space_t. buf_page_decrypt_after_read(): Use fil_space_get_crypt_data() because at this point we might not yet have read page 0. fil0crypt.cc/fil0fil.h: Lot of changes. Pass fil_space_t* directly to functions needing it and store fil_space_t* to rotation state. Use fil_space_acquire()/release() when iterating tablespaces and removed unnecessary is_closing from fil_crypt_t. Use fil_space_t::is_stopping() to detect when access to tablespace should be stopped. Removed unnecessary fil_space_get_crypt_data(). fil_space_create(): Inform key rotation that there could be something to do if key rotation is disabled and new table with encryption enabled is created. Remove unnecessary functions fil_get_first_space_safe() and fil_get_next_space_safe(). fil_space_acquire() and fil_space_release() are used instead. Moved fil_space_get_crypt_data() and fil_space_set_crypt_data() to fil0crypt.cc. fsp_header_init(): Acquire fil_space_t*, write crypt_data and release space. check_table_options() Renamed FIL_SPACE_ENCRYPTION_* TO FIL_ENCRYPTION_* i_s.cc: Added ROTATING_OR_FLUSHING field to information_schema.innodb_tablespace_encryption to show current status of key rotation. commit a2f34809e55c492af9a23d43840133f01528df7b Author: Daniel Bartholomew <db@dbart.us> Date: Tue Mar 14 09:56:05 2017 -0400 bump the VERSION commit 98be67266dc2f331e64ed5d875154fc6352f262a Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Mar 13 23:13:24 2017 +0000 Fix truncation of affected rows and insert id in select_insert::send_ok_packet commit 9dc10d5851ab4ff38d81e68858de56fbb1d6743d Merge: 68be011cf2e 032678ad184 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Mar 13 19:17:34 2017 +0200 Merge 10.0 into 10.1 commit 68be011cf2ec96a622db857fe9c418380d106d0d Author: Elena Stepanova <elenst@montyprogram.com> Date: Sat Mar 11 20:59:52 2017 +0200 Updated list of unstable tests for 10.1.22 commit 20338443197590beb943e8e1eed17cf95d2a51e0 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 11 12:42:55 2017 +0100 test failures in buildbot commit e5f5457b6fdada826fca23e17b6925e2f9634a03 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Mar 11 14:10:34 2017 +0100 Also order the result of multiple=1 table, otherwise being different on Linux and Windows causing the test to fail. modified: storage/connect/mysql-test/connect/r/mul_new.result modified: storage/connect/mysql-test/connect/t/mul_new.test commit f0ec34002a98eeb669cb254eaba6a3d678a58cc1 Author: iangilfillan <github@greenman.co.za> Date: Fri Feb 10 13:26:55 2017 +0200 Correct FSF address commit 2a0ae1c90acc6332606144719764cb5fc730bf3b Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 7 19:21:42 2017 +0100 MDEV-11965 -Werror should not appear in released tarballs commit 5d40ed864eb91314c894c713cd0d3d03c62ec8c5 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 7 19:17:37 2017 +0100 MDEV-11752 Unsafe strmov - function definition in include/m_string.h assert that strmov() cannot be used on overlapping strings. (because strpcpy cannot) commit e0a03ca30aa6f91daf7ea519a57d85e54dc49927 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 01:27:34 2017 +0100 ed25519 plugin: simplify the api various ed25519/ref10 api simplifications for our specific use case commit 7120118a5e97477778715ebdc8e4fba548a6dc87 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 5 16:18:16 2017 +0100 MDEV-12160 Modern alternative to the SHA1 authentication plugin ED25519 authentication plugin commit 269ab56f8b4056ec63e712ba305761dd835ea10e Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 22:42:00 2017 +0100 small plugin API related fixes * define MYSQL_DYNAMIC_PLUGIN only for server plugins * don't typedef my_bool in mysql.h if plugin.h has already done it * fix the include guard in plugin.h commit 227f63db3b0b9a1ce29c37f1c104ba5d204d0392 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 19:37:48 2017 +0100 cleanup: sort various lists of services commit 0877eff4012ab1184112814a3492d23bf266f848 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 19:34:22 2017 +0100 thd_rnd service commit 6305533de2fd38d43c149d4d7c847f65d68205c7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 17:32:18 2017 +0100 Auth Plugin API: add THD to MYSQL_SERVER_AUTH_INFO so that auth plugins could use various thd services commit 051851b9a673e38d12612ea92d8a8913b8f0ca45 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 17:05:03 2017 +0100 base64 service commit 70a2efde0352052fce5a44481055542e0b050048 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 15:31:25 2017 +0100 remove old API for SHA2 commit d6a7aece0826e0c115eb21912527c77596c1305e Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 13:06:03 2017 +0100 my_sha2 service commit bd1139ad2722cf8717cd1aaac4431f369d39562f Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 12:45:36 2017 +0100 cleanup: generalize my_sha1.cc move most of the code into my_sha.ic, making it independent from the actual SHAx variant. commit 6cddd12ad6eeea82b1087574e5dd5cb9accd7641 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 5 15:50:32 2017 +0100 make sql_udf.cc to shorten dlerror() messages just as sql_plugin.cc does commit 2b1bbac5fa881b8e135dbad3e0ff6b9e2763e24d Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 5 20:51:31 2017 +0100 cleanup: remove a duplicate file commit aa51b559abec01eca9f5a7628e4fe0a106ee8e52 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 6 15:07:46 2017 +0100 typo fixed commit 0633d0e2ed606a7fe51d0cbf08c60c5a7d5572f6 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 8 14:54:12 2017 +0100 don't show 'performance_schema_%_classes_lost' variables in tests because FLUSH STATUS does not reset them, so their values are affected by previously run tests since the last server restart. commit 3d06f0f72cbabe833036f920e9452cd6ef46e5aa Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 4 17:17:00 2017 +0100 MDEV-11942 BLACKHOLE is no longer active in 10.1 by default, mysql_upgrade not handling the situation fix the patch. add tests commit c372388e4862938037f98b6e4936bc61872354dd Author: Hartmut Holzgraefe <hartmut@mariadb.com> Date: Tue Feb 7 22:56:28 2017 +0100 make mysql_upgrade try to install missing storage engine plugins (MDEV-11942) commit 8f1ca5e311bda92d4e901aae8ec5c47597d0f934 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 3 15:27:19 2017 +0100 MDEV-11943 I_S.TABLES inconsistencies with tables with unknown storage engine Try harder to show the table's engine. If the table's engine is not loaded, the table won't open. But we can still read the engine name from frm as a string. commit 48b1d175345caa3c644597044751906a04106b91 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 2 15:36:18 2017 +0100 MDEV-11943 I_S.TABLES inconsistencies with tables with unknown storage engine Make SELECT <columns> FROM I_S.TABLES behave identically independently from whether <columns> require opening the table in engine or <columns> can be filled with only opening the frm. In particular, fill_schema_table_from_frm() should not silently skip frms with unknown engine, but should fill the I_S.TABLES row with NULLs just like fill_schema_table_by_open() does. commit 25c32c89f14cba402a42a61a8a371ce515610899 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 2 14:04:14 2017 +0100 trivial cleanup commit 8eb66bc382295003e5da5ff50365d62def30f52d Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 2 20:59:29 2017 +0100 cleanup: change dd_frm_type() to return the engine name, not legacy_db_type this simplifies the code and avoids unnecessary conversions back and forth. and it works even if the engine is not installed. commit 1c8d2121ab0e9ca0d8a8fccdd85da1072ef30815 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 2 06:53:07 2017 +0100 don't do vio_description(NULL) this fixes the crash of innodb.innodb-blob --ps-protocol commit 5fa04aae9ec94428a68ef4f6f681564111933c11 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 1 23:52:35 2017 +0100 MDEV-11842 Fail to insert on a table where a field has no default has_no_default_value() should only fail the insert in the strict mode. Additionally, don't check for "all fields are given values" twice, it'll produce duplicate warnings. commit b6a1d6538b4d2001be20fe0d8f470874c744f0a2 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 10 16:25:01 2017 +0100 compiler warnings commit 2d573a6c5a471ec187b9bdc4db6503dad9639650 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Mar 10 17:53:36 2017 +0100 CONNECT Storage Engine: Support of ENUM and SET column types for MYSQL tables. modified: storage/connect/myconn.cpp modified: storage/connect/myutil.cpp Order the result of multiple=3 table, otherwise being different on Linux and Windows causing the test to fail. modified: storage/connect/mysql-test/connect/r/mul_new.result modified: storage/connect/mysql-test/connect/t/mul_new.test commit 0094b6581df1530821608327df50b8479e1dc0f8 Merge: 814d0507604 1d47bd61d55 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Mar 10 15:16:13 2017 +0200 Merge 10.0 into 10.1 commit 814d0507604192d1da18eb2e30529e5559ce140e Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Fri Mar 10 14:07:22 2017 +0200 MDEV-12215: main.repair_symlink-5543 fails in buildbot If openat is present on the system and it tries to open a symlink with O_NOFOLLOW, we get errno 40. If openat is not present on the system, we use the alternative open call, with slightly different logic. IF the symlink doesn't point to a valid file, we get errno 20. This test uses an invalid symlink on the table t1.MYD. commit 18de8296182f42cdf663573949a82950b72af8fc Author: iangilfillan <github@greenman.co.za> Date: Thu Mar 9 13:18:40 2017 +0200 MDEV-11964 Add missing stub manpages commit bf6cadf923d2e7756e037898dd3b9384dd1fc807 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Mar 10 00:28:26 2017 +0100 CONNECT Storage Engine: The last commited changes have brought important additions to CONNECT. 1 - Replacement of setjmp/longjump's by try/catch/throw 2 - Support of multiple tables in subdirectories 3 - Support translating ENUM to VARCHAR for MYSQL tables. 4 - Tables based on ZIP files Support ENUM data type for MYSQL tables. modified: storage/connect/myconn.cpp modified: storage/connect/myutil.cpp Fix typo causing the test to fail on Linux. modified: storage/connect/mysql-test/connect/r/mul_new.result modified: storage/connect/mysql-test/connect/t/mul_new.test commit cdc7a69ea2decf1e8f36dbaa12591abaedf05a35 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Mar 9 16:28:11 2017 +0100 CONNECT DIR tables: fix retrieving file date values under Windows. modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h commit 07d89fa59c1734b5a963943dcb93ade0c4e92e48 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Mar 9 16:52:57 2017 +0200 Remove leftover merge conflict marker commit 5aacb861f2e84e1f45d72bf34fdaffa0904a9f5b Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Mar 9 14:45:52 2017 +0200 WSREP: Use TRX_ID_FMT for trx_id_t in messages. commit b28adb6a62661b60f80c7c1b6237b74fb7cdcee2 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Mar 9 15:09:44 2017 +0200 Fix an error introduced in the previous commit. fil_parse_write_crypt_data(): Correct the comparison operator. This was broken in commit 498f4a825b29a37cb27f1c76741987de8c510d06 which removed a signed/unsigned mismatch in these comparisons. commit 498f4a825b29a37cb27f1c76741987de8c510d06 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Mar 9 08:54:07 2017 +0200 Fix InnoDB/XtraDB compilation warnings on 32-bit builds. commit ad0c218a440575fa6fb6634aca7a08448a4360e0 Merge: bb4ef470c24 9fe92a9770a Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Mar 8 19:44:22 2017 +0200 Merge 10.0 into 10.1 Also, implement MDEV-11027 a little differently from 5.5 and 10.0: recv_apply_hashed_log_recs(): Change the return type back to void (DB_SUCCESS was always returned). Report progress also via systemd using sd_notifyf(). commit 95667ae2945a6f8891ed7b49bff8b9fa19d7d1a1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Mar 8 23:30:24 2017 +0100 Fix errors in function TDBSDR::FindInDir. Comment out PSYSTEMTIME stp not used in DIRCOL::ReadColumn causing a compile error won Linux? modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h commit bb4ef470c24cdbcedba3dd3dcda3b3d88b6fb491 Author: iangilfillan <github@greenman.co.za> Date: Wed Mar 8 17:35:55 2017 +0200 Minor wording fix in mysqladmin man page commit fc8cf004292a91fda07db33c740dd460a3965d3e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Mar 8 11:12:36 2017 +0100 Implement sub-directory search for multiple tables. This is specifies by MULTIPLE=3 when creating the table. modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h added: storage/connect/mysql-test/connect/r/mul_new.result added: storage/connect/mysql-test/connect/t/mul_new.test Update version date modified: storage/connect/ha_connect.cc commit 19629ebf813ef7825eb86a46045ebccdfd484d9a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Mar 7 15:06:01 2017 +0400 MDEV-10646 - System Unit File After network-online Bind to an address even if it is not yet configured. commit fa137476ff14a42c25f221585066d36124755f0a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Mar 3 12:33:24 2017 +0400 MDEV-11941 - Lintian complains about executable bits Revoked executable bit from files that are not supposed to be executed directly. Removed interpreted from files that are not supposed to be executed directly. Added interpreter to files that are supposed to be executed directly. commit aeff61ee5857f2351030c604f62dc7628543209a Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 7 17:27:27 2017 +0400 MDEV-12064 Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES. Test results updated. commit ea31755760537723ded855794c16dd31c3db08c6 Author: Christian Hesse <mail@eworm.de> Date: Thu Jan 5 12:07:26 2017 +0100 properly set paths in systemd unit files Use variables in systemd unit file templetes to properly set paths in final systemd unit files. commit dbd1d7ea8e96a2b4cff89ec889494700d634b3a3 Author: Jean Weisbuch <jean@phpnet.org> Date: Mon Jan 23 11:58:41 2017 +0100 Updated innotop on debian/additions from 1.7.1 to 1.11.4 commit 7be541f281225aae8e04bff4210b67688be080bc Author: klemens <ka7@github.com> Date: Sun Feb 26 16:49:47 2017 +0100 spelling fixes commit e823023e4bb48b0db9ee91477076fc20db704769 Author: Tor Didriksen <tor.didriksen@oracle.com> Date: Tue Apr 21 08:32:31 2015 +0200 Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES Problem: integer literals may be converted to floats for comparison with decimal data. If the integers are large, we may lose precision, and give wrong results. Fix: for <non-const decimal expression> <cmp> <const string expression> or <const string expression> <cmp> <non-const decimal expression> we override the compare_type chosen by item_cmp_type(), and do comparison as decimal rather than float. (cherry picked from commit https://github.com/mysql/mysql-server/commit/1cf3489ba42df1f29c1f3e269443254087505166 and edited by Johannes Weißl <jargon@molb.org>) commit 68d632bc5a1437282dde5460b7a0d3d887fd5483 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Mar 6 10:02:01 2017 +0200 Replace some functions with macros. This is a non-functional change. On a related note, the calls fil_system_enter() and fil_system_exit() are often used in an unsafe manner. The fix of MDEV-11738 should introduce fil_space_acquire() and remove potential race conditions. commit c4471352db3af549e37f26cfb0a38f14afed9989 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Mar 5 23:54:54 2017 +0100 Fix MDEV-12142 crash when creating CSV table Was an unprepared longjmp (now throw) Also fix a wrong calculation of To_Line sometimes causing a crash because of buffer overflow. modified: storage/connect/tabdos.cpp Fix a wrong setting of USER for JDBC tables in connect_assisted_discovery. Update jdbc_new.test after that fix, which changed errors. modified: storage/connect/ha_connect.cc modified: storage/connect/mysql-test/connect/r/jdbc_new.result modified: storage/connect/mysql-test/connect/t/jdbc_new.test Make using try/catch/throw the default option modified: storage/connect/CMakeLists.txt Typo modified: storage/connect/xindex.cpp commit e52bf147144c237b87dbf5226115833c68b2f543 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Mar 5 19:43:17 2017 +0100 Replace setjmp-longjmp's by try_catch-throw modified: storage/connect/CMakeLists.txt modified: storage/connect/array.cpp modified: storage/connect/blkfil.cpp modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filamtxt.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/filter.cpp modified: storage/connect/global.h modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/osutil.c modified: storage/connect/plgdbutl.cpp deleted: storage/connect/plugutil.c added: storage/connect/plugutil.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabfix.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabpivot.cpp modified: storage/connect/tabsys.cpp modified: storage/connect/tabvct.cpp modified: storage/connect/tabvir.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/valblk.cpp modified: storage/connect/value.cpp modified: storage/connect/xindex.cpp modified: storage/connect/xobject.cpp commit adc91387e3add6d9c850b7c2a44760deaceb3638 Merge: bc28b305e53 29c776cfd1e Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Mar 3 13:27:12 2017 +0200 Merge 10.0 into 10.1 commit bc28b305e538774eae4152b300cd323e9a724393 Author: Daniel Black <daniel.black@au.ibm.com> Date: Mon Feb 20 11:36:33 2017 +1100 Remove warning: unused variable 'volatile_var' [-Wunused-variable] This occured in gcc-6.2.1. The variable wasn't used so was no need to be volatile either. Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit 88b5eedef2b1f235346adf9aeca05c4ebab9921c Merge: ad2e38153cb e2d6760d8ae Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 2 08:29:52 2017 +0200 Merge pull request #312 from grooverdan/10.0-MDEV-10515-stat_tables_par-test-fix MDEV-10515: Correct stat_tables_par test results commit 180fe61c1ac85e0eda0ba5dfb19e9f52d281f1cc Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Mar 1 12:17:25 2017 +0100 Update version number and date modified: storage/connect/ha_connect.cc Add conditional SE exception support modified: storage/connect/json.cpp modified: storage/connect/plgdbutl.cpp Change %p in %x in some sprintf functions. This to avoid some compiler warnings. modified: storage/connect/tabwmi.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/value.h Add JavaWrappers.jar to the class path modified: storage/connect/jdbconn.cpp Fix wrong declare (char *buf[256]; --> char buf[256];) modified: storage/connect/xindex.cpp commit ad2e38153cbd9491f746b881b716808666bfde70 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Mar 1 10:07:54 2017 +0000 AWS key management plugin: Fix search for system installed AWS SDK libs commit 62cd105689f3bb0f6b9b67ba256ff2c0bd41d484 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Feb 24 23:15:28 2017 +0100 Fix crashing when joining two JDBC tables.. Was in close (the virtual machine could have been detached. modified: storage/connect/jdbconn.cpp commit 7f7673033e20a9f7aaf4c22f77560d824104524d Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 22 19:55:54 2017 +0200 Remove an unused variable. commit ec4cf111c0d8599c63c486dd96b180d5e7cff8ea Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 22 17:17:00 2017 +0200 MDEV-11520 after-merge fix for 10.1: Use sparse files. If page_compression (introduced in MariaDB Server 10.1) is enabled, the logical action is to not preallocate space to the data files, but to only logically extend the files with zeroes. fil_create_new_single_table_tablespace(): Create smaller files for ROW_FORMAT=COMPRESSED tables, but adhere to the minimum file size of 4*innodb_page_size. fil_space_extend_must_retry(), os_file_set_size(): On Windows, use SetFileInformationByHandle() and FILE_END_OF_FILE_INFO, which depends on bumping _WIN32_WINNT to 0x0600. FIXME: The files are not yet set up as sparse, so this will currently end up physically extending (preallocating) the files, wasting storage for unused pages. os_file_set_size(): Add the parameter "bool sparse=false" to declare that the file is to be extended logically, instead of being preallocated. The only caller with sparse=true is fil_create_new_single_table_tablespace(). (The system tablespace cannot be created with page_compression.) fil_space_extend_must_retry(), os_file_set_size(): Outside Windows, use ftruncate() to extend files that are supposed to be sparse. On systems where ftruncate() is limited to files less than 4GiB (if there are any), fil_space_extend_must_retry() retains the old logic of physically extending the file. commit e1e920bf63550304eccee057edc568479ecf79ac Merge: 3c47ed48490 a0ce92ddc7d Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 22 15:53:05 2017 +0200 Merge 10.0 into 10.1 commit 3c47ed48490f0bab1996beab5b22f386451f0d88 Merge: ba4d0a1b351 13493078e9a Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Feb 20 14:02:40 2017 +0200 Merge 10.0 into 10.1 commit ba4d0a1b351ad3b8ddeea4b137bca4befe32e8c1 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Feb 17 12:47:09 2017 +0400 There's no systemd socket activation support yet commit 32170cafad643403985754f6d7a41e8927f4a6cf Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Feb 16 11:12:24 2017 +0200 MDEV-12075 innodb_use_fallocate does not work in MariaDB Server 10.1.21 fil_space_extend_must_retry(): When innodb_use_fallocate=ON, initialize pages_added = size - space->size so that posix_fallocate() will actually attempt to extend the file, instead of keeping the same size. This is a regression from MDEV-11556 which refactored the InnoDB data file extension. commit e2d6760d8ae624da7a9470768fa5894a81c3d237 Author: Daniel Black <daniel.black@au.ibm.com> Date: Thu Feb 16 16:42:25 2017 +1100 MDEV-10515: Correct stat_tables_par test results Test results are distorted by a small rounding error during an intermediate stage of calculating the result. By using the SQL ROUND function we stablise tests. Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit 403ef9918fbf25d6bcdf288db93adf9b2b210da8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Feb 15 00:30:00 2017 +0100 Fix gcc compile error on friend declaration. "friend TDBEXT" must specified as "friend class TDBEXT" modified: storage/connect/tabext.h commit 6aa144f8d6a2db902829ac902f0f39cb7b8b9fba Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Feb 14 21:15:26 2017 +0100 Fix gcc compile error on strlwr. modified: storage/connect/tabext.cpp commit 41b4ef434835d31b471f8ef55a34391f8eafa9eb Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Feb 14 15:38:07 2017 +0100 Add the tabext.cpp and tabext.h files in the source list. modified: storage/connect/CMakeLists.txt commit 5c2c68d45419deb67049e56e7cdf6ea34812e48c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Feb 14 12:20:20 2017 +0100 This is a major update concerning many source files. Fix MDEV-12035. modified: storage/connect/jsonudf.cpp Working on MDEV-11832: Srcdef performance enhancement This require to mark place holders into srcdef to indicate where to insert the where/having clauses that are retrieved in push_cond. However this also make necessary to handle aliases in the srcdef. This was the opportunity to base all external tables on common classes called EXTDEF, TABEXT and EXTCOL. modified: storage/connect/array.cpp modified: storage/connect/array.h modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filamdbf.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/mycat.cc modified: storage/connect/myconn.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/plgdbsem.h modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfix.cpp modified: storage/connect/tabfix.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabfmt.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/table.cpp modified: storage/connect/tabmac.cpp modified: storage/connect/tabmac.h modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/taboccur.cpp modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabpivot.cpp modified: storage/connect/tabpivot.h modified: storage/connect/tabsys.cpp modified: storage/connect/tabsys.h modified: storage/connect/tabtbl.cpp modified: storage/connect/tabutil.cpp modified: storage/connect/tabutil.h modified: storage/connect/tabvct.cpp modified: storage/connect/tabvct.h modified: storage/connect/tabvir.cpp modified: storage/connect/tabwmi.cpp modified: storage/connect/tabxcl.cpp modified: storage/connect/tabxcl.h modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h modified: storage/connect/xindex.cpp modified: storage/connect/xindex.h modified: storage/connect/xobject.h modified: storage/connect/xtable.h added: storage/connect/tabext.cpp added: storage/connect/tabext.h commit 74a5638a1d5de35f5f377aaae6a5d5266e4d05a6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 13 18:40:24 2017 -0500 MDEV-11530: wsrep_info.plugin fails sporadically in buildbot Add the warning to the global_suppressions list. commit 66822f164ff197c564df12a4c384e37dab630ee3 Author: Elena Stepanova <elenst@montyprogram.com> Date: Sat Feb 11 01:14:06 2017 +0200 Follow-up to MDEV-10731 - fix the broken test commit de9963b786d439a8b769f1b19e7384724616d115 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Feb 10 17:41:35 2017 +0200 After reivew fixes. commit 41cd80fe065f3887db9f2d4f50729204ad13ba0f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Feb 10 16:05:37 2017 +0200 After review fixes. commit c2b217e2434e5a2903e85705f915f3c55ec2342c Author: Varun Gupta <varunraiko1803@gmail.com> Date: Thu Feb 9 22:23:26 2017 +0530 MDEV-10731: Wrong NULL match results in "Subquery returns more than 1 row" (error code 1242) NOT NULL predicate was not added to tables in case of an update query having a subquery. commit 99b2de92c6214ddd73eba35c935f490eedf87a26 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Feb 9 09:36:10 2017 +0200 Post-push fix for MDEV-11623: Remove an unused variable. commit ef065dbbc2dd93ccf7db7ba677e70890a4a49aa6 Merge: 03400676084 6011fb6daa5 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Feb 9 08:51:52 2017 +0200 Merge 10.0 into 10.1 commit 0340067608432503d335f9d9f4e8ef7da5d9d13f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Feb 7 20:08:07 2017 +0200 After review fixes for MDEV-11759. buf_page_is_checksum_valid_crc32() buf_page_is_checksum_valid_innodb() buf_page_is_checksum_valid_none(): Use ULINTPF instead of %lu and %u for ib_uint32_t fil_space_verify_crypt_checksum(): Check that page is really empty if checksum and LSN are zero. fil_space_verify_crypt_checksum(): Correct the comment to be more agurate. buf0buf.h: Remove unnecessary is_corrupt variable from buf_page_t structure. commit 9017a05d878c44d219f2870126651230c99349a1 Merge: 981534b1ddb d831e4c22a0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 8 17:30:25 2017 +0200 Merge 10.0 into 10.1 commit 981534b1ddb65bcde29de2151ee9076a976d07bf Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 8 11:40:09 2017 +0200 Remove unnecessary have_debug.inc, not_valgrind.inc Use include/kill_and_restart_mysqld.inc instead of triggering DBUG_SUICIDE() with debug instrumentation. In this way, more tests can be run with --valgrind or on non-debug servers. commit cbdc389ec9cd9bac3f8fc8f4aea81669a629260f Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 8 11:35:35 2017 +0200 MDEV-12022 InnoDB wrongly ignores the end of an .ibd file InnoDB can wrongly ignore the end of data files when using innodb_page_size=32k or innodb_page_size=64k. These page sizes use an allocation extent size of 2 or 4 megabytes, not 1 megabyte. This issue does not affect MariaDB Server 10.2, which is using the correct WL#5757 code from MySQL 5.7. That said, it does not make sense to ignore the tail of data files. The next time the data file needs to be extended, it would be extended to a multiple of the extent size, once the size exceeds one extent. commit 06a7923f4f531c19e5811954b40c46a77610793a Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 8 10:06:18 2017 +0200 Remove some more error log spam. Do not effectively set DEBUG_DBUG='d' by setting DEBUG_DBUG='-d,...'. Instead, restore the saved value of DEBUG_DBUG. Also, split the test innodb_fts.innodb_fts_misc_debug into innodb_fts.crash_recovery and innodb_fts.misc_debug, and enable these tests for --valgrind, the latter test for --embedded, and the former tests for the non-debug server. commit 257eea3dacbacbf7eabeed6d1b5d8efd6b9bc977 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Tue Feb 7 16:09:24 2017 +0200 Remove some error log spam by not effectively setting DEBUG_DBUG='d'. Thanks to Sergei Golubchik for this suggestion. commit 2e67e66c3a5107c0df21b56f387a896cdd2ec4e4 Merge: 6da2adfaa20 f1627045701 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Feb 8 08:53:34 2017 +0200 Merge 10.0 into 10.1 commit 6da2adfaa203fd9f76a32fa314b3c14f11ecddc1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 7 13:54:46 2017 -0500 MDEV-12005: GET_LOCK: Fractional part of timeout is ignored In order to include the fractional part, convert lock_wait_timeout (in secs) to nanoseconds before calculating the absolute time for timeout. commit 5c7111cb7c9692b8762c9c66ccae4bf9afcdba35 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Feb 7 14:32:09 2017 +0200 Add suppression for page corruption caused by error injection. commit e53dfb24be73a204b4ee8efee6c07e1b13200052 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Feb 6 10:55:23 2017 +0200 MDEV-11707: Fix incorrect memset() for structures containing dynamic class GenericPolicy<TTASEventMutex<GenericPolicy> >'; vtable Instead using mem_heap_alloc and memset, use mem_heap_zalloc directly. commit ddf2fac73381b84114d31c178d9207afc27bfa4d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Feb 6 10:47:55 2017 +0200 MDEV-11759: Encryption code in MariaDB 10.1/10.2 causes compatibility problems Pages that are encrypted contain post encryption checksum on different location that normal checksum fields. Therefore, we should before decryption check this checksum to avoid unencrypting corrupted pages. After decryption we can use traditional checksum check to detect if page is corrupted or unencryption was done using incorrect key. Pages that are page compressed do not contain any checksum, here we need to fist unencrypt, decompress and finally use tradional checksum check to detect page corruption or that we used incorrect key in unencryption. buf0buf.cc: buf_page_is_corrupted() mofified so that compressed pages are skipped. buf0buf.h, buf_block_init(), buf_page_init_low(): removed unnecessary page_encrypted, page_compressed, stored_checksum, valculated_checksum fields from buf_page_t buf_page_get_gen(): use new buf_page_check_corrupt() function to detect corrupted pages. buf_page_check_corrupt(): If page was not yet decrypted check if post encryption checksum still matches. If page is not anymore encrypted, use buf_page_is_corrupted() traditional checksum method. If page is detected as corrupted and it is not encrypted we print corruption message to error log. If page is still encrypted or it was encrypted and now corrupted, we will print message that page is encrypted to error log. buf_page_io_complete(): use new buf_page_check_corrupt() function to detect corrupted pages. buf_page_decrypt_after_read(): Verify post encryption checksum before tring to decrypt. fil0crypt.cc: fil_encrypt_buf() verify post encryption checksum and ind fil_space_decrypt() return true if we really decrypted the page. fil_space_verify_crypt_checksum(): rewrite to use the method used when calculating post encryption checksum. We also check if post encryption checksum matches that traditional checksum check does not match. fil0fil.ic: Add missed page type encrypted and page compressed to fil_get_page_type_name() Note that this change does not yet fix innochecksum tool, that will be done in separate MDEV. Fix test failures caused by buf page corruption injection. commit bc4686f0f4d17dc57dd727c9f5390caa3022bdca Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 30 14:50:58 2017 -0500 Minor test improvement commit cd8482c19e325355006adc8fc5591998be46e288 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 30 14:49:44 2017 -0500 MDEV-11945: Fix description for "max_statement_time" in --help max_statement_time also applies to non-SELECT queries. commit aa9db4c162e9fa7560abb1bf8012233f30980e04 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jan 29 13:21:38 2017 -0500 MDEV-11817: Altering a table with more rows than .. .. wsrep_max_ws_rows causes cluster to break when running Galera cluster in TOI mode Problem: While copying records to temporary table during ALTER TABLE, if there are more than wsrep_max_wsrep_rows records, the command fails. Fix: Since, the temporary table records are not placed into the binary log, wsrep_affected_rows must not be incremented. Added a test. commit 17cc6198479d83bd4f88e9fff197b0b342dca5d9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jan 31 15:42:52 2017 +0200 MDEV-11671: Duplicated [NOTE] output for changed innodb_page_size Remove duplicated output and change output level to info. commit 41997d148dc1999c202f14e82e172c1ff57c7ead Author: Sachin Setiya <sachin.setiya@mariadb.com> Date: Fri Jan 27 11:15:45 2017 +0530 MDEV-10812 WSREP causes responses being sent to protocol commands that must not send a response Problem:- When using wsrep (w/ galera) and issuing commands that can cause deadlocks, deadlock exception errors are sent in responses to commands such as close prepared statement and close connection which, by spec, must not send a response. Solution:- In dispatch_command, we will handle COM_QUIT and COM_STMT_CLOSE commands even in case of error. Patch Credit:- Jaka Močnik commit bb1e8e43672ecf47e99970b5b96f65d101bae752 Author: Sachin Setiya <sachin.setiya@mariadb.com> Date: Tue Jan 31 10:02:37 2017 +0530 Mdev-4774- Fix tests cases commit 1ebfeceeb23d2446bf2eb617a88c74360fc22a32 Merge: f1f8ebc325d 4e82aaab2f6 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Jan 27 16:14:20 2017 +0200 Merge 10.0 into 10.1 (test-only changes) Adjust the 10.1 tests innodb.doublewrite and innodb.101_compatibility in the same way. commit f1f8ebc325d2b91991ee0de8488f482dc81bbf27 Merge: 6fbfb4c83c0 afb461587c0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 26 23:40:11 2017 +0200 Merge 10.0 into 10.1 commit 6fbfb4c83c01fef445185b473d4dc1e0cc78db0a Merge: 4113f1a7b77 ee3febae044 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 26 16:19:29 2017 +0200 Merge pull request #298 from iangilfillan/10.1 Minor typo commit ee3febae044e8258c1a33d5ef08ff4eb55c3d0f5 Author: iangilfillan <github@greenman.co.za> Date: Thu Jan 26 13:51:03 2017 +0200 Minor typo commit 4113f1a7b774014cbe92923564bce876a370a170 Merge: 86ca1357b06 9394bc06d83 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jan 26 02:57:12 2017 +0300 Merge branch 'grooverdan-10.1-MDEV-11866-ANALYZE-FORMAT=JSON-volatility-normalise' into 10.1 commit 9394bc06d832e6637afc9dba75f53f1ad7307bea Merge: 86ca1357b06 10b1f4dd093 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jan 26 02:56:49 2017 +0300 Merge branch '10.1-MDEV-11866-ANALYZE-FORMAT=JSON-volatility-normalise' of git://github.com/grooverdan/mariadb-server into grooverdan-10.1-MDEV-11866-ANALYZE-FORMAT=JSON-volatility-normalise commit 86ca1357b0637f76be4184b76cbe4b32080c10de Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Tue Jan 24 19:26:16 2017 +0530 Revert "MDEV-7409 On RBR, extend the PROCESSLIST info to include at least the name of the recently used table" This reverts commit 15f46d517435f3570e2c788349637a06d818a619. commit 15f46d517435f3570e2c788349637a06d818a619 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Mon Jan 23 22:27:42 2017 +0530 MDEV-7409 On RBR, extend the PROCESSLIST info to include at least the name of the recently used table When RBR is used, add the db name to db Field and table name to Status Field of the "SHOW FULL PROCESSLIST" command for SQL thread. commit 10b1f4dd093cb2b21aa9ed09dc453bc52d028b3d Author: Daniel Black <daniel.black@au.ibm.com> Date: Mon Jan 23 13:32:57 2017 +1100 MDEV-11866: ANALYZE FORMAT=JSON not predicatable for r_total_time_ms/r_buffer_size [0-9]*[.]?[0-9]* wasn't a sufficient regex to cover the %lg used in Json_writer::add_double. Exponent formats where missed. Here we normalize all the replace_regex expressions for ANALYZE FORMAT=JSON into one include file. Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit b7b4c332c0869676ef69276ddaef4ac4521cb04f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun Jan 22 08:44:04 2017 +0200 MDEV-11614: Syslog messages: "InnoDB: Log sequence number at the start 759654123 and the end 0 do not match." For page compressed and encrypted tables log sequence number at end is not stored, thus disable this message for them. commit 213fc700b64a38d64efceef2a2ef8de9748a8ce5 Author: Varun Gupta <varunraiko1803@gmail.com> Date: Sat Jan 21 00:56:33 2017 +0530 MDEV-10232: Scalar result of subquery changes after adding an outer select stmt In a subquery, we don't have to maintain order Added a fix such that order is considered when there is a limit clause. commit 8a4d605500ae487d3dc515305662769645bb092f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jan 19 12:20:54 2017 +0200 MDEV-11838: Innodb-encryption-algorithm default should be != none Change default to zlib, this has effect only if user has explicitly requested page compression and then user naturally expects that pages are really compressed if they can be compressed. commit dc557ca817f18e27ab46342865a510898f76822e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jan 19 08:19:08 2017 +0200 MDEV-11835: InnoDB: Failing assertion: free_slot != NULL on restarting server with encryption and read-only buf0buf.cc: Temporary slots used in encryption was calculated by read_threads * write_threads. However, in read-only mode write_threads is zero. Correct way is to calculate (read_threads + write_threads) * max pending IO requests. commit a14638581b4c8ef175e68dccff07967d819b3b7e Author: Daniel Bartholomew <db@dbart.us> Date: Wed Jan 18 08:39:18 2017 -0500 bump the VERSION commit f7d030489d2980c9deb733925515099ec256f6d2 Merge: f797ea7124e 6728aae3b34 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jan 17 20:17:35 2017 +0100 Merge branch '10.0' into 10.1 commit f797ea7124e906fd3abf311d66101a21dce2d27d Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 16 18:47:53 2017 +0100 MDEV-11601 Out-of-bounds string access in create_schema_table() in Item_partition_func_safe_string(THD *thd, const char *name_arg, uint length, CHARSET_INFO *cs= NULL), the 'name_arg' is the value of the string constant and 'length' is the length of this constant, so length == strlen(name_arg). commit ef8003eb9a23007ac5d606530dcdcc3ea2f0c039 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 16 18:23:02 2017 +0100 MDEV-11698 Old Bug possibly not fixed; BEFORE INSERT Trigger on NOT NULL check_that_all_fields_are_given_values() relied on write_set, but was run too early, before triggers updated write_set. also, when triggers are present, fields might get values conditionally, so we need to check that all fields are given values for every row. commit e79e840607adff6f2e55d4c889ae055d07bdabf5 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jan 17 14:09:38 2017 +0100 selinux fixes for 10.0->10.1 merge 1. don't put generated files into ${CMAKE_CURRENT_SOURCE_DIR} 2. policy file name must match the module name (Fedora 24 requirement) commit 736afe868094b9aa24211c3772fb3b297d62d8fc Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Jan 13 11:25:38 2017 +0100 mysql_install_db enhancements to facilitate Debian bug#848616 fix In Debian, the default install is made more secure by omitting the anonymous user and by making the root account authenticate by unix socket authentication instead of the default password-less root. However, Debian hard-codes this change in mysql_install_db, which breaks that program for other users. This commit instead implements new general options for mysql_install_db that can be used by anyone to similarly perform a more secure install: --skip-auth-anonymous-user: omits the anonymous user. --auth-root-authentication-method=normal: Keeps the existing behaviour with a password-less root account. Currently on by default. --auth-root-socket-user=USER --auth-root-authentication-method=socket: creates the MariaDB root user with the name USER (defaults to 'root') and using unix socket authentication. This way, only that user has MariaDB root access after install. The idea with --auth-root-authentication-method=normal is that applications that need this behaviour can give that option explicitly. Then eventually we could make --auth-root-authentication-method=socket the default, giving a more secure default installation. Note that it is perfectly possible to do a secure install with --auth-root-authentication-method=normal. For example, installing a private server just for local access by a single OS-level user, by using --skip-networking and putting the connection socket in a location without public access. So it is important to preserve this API for backwards compatibility. commit 719e81132d071ade354b887fe80cd2daabc045e7 Merge: 30a9ac4250e 3e589d4b8ed Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Jan 17 17:11:28 2017 +0100 Merge branch '10.0' into 10.1 commit 30a9ac4250e1b19754dd0ae43705108cc9de2ab0 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jan 17 15:32:41 2017 +0400 MDEV-10956 Strict Password Validation Breaks Replication. strict_password_validation variable now has no effect in the slave thread. commit 9fa0d2fe98c22038ecb59599076d87a0c7eebdff Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jan 17 10:42:41 2017 +0100 Replace bios.json CRLF by LF to avoid test failing on Linux. modified: storage/connect/mysql-test/connect/r/zip.result modified: storage/connect/mysql-test/connect/std_data/bios.json commit 3953c55978d43e3f9d28fe8c247ef8a0edc89d66 Merge: 1e192e901cc 03497129371 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jan 17 04:17:26 2017 +0200 Merge remote-tracking branch 'origin/10.1' into 10.1 commit 1e192e901ccf34454967cc3f62a71432c50f2c88 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jan 17 02:35:16 2017 +0200 Post merge review fixes * Remove duplicate lines from tests * Use thd instead of current_thd * Remove extra wsrep_binlog_format_names * Correctly merge union patch from 5.5 wrt duplicate rows. * Correctly merge SELinux changes into 10.1 commit d807e41511c92a1497f8550fdee6557eb856218a Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jan 17 00:37:20 2017 +0200 Post merge fix sysvars_innodb for xtradb commit 286819aef2312e7d8cc40cf50b9815f6f1af92bf Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 16 22:42:56 2017 +0100 Fix gcc errors and warnings. modified: storage/connect/filamzip.cpp Remove unused variables in connect_assisted_discovery modified: storage/connect/ha_connect.cc commit b1bd990e450105d9bf2bf4862f36b22cbe91aeb1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 16 18:57:35 2017 +0100 Add #include <fnmatch.h> #include <dirent.h> to avoid compile error on Linux. modified: storage/connect/filamzip.cpp commit c7446daeb6c512802d05cfdcf6b7e92a9ef94066 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 16 18:03:09 2017 +0100 Add #include <fnmatch.h> #include <stdlib.h> #include <stdio.h> #include <string.h> to avoid compile error on Linux. modified: storage/connect/filamzip.cpp commit 03497129371fe2c16d847b7e83a5eeecab9c34a2 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Jan 16 18:26:14 2017 +0200 MDEV-11623 follow-up: Adjust one more test. The function fsp_flags_try_adjust(), which is called on startup, is incrementing the Innodb_pages0_read counts for every affected file. Adjust the result of encryption.innodb_lotoftables accordingly. commit 0cb9369b3788b9c23b729f2fa3dea7ce206f4c8d Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 16 17:18:54 2017 +0100 Add #include <fnmatch.h> to avoid compile error on Linux. modified: storage/connect/filamzip.cpp Remove unused file deleted: storage/connect/JdbcInterface.jar commit 707cd98592fc13d40ee750097993a85fae93245c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 16 15:13:40 2017 +0100 Fix info cardinality for catalog tables. Was returning 0, which caused an assert error when retreiving records. modified: storage/connect/connect.cc modified: storage/connect/xtable.h Add the create and insert possibility to zipped tables modified: storage/connect/domdoc.cpp modified: storage/connect/domdoc.h modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/ha_connect.c modified: storage/connect/plgdbutl.cpp modified: storage/connect/plgxml.cpp modified: storage/connect/plgxml.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabfmt.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabxml.cpp modified: storage/connect/tabzip.cpp modified: storage/connect/tabzip.h Fix skipping header record for mulentries zipped CSV tabled modified: storage/connect/filamap.cpp Accept M (memo) column type for DBF tables Fix miscalculation of Blksize when LRECL was replaced by DBF LRECL modified: storage/connect/filamdbf.cpp Change the names of GZ compress classes (not to be confused with ZIP) modified: storage/connect/filamgz.cpp modified: storage/connect/filamgz.h add trace in PlugSetPath modified: storage/connect/plugutil.c Add tests fir ZIP added: storage/connect/mysql-test/connect/r/xml_zip.result added: storage/connect/mysql-test/connect/r/zip.result added: storage/connect/mysql-test/connect/std_data/bios.json added: storage/connect/mysql-test/connect/std_data/xsample2.xml added: storage/connect/mysql-test/connect/t/have_zip.inc added: storage/connect/mysql-test/connect/t/xml_zip.test added: storage/connect/mysql-test/connect/t/zip.test commit 6560e9c3a86383cb3af1333987abd39aae6af8b2 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jan 16 12:50:12 2017 +0200 MDEV-11711: ArmHF EXPLAIN JSON garbage longlong values printed Make sure printing with snprintf uses the correct typed parameters. commit eddbae422bd3430f684d5cd287ca522467040c34 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jan 16 12:49:22 2017 +0200 MDEV-11712: ArmHF EXPLAIN JSON garbage longlong values printed Make sure printing with snprintf uses the correct typed parameters. commit 7b44c31be8d45bbb7f903ed8d3e426516cfaecfb Merge: 5ac71d4464f 7e3f3deb41a Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jan 16 12:18:21 2017 +0200 Merge remote-tracking branch 'origin/10.1' into 10.1 Extra merge due to more extra commits during merge process commit 7e3f3deb41a875778a540718abd8f90278e4cb67 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Jan 16 09:15:56 2017 +0200 MDEV-11623 follow-up: Adjust tests. innodb.doublewrite: Similar to what was done to innodb.101_compatibility, add an explicit $_ parameter to the Perl unpack function. Also, fix some diagnostic messages in the Perl code. innodb.innodb-wl5522-debug: Adjust for the changed error codes and messages on fault injection. commit 5ac71d4464f556f26c81172cb0fef679389beda8 Merge: 8e15768731c 5fc1ba604e2 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jan 16 04:53:57 2017 +0200 Merge remote-tracking branch '10.0-galera' into 10.1 commit 8e15768731c52b6bbb29d7bfe27bdd71c025a3a3 Merge: ebb8c9fb26f 66744f4540c Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jan 16 03:18:14 2017 +0200 Merge branch '10.0' into 10.1 commit 3a91dec1243773627d08965e7e258571a7844deb Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Jan 16 02:36:31 2017 +0200 101_compatibility test fails on CentOS 5 Apparently, in older versions of Perl unpack does not have a logic for using $_ as a default value for the second argument. Fixed by specifying it explicitly commit 34c89d01d285f4e08de2bbb940e30cabffdf1548 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Jan 16 01:27:26 2017 +0200 Updated list of unstable tests for 10.1.21 commit ab1e6fefd869242d962cb91a006f37bb9ad534a7 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Sat Jan 14 00:13:16 2017 +0200 MDEV-11623 MariaDB 10.1 fails to start datadir created with MariaDB 10.0/MySQL 5.6 using innodb-page-size!=16K The storage format of FSP_SPACE_FLAGS was accidentally broken already in MariaDB 10.1.0. This fix is bringing the format in line with other MySQL and MariaDB release series. Please refer to the comments that were added to fsp0fsp.h for details. This is an INCOMPATIBLE CHANGE that affects users of page_compression and non-default innodb_page_size. Upgrading to this release will correct the flags in the data files. If you want to downgrade to earlier MariaDB 10.1.x, please refer to the test innodb.101_compatibility how to reset the FSP_SPACE_FLAGS in the files. NOTE: MariaDB 10.1.0 to 10.1.20 can misinterpret uncompressed data files with innodb_page_size=4k or 64k as compressed innodb_page_size=16k files, and then probably fail when trying to access the pages. See the comments in the function fsp_flags_convert_from_101() for detailed analysis. Move PAGE_COMPRESSION to FSP_SPACE_FLAGS bit position 16. In this way, compressed innodb_page_size=16k tablespaces will not be mistaken for uncompressed ones by MariaDB 10.1.0 to 10.1.20. Derive PAGE_COMPRESSION_LEVEL, ATOMIC_WRITES and DATA_DIR from the dict_table_t::flags when the table is available, in fil_space_for_table_exists_in_mem() or fil_open_single_table_tablespace(). During crash recovery, fil_load_single_table_tablespace() will use innodb_compression_level for the PAGE_COMPRESSION_LEVEL. FSP_FLAGS_MEM_MASK: A bitmap of the memory-only fil_space_t::flags that are not to be written to FSP_SPACE_FLAGS. Currently, these will include PAGE_COMPRESSION_LEVEL, ATOMIC_WRITES and DATA_DIR. Introduce the macro FSP_FLAGS_PAGE_SSIZE(). We only support one innodb_page_size for the whole instance. When creating a dummy tablespace for the redo log, use fil_space_t::flags=0. The flags are never written to the redo log files. Remove many FSP_FLAGS_SET_ macros. dict_tf_verify_flags(): Remove. This is basically only duplicating the logic of dict_tf_to_fsp_flags(), used in a debug assertion. fil_space_t::mark: Remove. This flag was not used for anything. fil_space_for_table_exists_in_mem(): Remove the unnecessary parameter mark_space, and add a parameter for table flags. Check that fil_space_t::flags match the table flags, and adjust the (memory-only) flags based on the table flags. fil_node_open_file(): Remove some redundant or unreachable conditions, do not use stderr for output, and avoid unnecessary server aborts. fil_user_tablespace_restore_page(): Convert the flags, so that the correct page_size will be used when restoring a page from the doublewrite buffer. fil_space_get_page_compressed(), fsp_flags_is_page_compressed(): Remove. It suffices to have fil_space_is_page_compressed(). FSP_FLAGS_WIDTH_DATA_DIR, FSP_FLAGS_WIDTH_PAGE_COMPRESSION_LEVEL, FSP_FLAGS_WIDTH_ATOMIC_WRITES: Remove, because these flags do not exist in the FSP_SPACE_FLAGS but only in memory. fsp_flags_try_adjust(): New function, to adjust the FSP_SPACE_FLAGS in page 0. Called by fil_open_single_table_tablespace(), fil_space_for_table_exists_in_mem(), innobase_start_or_create_for_mysql() except if --innodb-read-only is active. fsp_flags_is_valid(ulint): Reimplement from the scratch, with accurate comments. Do not display any details of detected inconsistencies, because the output could be confusing when dealing with MariaDB 10.1.x data files. fsp_flags_convert_from_101(ulint): Convert flags from buggy MariaDB 10.1.x format, or return ULINT_UNDEFINED if the flags cannot be in MariaDB 10.1.x format. fsp_flags_match(): Check the flags when probing files. Implemented based on fsp_flags_is_valid() and fsp_flags_convert_from_101(). dict_check_tablespaces_and_store_max_id(): Do not access the page after committing the mini-transaction. IMPORT TABLESPACE fixes: AbstractCallback::init(): Convert the flags. FetchIndexRootPages::operator(): Check that the tablespace flags match the table flags. Do not attempt to convert tablespace flags to table flags, because the conversion would necessarily be lossy. PageConverter::update_header(): Write back the correct flags. This takes care of the flags in IMPORT TABLESPACE. commit a9d00db15559749e54fd9d55cf0ff90f83604e17 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Sun Jan 15 14:20:16 2017 +0200 MDEV-11799 InnoDB can abort if the doublewrite buffer contains a bad and a good copy Clean up the InnoDB doublewrite buffer code. buf_dblwr_init_or_load_pages(): Do not add empty pages to the buffer. buf_dblwr_process(): Do consider changes to pages that are all zero. Do not abort when finding a corrupted copy of a page in the doublewrite buffer, because there could be multiple copies in the doublewrite buffer, and only one of them needs to be good. commit 9b99d9bebd32b0280e7c7514c7fe65531316ad98 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Sat Jan 14 17:52:33 2017 +0200 MDEV-8139: Disable a randomly failing test until the code is fixed. commit 5dfab33c4ec54082daf034da99c4a796410fe4f3 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 12 00:33:21 2017 +0100 MDEV-11551 Server crashes in Field::is_real_null sometimes table->s->stored_fields is less than table->s->null_fields commit 7e2f9d092dd1fb6b0fa1a8fdd5d1f3af68b56f45 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 12 01:01:56 2016 +0100 max_session_mem_used server variable commit ab3388c3c44caecbec9974f54a2f30dd06237eee Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 12 01:00:45 2016 +0100 bugfix: mutex order violation in embedded safe_mutex: Found wrong usage of mutex 'LOCK_thread_count' and 'LOCK_status' Mutex currently locked (in reverse order): LOCK_status sql/sql_class.h line 3873 LOCK_thread_count libmysqld/lib_sql.cc line 432 commit 1282eb694c9fb18cac6bace643b4ce275a6a5689 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 11 17:16:15 2016 +0100 cleanup: make malloc_size_cb_func always defined commit 5fc1ba604e27b7d9eaa2977ef5b0c180f6f62565 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 13 13:57:17 2017 -0500 Fix for post-merge build failure. commit ee8b5c305a2334d06fe999b2db441d0436f9f423 Merge: 11544334a27 4f533846780 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 13 13:53:59 2017 -0500 Merge tag 'mariadb-10.0.29' into 10.0-galera commit ebb8c9fb26f86cff8c0d81bd2415f415cef952bb Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jan 12 15:16:45 2017 +0400 MDEV-11030 Assertion `precision > 0' failed in decimal_bin_size Fixing Item::decimal_precision() to return at least one digit. This fixes the problem reported in MDEV. Also, fixing Item_func_signed::fix_length_and_dec() to reserve space for at least one digit (plus one character for an optional sign). This is needed to have CONVERT(expr,SIGNED) and CONVERT(expr,UNSIGNED) create correct string fields when they appear in string context, e.g.: CREATE TABLE t1 AS SELECT CONCAT(CONVERT('',SIGNED)); commit 2dc5d8bb7e087a340edb989c045070b808e0da57 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 12 12:33:46 2017 +0200 Improve an MDEV-9011 test of innodb_encrypt_log. Test crash recovery from an encrypted redo log with innodb_encrypt_log=0. Previously, we did a clean shutdown, so only the log checkpoint information would have been read from the redo log. With this change, we will be reading and applying encrypted redo log records. include/start_mysqld.inc: Observe $restart_parameters. encryption.innodb-log-encrypt: Remove some unnecessary statements, and instead of restarting the server and concurrently accessing the files while the server is running, kill the server, check the files, and finally start up the server. innodb.log_data_file_size: Use start_mysqld.inc with $restart_parameters. commit 4507f1e5d4fbfc2a638417683fc71d1768729cac Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 11 14:26:30 2017 +0200 Remove an excessive copyright message. commit 5b5bce81e6829677792fc1940691def8602f8dcd Merge: 5044dae239d 833fda8f1a0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 11 14:19:06 2017 +0200 Merge 10.0 into 10.1 commit 5044dae239d094582879792de7a762d3428223ce Merge: 4b05d60e62e 78e6fafcaa9 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Tue Jan 10 14:30:11 2017 +0200 Merge 10.0 into 10.1 commit 4b05d60e62ef6e21d5329a9667813df890034ff0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Jan 9 09:15:21 2017 +0200 Make encryption.innodb_lotoftables more robust. Perform a slow shutdown at the start of the test, and create all InnoDB tables with STATS_PERSISTENT=0, so that any I/O related to background tasks (change buffer merge, purge, persistent statistics) should be eliminated. commit 59ea6456c31e47dd0a2f65c28f6fb97d09f6ee7e Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Jan 9 09:12:32 2017 +0200 Minor cleanup of innodb.innodb-change-buffer-recovery This should be a non-functional change. I was unable to repeat MDEV-11626 innodb.innodb-change-buffer-recovery fails for xtradb and cannot determine the reason for the failure without having access to the files. The repeatability of MDEV-11626 should not be affected by these changes. commit 384f4d1e36cf2ba8791b15c83ac601b98f3270c0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Sat Jan 7 15:27:59 2017 +0200 Post-push fix for MDEV-11556: Make the debug variable UINT. Sometimes innodb_data_file_size_debug was reported as INT UNSIGNED instead of BIGINT UNSIGNED. Make it uint instead of ulong to get a more deterministic result. commit 8049d2e9d98388296c86854d1291aa69afc78f44 Merge: fb5ee7d6d04 f0c19b6a57b Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 5 20:32:15 2017 +0200 Merge 10.0 into 10.1 commit fb5ee7d6d043b01fabc59f09d70d532e843add60 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 5 19:01:14 2017 +0200 Plug a memory leak in buf_dblwr_process(). commit 758af98ff7c47cc1fb5debdc138312fa389d528f Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Jan 5 10:42:19 2017 +0200 Post-push fix for Part 1 of MDEV-8139 Fix scrubbing tests In the backport of Bug#24450908 UNDO LOG EXISTS AFTER SLOW SHUTDOWN from MySQL 5.7 to the MySQL 5.6 based MariaDB Server 10.1, we must use a mutex when HAVE_ATOMIC_BUILTINS is not defined. Also, correct a function comment. In MySQL 5.6 and MariaDB Server 10.1, also temporary InnoDB tables are redo-logged. commit ffb38c9771bc7248482dc6a3d2f26ca10fe09a9b Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 4 20:49:13 2017 +0200 MDEV-8139 Fix scrubbing tests encryption.innodb_scrub: Clean up. Make it also cover ROW_FORMAT=COMPRESSED, removing the need for encryption.innodb_scrub_compressed. Add a FIXME comment saying that we should create a secondary index, to demonstrate that also undo log pages get scrubbed. Currently that is not working! Also clean up encryption.innodb_scrub_background, but keep it disabled, because the background scrubbing does not work reliably. Fix both tests so that if something is not scrubbed, the test will be aborted, so that the data files will be preserved. Allow the tests to run on Windows as well. commit 719321e78e69249e796a907c17400dac14ef0921 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 4 18:43:32 2017 +0200 MDEV-11638 Encryption causes race conditions in InnoDB shutdown InnoDB shutdown failed to properly take fil_crypt_thread() into account. The encryption threads were signalled to shut down together with other non-critical tasks. This could be much too early in case of slow shutdown, which could need minutes to complete the purge. Furthermore, InnoDB failed to wait for the fil_crypt_thread() to actually exit before proceeding to the final steps of shutdown, causing the race conditions. Furthermore, the log_scrub_thread() was shut down way too early. Also it should remain until the SRV_SHUTDOWN_FLUSH_PHASE. fil_crypt_threads_end(): Remove. This would cause the threads to be terminated way too early. srv_buf_dump_thread_active, srv_dict_stats_thread_active, lock_sys->timeout_thread_active, log_scrub_thread_active, srv_monitor_active, srv_error_monitor_active: Remove a race condition between startup and shutdown, by setting these in the startup thread that creates threads, not in each created thread. In this way, once the flag is cleared, it will remain cleared during shutdown. srv_n_fil_crypt_threads_started, fil_crypt_threads_event: Declare in global rather than static scope. log_scrub_event, srv_log_scrub_thread_active, log_scrub_thread(): Declare in static rather than global scope. Let these be created by log_init() and freed by log_shutdown(). rotate_thread_t::should_shutdown(): Do not shut down before the SRV_SHUTDOWN_FLUSH_PHASE. srv_any_background_threads_are_active(): Remove. These checks now exist in logs_empty_and_mark_files_at_shutdown(). logs_empty_and_mark_files_at_shutdown(): Shut down the threads in the proper order. Keep fil_crypt_thread() and log_scrub_thread() alive until SRV_SHUTDOWN_FLUSH_PHASE, and check that they actually terminate. commit 0f8e17af92cd0126aadf283e25edcd64872b2ea3 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 4 18:16:37 2017 +0200 Part 1 of MDEV-8139 Fix scrubbing tests Port a bug fix from MySQL 5.7, so that all undo log pages will be freed during a slow shutdown. We cannot scrub pages that are left allocated. commit 173e171c6fb55f064eea278c76fbb28e2b1c757b Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com> Date: Fri Sep 9 18:01:27 2016 +0530 Bug #24450908 UNDO LOG EXISTS AFTER SLOW SHUTDOWN Problem: ======== 1) cached undo segment is not removed from rollback segment history (RSEG_HISTORY) during slow shutdown. In other words, If the segment is not completely free, we are failing to remove an entry from the history list. While starting the server, we traverse all rollback segment slots history list and make it as list of undo logs to be purged in purge queue. In that case, purge queue will never be empty after slow shutdown. 2) Freeing of undo log segment is linked with removing undo log header from history. Fix: ==== 1) Have separate logic of removing the undo log header from history list from rollback segment slots and remove it from rollback segment history even though it is not completely free. Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com> Reviewed-by: Marko Mäkelä <marko.makela@oracle.com> RB:13672 commit 0c1de94db669ef494bdbbec0bbdc51f6df73668d Merge: ba8198a34cf 80d5d1452a4 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Jan 4 13:56:11 2017 +0200 Merge 10.0 into 10.1 commit ba8198a34cf651cce8a1f59f61ba7f31dbe41579 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Tue Jan 3 15:44:44 2017 +0200 Post-fix for MDEV-11688 fil_crypt_threads_end() tries to create threads fil_crypt_threads_cleanup(): Do nothing if nothing was initialized. commit fc779252aec56e01c5924d80378cafc8b6ec80b5 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Tue Jan 3 13:18:47 2017 +0200 MDEV-11688 fil_crypt_threads_end() tries to create threads after aborted InnoDB startup This bug was repeatable by starting MariaDB 10.2 with an invalid option, such as --innodb-flush-method=foo. It is not repeatable in MariaDB 10.1 in the same way, but the problem exists already there. commit b4616c40be00c5c8a2a73d537d676d8ddb7c84cf Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Tue Jan 3 10:45:55 2017 +0530 MDEV-7955 WSREP() appears on radar in OLTP RO This commit is for optimizing WSREP(thd) macro. #define WSREP(thd) \ (WSREP_ON && wsrep && (thd && thd->variables.wsrep_on)) In this we can safely remove wsrep and thd. We are not removing WSREP_ON because this will change WSREP(thd) behaviour. Patch Credit:- Nirbhay Choubay, Sergey Vojtovich commit d9a1a201aae87a655cdf3e5a344b2265912a94a7 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Tue Jan 3 10:10:58 2017 +0530 MDEV-11016 wsrep_node_is_ready() check is too strict Problem:- The condition that checks for node readiness is too strict as it does not allow SELECTs even if these selects do not access any tables. For example,if we run SELECT 1; OR SELECT @@max_allowed_packet; Solution:- We need not to report this error when all_tables(lex->query_tables) is NULL: commit 2f5670dc269ce19f14132d54e54060c91cc028e3 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Tue Dec 27 14:13:32 2016 +0530 MDEV-11636 Extra persistent columns on slave always gets NULL in RBR Problem:- In replication if slave has extra persistent column then these column are not computed while applying write-set from master. Solution:- While applying row events from server, we will generate values for extra persistent columns. commit 8451e09073e8b1a300f177d74a9e3a530776640a Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Dec 28 12:05:43 2016 +0200 MDEV-11556 InnoDB redo log apply fails to adjust data file sizes fil_space_t::recv_size: New member: recovered tablespace size in pages; 0 if no size change was read from the redo log, or if the size change was implemented. fil_space_set_recv_size(): New function for setting space->recv_size. innodb_data_file_size_debug: A debug parameter for setting the system tablespace size in recovery even when the redo log does not contain any size changes. It is hard to write a small test case that would cause the system tablespace to be extended at the critical moment. recv_parse_log_rec(): Note those tablespaces whose size is being changed by the redo log, by invoking fil_space_set_recv_size(). innobase_init(): Correct an error message, and do not require a larger innodb_buffer_pool_size when starting up with a smaller innodb_page_size. innobase_start_or_create_for_mysql(): Allow startup with any initial size of the ibdata1 file if the autoextend attribute is set. Require the minimum size of fixed-size system tablespaces to be 640 pages, not 10 megabytes. Implement innodb_data_file_size_debug. open_or_create_data_files(): Round the system tablespace size down to pages, not to full megabytes, (Our test truncates the system tablespace to more than 800 pages with innodb_page_size=4k. InnoDB should not imagine that it was truncated to 768 pages and then overwrite good pages in the tablespace.) fil_flush_low(): Refactored from fil_flush(). fil_space_extend_must_retry(): Refactored from fil_extend_space_to_desired_size(). fil_mutex_enter_and_prepare_for_io(): Extend the tablespace if fil_space_set_recv_size() was called. The test case has been successfully run with all the innodb_page_size values 4k, 8k, 16k, 32k, 64k. commit f493e395b0a6679b55d9859f372f6ccd4475f12d Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Dec 29 15:03:12 2016 +0200 Make the test work with any innodb_page_size. commit 23cc1be270c7304963643947d8e5ab88f4e312ee Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Dec 21 20:11:14 2016 +0100 MDEV-11584: GRANT inside an SP does not work well on 2nd execution Allocate password hash in statment memory commit 283e9cf4cbb34e1325699707068ab72ec3accfff Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Dec 28 16:14:28 2016 +0200 MDEV-11656: 'Data structure corruption' IMPORT TABLESPACE doesn't work for encrypted InnoDB tables if space_id changed Problem was that for encryption we use temporary scratch area for reading and writing tablespace pages. But if page was not really decrypted the correct updated page was not moved to scratch area that was then written. This can happen e.g. for page 0 as it is newer encrypted even if encryption is enabled and as we write the contents of old page 0 to tablespace it contained naturally incorrect space_id that is then later noted and error message was written. Updated page with correct space_id was lost. If tablespace is encrypted we use additional temporary scratch area where pages are read for decrypting readptr == crypt_io_buffer != io_buffer. Destination for decryption is a buffer pool block block->frame == dst == io_buffer that is updated. Pages that did not require decryption even when tablespace is marked as encrypted are not copied instead block->frame is set to src == readptr. If tablespace was encrypted we copy updated page to writeptr != io_buffer. This fixes above bug. For encryption we again use temporary scratch area writeptr != io_buffer == dst that is then written to the tablespace (1) For normal tables src == dst == writeptr ut_ad(!encrypted && !page_compressed ? src == dst && dst == writeptr + (i * size):1); (2) For page compressed tables src == dst == writeptr ut_ad(page_compressed && !encrypted ? src == dst && dst == writeptr + (i * size):1); (3) For encrypted tables src != dst != writeptr ut_ad(encrypted ? src != dst && dst != writeptr + (i * size):1); commit d50cf42bc05b1faa5d39c766389ac345e119037e Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Wed Dec 28 15:54:24 2016 +0200 MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so Replace all exit() calls in InnoDB with abort() [possibly via ut_a()]. Calling exit() in a multi-threaded program is problematic also for the reason that other threads could see corrupted data structures while some data structures are being cleaned up by atexit() handlers or similar. In the long term, all these calls should be replaced with something that returns an error all the way up the call stack. commit 11544334a277508fb984c0a5bba8faa6b97a2762 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Tue Dec 27 14:13:32 2016 +0530 MDEV-11636 Extra persistent columns on slave always gets NULL in RBR Problem:- In replication if slave has extra persistent column then these column are not computed while applying write-set from master. Solution:- While applying row events from server, we will generate values for extra persistent columns. commit dc9f5dfcbb8efbc7c1f178313f945981b01d229b Author: Elena Stepanova <elenst@montyprogram.com> Date: Tue Dec 27 20:41:32 2016 +0200 Replication tests fail on valgrind due to waiting-related timeouts MTR raises default wait_for_pos_timeout from 300 to 1500 when tests are run with valgrind. The same needs to be done for other replication-related waits commit df21d45fddcde1f1b00d00a17024d5d7e5d19b5d Merge: 00e0acd8142 545c9126963 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Dec 24 17:48:21 2016 +0100 Merge branch '10.1' of https://github.com/MariaDB/server into ob-10.1 commit 00e0acd8142318825416af94459e516e84414680 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Dec 24 17:48:10 2016 +0100 Changing version number in ha_connect.cc commit 5c0c623577c7d1fe183bb8903d26eaf52a89b88b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Dec 23 14:23:46 2016 +0100 Fix some XML table type bugs: - in DOMNODELIST::DropItem if (Listp == NULL || Listp->length <= n) return true; is wrong, should be: if (Listp == NULL || Listp->length < n) return true; - Crash in discovery with libxml2 in XMLColumns because: if (!tdp->Usedom) // nl was destroyed vp->nl = vp->pn->GetChildElements(g); is executed with vp->pn uninitialized. Fixed by adding: vp->pn = node; line 264. -In discovery with libxml2 some columns are not found. Because list was not recovered properly, nodes being modified and not reallocated. Fixed lines 214 and 277. modified: storage/connect/domdoc.cpp modified: storage/connect/tabxml.cpp Add support for zipped table files modified: storage/connect/domdoc.cpp modified: storage/connect/domdoc.h modified: storage/connect/filamap.cpp modified: storage/connect/filamap.h modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/ha_connect.cc modified: storage/connect/libdoc.cpp modified: storage/connect/plgdbutl.cpp modified: storage/connect/plgxml.cpp modified: storage/connect/plgxml.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabxml.cpp commit 545c9126963b26a093d5c8b6225cc52e360892e0 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Dec 22 12:03:36 2016 +0200 Remove an unnecessary comparison. commit 7e02fd1f710e39e3cfccc507f24ceacee76b9439 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Dec 22 14:20:47 2016 +0200 MDEV-11630 Call mutex_free() before freeing the mutex list Make some global fil_crypt_ variables static. fil_close(): Call mutex_free(&fil_system->mutex) also in InnoDB, not only in XtraDB. In InnoDB, sync_close() was called before fil_close(). innobase_shutdown_for_mysql(): Call fil_close() before sync_close(), similar to XtraDB shutdown. fil_space_crypt_cleanup(): Call mutex_free() to pair with fil_space_crypt_init(). fil_crypt_threads_cleanup(): Call mutex_free() to pair with fil_crypt_threads_init(). commit 55eb7120a04e23519ff495e7b5be0086f842b78c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Dec 22 14:02:51 2016 +0200 MDEV-11218: encryption.innodb_encryption_discard_import failed in buildbot Try to stabilize test cases. These test behave badly when run in certain order. commit c51c885dee098b09b9eeaef16813dffac95ef994 Author: Monty <monty@mariadb.org> Date: Wed Dec 21 22:41:07 2016 +0200 Fixed compiler warning commit c33c638f39eb626ca7e77cbdd38eef6aee53f25e Author: Monty <monty@mariadb.org> Date: Wed Dec 21 22:40:52 2016 +0200 MDEV-7558 analyze_stmt_slow_query_log fails sporadically in buildbot The reason was that the test was reusing the same log file without deleting it between tests. Fixed by creating a new log file as part of the test commit 9e032d6150b39cf36a22e7c1503e06fae9c4016d Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 21 09:34:37 2016 +0530 MDEV-11490 Galera_3nodes test suite does not suppress Warnings. Problem:- While running individual tests of Galera_3nodes , We get warnings like '[Warning] WSREP: Could not open state file for reading: '. And because of this individual tests fails. Solution:- We change suite.pm of Galera_3nodes to supress these warnings. commit be430b80df0cdd4eba32df1570195721dbfd1b39 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 21 09:34:37 2016 +0530 MDEV-11490 Galera_3nodes test suite does not suppress Warnings. Problem:- While running individual tests of Galera_3nodes , We get warnings like '[Warning] WSREP: Could not open state file for reading: '. And because of this individual tests fails. Solution:- We change suite.pm of Galera_3nodes to supress these warnings. commit 75ab65aecee1db8ea402a834935f433021992cb3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 20 15:31:02 2016 -0500 Fix failing galera tests. commit 195241e125f58c9cfcb0fd28f5f2bf78e97fe7d9 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Tue Dec 20 15:03:56 2016 +0200 Port the test innodb.doublewrite from MySQL 5.7. commit 44da95e5edf6a86846d2ea98247b8cb332ed44fa Merge: 8e198336c20 9f863a15b03 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Dec 19 17:15:25 2016 +0200 Merge branch '10.0' into 10.1 commit 8e198336c20a1bbce561dcdd8080dafcfe130233 Author: Daniel Bartholomew <db@dbart.us> Date: Thu Dec 15 10:34:41 2016 -0500 bump the VERSION commit c13b5011629b5ff7b969d648265002e4d1ba94c2 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Dec 14 19:20:17 2016 +0000 Fix broken cmake -DBUILD_CONFIG=mysql_release on Windows. mysql_release.cmake set WITH_JEMALLOC=static, which makes windows builds fail since there is no jemalloc either static or shared there commit d93bbcad369c723c4ddf81a528576c9872d26d44 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 14 20:13:36 2016 +0530 MDEV-11479 Improved wsrep_dirty_reads Updated sysvars_wsrep.result file. commit b3d2ac3492c50ffab716e626d745727162a28343 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Dec 14 14:37:31 2016 +0100 - MDEV-11295: developing handling files contained in ZIP file. Fix bug using multiple zip files modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp - Add error msg when trying to make discovery on multiple tables modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabxml.cpp commit 8a3fc7c041f3270fb6fde85d19e58b1b7c29581a Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Dec 14 11:11:22 2016 +0100 - MDEV-11295: developing handling files contained in ZIP file. Enable using multiple zip files modified: storage/connect/filamzip.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/mycat.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp commit 4c1e181ac5eac55c67705ffe29b48a5d832211be Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 14 15:22:04 2016 +0530 MDEV-11479 Improved wsrep_dirty_reads Tasks:- Changes in wsrep_dirty_reads variable 1.) Global + Session scope (Current: session-only) 2.) Can be set using command line. 3.) Allow all commands that do not change data (besides SELECT) 4.) Allow prepared Statements that do not change data 5.) Works with wsrep_sync_wait enabled commit ffdd1e9d888edc4e147c3b316a87468b000f8dd4 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 14 13:57:05 2016 +0530 Revert "MDEV-11016 wsrep_node_is_ready() check is too strict" This reverts commit 52ea5ad865b4f6b4b37176296a3be0a716c5109a. # Conflicts: # mysql-test/suite/galera/r/galera_var_dirty_reads.result # mysql-test/suite/galera/t/galera_var_dirty_reads.test # sql/sql_parse.cc commit f41bd7e54512d4e283ba909b4c3a700382cf1147 Author: Varun Gupta <varunraiko1803@gmail.com> Date: Tue Dec 13 05:07:02 2016 +0530 MDEV-11060 sql/protocol.cc:532: void Protocol::end_statement(): Assertion `0' failed In file sql/opt_range.cc,when calculate_cond_selectivity_for_table() is called with optimizer_use_condition_selectivity=4 then - thd->no_errors is set to 1 - the original value of thd->no_error is not restored to its original value - this is causing the assertion to fail in the subsequent queries Fixed by restoring the original value of thd->no_errors commit 0c79de2419194f850e92de6ffa48d2e92055ee50 Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 14 09:30:43 2016 +0530 MDEV-11479 Improved wsrep_dirty_reads Tasks:- Changes in wsrep_dirty_reads variable 1.) Global + Session scope (Current: session-only) 2.) Can be set using command line. 3.) Allow all commands that do not change data (besides SELECT) 4.) Allow prepared Statements that do not change data 5.) Works with wsrep_sync_wait enabled commit 25a9a3da346b6d763cf77ce82b82c65f4b1769cb Author: Sachin Setiya <sachinsetia1001@gmail.com> Date: Wed Dec 14 08:39:36 2016 +0530 Revert "MDEV-11016 wsrep_node_is_ready() check is too strict" This reverts commit 7ed5563bbee301bf8217080dc78ea6a3e78e23a8. commit 72cc73cea2e7071277b6a88bae0236cabf11788a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Dec 13 11:51:33 2016 +0200 MDEV-10368: get_latest_version() called too often Reduce the number of calls to encryption_get_key_get_latest_version when doing key rotation with two different methods: (1) We need to fetch key information when tablespace not yet have a encryption information, invalid keys are handled now differently (see below). There was extra call to detect if key_id is not found on key rotation. (2) If key_id is not found from encryption plugin, do not try fetching new key_version for it as it will fail anyway. We store return value from encryption_get_key_get_latest_version call and if it returns ENCRYPTION_KEY_VERSION_INVALID there is no need to call it again. commit 67b570af506a42f14a8ae30603d52ca9de68cce5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 5 20:58:49 2016 -0500 MDEV-10545: Server crashed in my_copy_fix_mb on querying I_S and P_S tables After applying/replaying the transaction, the memory that stored the query string was also wrongly freed. commit 9c88a54c1064ebdcf461e6c524a36ce5cc9370bd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 5 20:07:30 2016 -0500 MDEV-11179: WSREP transaction excceded size limit in Galera cluster ... causes MariaDB to crash On error, the wsrep replication buffer (binlog) is dumped to a file to aid investigations. In order to also include the binlog header, FDLE object is also needed. This object is only available for wsrep- threads. Fix: Instantiate an FDLE object for non-wsrep threads. commit dbb06d2eaba63df0eae921da8a971c664ca18010 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 21 19:44:48 2016 -0500 MDEV-10954: MariaDB Galera: wsrep_sst_common: line 120: which: command not found Add 'which' to REQUIRES list. commit 0e06a8357b4f78e9fb23e75cda2af57e18ed764e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Dec 12 00:49:31 2016 +0100 - MDEV-11295: developing handling files contained in ZIP file. A first experimental and limited implementation. Add NOCRYPT preprocessor definition to avoid compiling error modified: storage/connect/CMakeLists.txt commit 5d9ca52219e4a4c92fc4a80ffc09b5075b1e5616 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Dec 12 00:59:40 2016 +0200 Updated the list of unstable tests after the merge commit 9afa90090a4e33bd6b9f83c35c9b1161401589f1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Dec 11 23:47:15 2016 +0100 - MDEV-11295: developing handling files contained in ZIP file. A first experimental and limited implementation. modified: storage/connect/CMakeLists.txt modified: storage/connect/filamap.cpp new file: storage/connect/filamzip.cpp new file: storage/connect/filamzip.h modified: storage/connect/ha_connect.cc new file: storage/connect/ioapi.c new file: storage/connect/ioapi.h modified: storage/connect/mycat.cc modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfmt.cpp modified: storage/connect/tabfmt.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h new file: storage/connect/tabzip.cpp new file: storage/connect/tabzip.h new file: storage/connect/unzip.c new file: storage/connect/unzip.h new file: storage/connect/zip.c commit 2f20d297f8ea731d845bb220e680ad10c7a927bc Merge: a629b5172e9 eb4f2e063c3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 11 09:53:42 2016 +0100 Merge branch '10.0' into 10.1 commit a629b5172e96c96c414fca70fffd64c80f2f7e8f Author: Elena Stepanova <elenst@montyprogram.com> Date: Sat Dec 10 23:04:41 2016 +0200 Updated the list of unstable tests commit e156ea1b9517dd155f68f8d683704ecf5370346a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 9 12:15:41 2016 -0500 Fix failing tests. commit 83f7151da5259fa07ab2c26600009d53adef50f3 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Fri Dec 9 17:13:43 2016 +0400 MDEV-10435 crash with bad stat tables. Functions from sql/statistics.cc don't seem to expect stat tables to fail or to have inadequate structure. Table open errors suppressed and some validity checks added. Invalid tables reported to the server log. commit 870d7589c6c4596b0f1a641add5071469e2c94a7 Author: Elena Stepanova <elenst@montyprogram.com> Date: Thu Dec 8 20:49:54 2016 +0200 MDEV-11491 binlog_encryption.rpl_checksum fails sporadically in buildbot The race condition happened if mark_xid_done was considerably delayed, and an extra Binlog_checkpoint event was written into the binary log which was later indicated in an error message. Fixed by ensuring that the event is written before the binary log is rotated to the one which is used in the output. commit 8e702bce66a2fb9ed911800f87e75509ae963e8c Author: Elena Stepanova <elenst@montyprogram.com> Date: Thu Dec 8 17:05:01 2016 +0200 MDEV-11504 binlog_encryption.encrypted_master_switch_to_unencrypted fails sporadically in buildbot The reason is a simple race condition. Initially the test was meant to synchronize with master before showing tables, but it turned out that the slave IO thread should fail by this point, and synchronization was removed along with a server bugfix. Now added an intermediate sync instead, to make sure that slave has replicated events before the point of failure commit e1e1fbc501aa61ce48a35583a29582ba8e57c2c3 Merge: 2114aa4ac56 63edd271673 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Dec 7 14:05:04 2016 +0400 Merge pull request #272 from iangilfillan/10.1 Update mysqld_multi man page commit 63edd271673dbd0e6b0d3fffc13f0ab63d5e0631 Author: iangilfillan <github@greenman.co.za> Date: Wed Dec 7 11:58:40 2016 +0200 Update mysqld_multi man page commit 2114aa4ac56b2819b8aa782125a514144e3c0852 Merge: 74d52ded721 d036be7218f Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Dec 7 13:37:16 2016 +0400 Merge pull request #270 from JRonak/MDEV-11354 fixes MDEV-11354 twin include commit 74d52ded721d8d39bfb25d18a0b0b8ea8a7af884 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 5 22:29:25 2016 +0100 fix binlog_encryption.binlog_incident test commit 76546a099c24a06ad89238f61435051a4663b112 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 5 15:51:24 2016 +0100 MDEV-10382 Using systemd, mariadb doesn't restart on crashes when crashing on a signal, don't exit(), but re-signal it, so that the caller could check WIFSIGNALED() commit 5142cd55f492a2c9a2e308e168c86278765f95c3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 4 21:19:32 2016 +0100 MDEV-11052 mariadb-service-convert does not work after upgrading to 10.1.18 mysqld_safe: don't close stdout and stderr if --dry-run commit b5aa0f437fc595d508b9eb5d36185fd8cbaa62eb Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Dec 3 20:34:50 2016 +0100 MDEV-11319 mysqlbinlog crashes or fails with out of memory while reading some encrypted binlogs support encrypted binlogs. Not decryption, but at least recognizing that event are encrypted and prining them as such commit 952856c810c7a44678960a455062531279ddf113 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Dec 3 20:26:42 2016 +0100 MDEV-11288 Server crashes in Binlog_crypt_data::init trying to feed encrypted log without decryption capabilities commit 55b4579633ec81481823b3dfaa45674db6416a50 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 5 16:28:29 2016 -0500 Fix build failure. commit d036be7218fd9fb8b2233a121281a849bb53d4c0 Author: Ronak Jain <ronakjain@outlook.in> Date: Tue Dec 6 02:29:52 2016 +0530 fixes MDEV-11354 twin include commit 611f91605adce17df87acf96b5aede0b73d0fc12 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Dec 5 20:19:01 2016 +0200 MDEV-9038 Binlog encryption tests - created binlog_encryption test suite and added it to the default list - moved some tests from rpl, binlog and multisource suites to extra so that they could be re-used in different suites - made minor changes in include files commit 9199d727598d60e2e56cebaadb74f4fb042cbcd4 Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Mon Dec 5 15:25:59 2016 +0200 MDEV-11233 CREATE FULLTEXT INDEX with a token longer than 127 bytes crashes server This bug is the result of merging the Oracle MySQL follow-up fix BUG#22963169 MYSQL CRASHES ON CREATE FULLTEXT INDEX without merging the base bug fix: Bug#79475 Insert a token of 84 4-bytes chars into fts index causes server crash. Unlike the above mentioned fixes in MySQL, our fix will not change the storage format of fulltext indexes in InnoDB or XtraDB when a character encoding with mbmaxlen=2 or mbmaxlen=3 and the length of a word is between 128 and 84*mbmaxlen bytes. The Oracle fix would allocate 2 length bytes for these cases. Compatibility with other MySQL and MariaDB releases is ensured by persisting the used maximum length in the SYS_COLUMNS table in the InnoDB data dictionary. This fix also removes some unnecessary strcmp() calls when checking for the legacy default collation my_charset_latin1 (my_charset_latin1.name=="latin1_swedish_ci"). fts_create_one_index_table(): Store the actual length in bytes. This metadata will be written to the SYS_COLUMNS table. fts_zip_initialize(): Initialize only the first byte of the buffer. Actually the code should not even care about this first byte, because the length is set as 0. FTX_MAX_WORD_LEN: Define as HA_FT_MAXCHARLEN * 4 aka 336 bytes, not as 254 bytes. row_merge_create_fts_sort_index(): Set the actual maximum length of the column in bytes, similar to fts_create_one_index_table(). row_merge_fts_doc_tokenize(): Remove the redundant parameter word_dtype. Use the actual maximum length of the column. Calculate the extra_size in the same way as row_merge_buf_encode() does. commit ead6d0de0280b2e2f5b3f4daedc82d3750a41740 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Dec 5 03:13:28 2016 +0200 Follow-up for MDEV-9451 - fix XtraDB rdiff files commit b0754ad45e6a7e23b352099ebfe01e4f35cfad79 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Dec 5 03:11:42 2016 +0200 Follow-up for MDEV-11429 - fix result files for embedded and 32-bit tests commit f1b80d8ef11a8949fcc1c035f5ef0d5fb4382d0a Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Dec 2 16:25:47 2016 +0200 MDEV-11236 Failing assertion: state == TRX_STATE_NOT_STARTED trx_state_eq(): Add the parameter bool relaxed=false, to allow trx->state==TRX_STATE_NOT_STARTED where a different state is expected, if an error has been reported. trx_release_savepoint_for_mysql(): Pass relaxed=true to trx_state_eq(). That is, allow the transaction to be idle when ROLLBACK TO SAVEPOINT is attempted after an error has been reported to the client. commit 1e7f961d008762946cde5f9473fd418d5950551f Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Thu Dec 1 14:56:09 2016 +0200 MDEV-9451 innodb_buffer_pool_populate does not seem to work on 10.1.10 Instead of interpreting --innodb-buffer-pool-populate as --innodb-numa-interleave, display warning when the option is set, saying that the option will be removed in MariaDB 10.2.3. commit 97b21a195354e1f00353a2810e18f0c38fc039cb Author: Monty <monty@mariadb.org> Date: Fri Dec 2 14:02:30 2016 +0200 MDEV-10759 Fix Aria to support 2-byte collation IDs - Used same fix as for MyISAM: High level collation byte stored in unused bit_end position. - Moved language from header to base_info - Removed unused bit_end part in HA_KEY_SEG commit 2996f9aa883d28be3e3156f8cbd4d34ce6797e3c Author: Monty <monty@mariadb.org> Date: Wed Nov 30 18:36:29 2016 +0200 MDEV-11429 Increase number of max table_open_cache instances Increase max number of possible table_open_cache instances from 512K to 1024K. This only affects user who are trying to set the variable over the old limit. Delete not used test table_open_cache_instances_basic (Need to be added back and rewritten in 10.2) commit c6a72d2c9ca3cd684feec97c4d229287e93ec756 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Dec 2 11:29:14 2016 +0100 - MDEV-11366 SIGBUS errors in Connect Storage Engine for ArmHF and MIPS. Fix includes launchpad fix plus more to cover writing BIN tables. modified: storage/connect/tabfix.cpp modified: storage/connect/value.cpp modified: storage/connect/value.h - Typo: Change the name of filamzip to filamgz to prepare future ZIP tables. modified: storage/connect/CMakeLists.txt added: storage/connect/filamgz.cpp added: storage/connect/filamgz.h deleted: storage/connect/filamzip.cpp deleted: storage/connect/filamzip.h modified: storage/connect/plgdbsem.h modified: storage/connect/reldef.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfix.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabjson.cpp commit 2fd3af44830e8df9d60f2e8a955f9ed17e744986 Author: sensssz <hjmsens@gmail.com> Date: Thu Dec 1 13:45:23 2016 -0500 MDEV-11168: InnoDB: Failing assertion: !other_lock || wsrep_thd_is_BF(lock->trx->mysql_thd, FALSE) || wsrep_thd_is_BF(other_lock->trx->mysql_thd, FALSE) Merged pull request: Fix error in lock_has_higher_priority #266 https://github.com/MariaDB/server/pull/266 Added test case. commit 52ea5ad865b4f6b4b37176296a3be0a716c5109a Author: SachinSetiya <sachinsetia1001@gmail.com> Date: Thu Dec 1 11:24:04 2016 +0530 MDEV-11016 wsrep_node_is_ready() check is too strict Problem:- The condition that checks for node readiness is too strict as it does not allow SELECTs even if these selects do not access any tables. For example,if we run SELECT 1; OR SELECT @@max_allowed_packet; Solution:- We need not to report this error when all_tables(lex->query_tables) is NULL: commit dbdef41a59ced64e21cd6c9059ce85496662212b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Nov 29 08:41:45 2016 +0200 MDEV-10686: innodb_zip.innodb_prefix_index_liftedlimit failed with timeout in buildbot Test moved to big_test and not run with valgrind because of timeout. commit 9f31949b6460e7bd27daa8cbcaeb0343836e5352 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Nov 29 08:35:51 2016 +0200 MDEV-10739: encryption.innodb-page_encryption_compression fails with timeout on valgrind Test moved to big_test and not run on valgrind. Test heavy especially on debug builds. commit e493c6bb432a4b83277e22c236a39b82a4859356 Merge: a68d1352b60 3bec0b327c7 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Nov 28 09:57:28 2016 +0100 Merge remote-tracking branch 'my/tokudb_optimistic_parallel_replication' into 10.1 commit c82462c054ff01f62609db99ed07e584fcae87c0 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 27 14:35:01 2016 +0100 - Fix null pointer java error when connecting to jdbc:drill driver. By setting the context class loader. modified: storage/connect/JavaWrappers.jar modified: storage/connect/JdbcInterface.java modified: storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar commit c2f93a3354b664e7d54dc96b5d94bfc2d6cd8256 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 27 14:22:04 2016 +0100 - Fix null pointer java error when connecting to jdbc:drill driver. By setting the context class loader. modified: storage/connect/JavaWrappers.jar modified: storage/connect/JdbcInterface.java commit a68d1352b60bfc3a424fd290a4f5a1beae1bb71e Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Nov 25 06:28:02 2016 +0200 MDEV-11349 (2/2) Fix some bogus-looking Valgrind warnings buf_block_init(): Initialize buf_page_t::flush_type. For some reason, Valgrind 3.12.0 would seem to flag some bits in adjacent bitfields as uninitialized, even though only the two bits of flush_type were left uninitialized. Initialize the field to get rid of many warnings. buf_page_init_low(): Initialize buf_page_t::old. For some reason, Valgrind 3.12.0 would seem to flag all 32 bits uninitialized when buf_page_init_for_read() invokes buf_LRU_add_block(bpage, TRUE). This would trigger bogus warnings for buf_page_t::freed_page_clock being uninitialized. (The V-bits would later claim that only "old" is initialized in the 32-bit word.) Perhaps recent compilers (GCC 6.2.1 and clang 4.0.0) generate more optimized x86_64 code for bitfield operations, confusing Valgrind? mach_write_to_1(), mach_write_to_2(), mach_write_to_3(): Rewrite the assertions that ensure that the most significant bits are zero. Apparently, clang 4.0.0 would optimize expressions of the form ((n | 0xFF) <= 0x100) to (n <= 0x100). The redundant 0xFF was added in the first place in order to suppress a Valgrind warning. (Valgrind would warn about comparing uninitialized values even in the case when the uninitialized bits do not affect the result of the comparison.) commit 3bec0b327c77456c826040fd4591844d37c58e79 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Nov 23 16:45:31 2016 +0100 Parallel replication test case for TokuDB. commit 8da33e3a868e7ab4472823f8f3bfab3d5cd1833e Author: Marko Mäkelä <marko.makela@mariadb.com> Date: Fri Nov 25 06:09:00 2016 +0200 MDEV-11349 (1/2) Fix some clang 4.0 warnings In InnoDB and XtraDB functions that declare pointer parameters as nonnull, remove nullness checks, because GCC would optimize them away anyway. Use #ifdef instead of #if when checking for a configuration flag. Clang says that left shifts of negative values are undefined. So, use ~0U instead of ~0 in a number of macros. Some functions that were defined as UNIV_INLINE were declared as UNIV_INTERN. Consistently use the same type of linkage. ibuf_merge_or_delete_for_page() could pass bitmap_page=NULL to buf_page_print(), conflicting with the __attribute__((nonnull)). commit 1d8eafbeafbc4a77153d6ceb974dbbeff543e648 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 24 15:55:55 2016 +0400 Removing the unused function my_bincmp() from strings/ctype-ucs2.c commit 021f78f6956d2f33cfbee3b3a2a20e9c822e0c98 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Nov 23 16:44:03 2016 +0100 Use thd_kill_level() over old thd_killed() in TokuDB. commit 660a2928a535e36e5dda846677dce4ba96508cd7 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Nov 23 16:46:33 2016 +0100 Fix optimistic parallel replication for TokuDB. Make TokuDB report row lock waits with thd_rpl_deadlock_check(). This allows parallel replication to properly detect conflicts, and kill and retry the offending transaction. commit d145d1b6ee42ffa7f9ca2ce02478a31a09f3fe99 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Nov 23 12:29:38 2016 +0100 fix bogus stalls in the lock tree for low concurrency applications Merge into the MariaDB tree the pull request from Rich Prohaska for PerconaFT. These changes are needed to get parallel replication to work with TokuDB. Once the pull request is accepted by Percona and the new upstream version enters MariaDB, this commit can be superseded. Original commit message from Rich Prohaska: 1. Fix the release before wait race The release before wait race occurs when a lock is released by transaction A after transaction B tried to acquire it but before transaction B has a chance to register it's pending lock request. There are several ways to fix this problem, but we want to optimize for the common situation of minimal lock conflicts, which is what the lock acquisition algorithm currently does. Our solution to the release before wait race is for transaction B to retry its lock request after its lock request has been added to the pending lock set. 2. Fix the retry race The retry race occurs in the current lock retry algorithm which assumes that if some transaction is running lock retry, then my transaction does not also need to run it. There is a chance that some pending lock requests will be skipped, but these lock requests will eventually time out. For applications with small numbers of concurrent transactions, timeouts will frequently occur, and the application throughput will be very small. The solution to the retry race is to use a group retry algorithm. All threads run through the retry logic. Sequence numbers are used to group retries into batches such that one transaction can run the retry logic on behalf of several transactions. This amortizes the retry cost. The sequence numbers also ensure that when a transaction releases its locks, all of the pending lock requests that it is blocking are retried. 3. Implement a mechanism to find and kill a pending lock request Tags lock requests with a client id, use the client id as a key into the pending lock requests sets to find a lock request, complete the lock request with a lock timeout error. Copyright (c) 2016, Rich Prohaska All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. commit 57058cb6772ec4205c1b0bade761f5bf65772748 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Nov 22 16:38:36 2016 +0200 MDEV-10377: innodb.innodb_blob_truncate fails in buildbot: Failing assertion: page_type == 34354 || page_type == 37401 || page_type == 17855 || page_type == 2 || page_type == 3 || ... Page type FIL_PAGE_TYPE_ZBLOB2 was missing from assertion. commit ee3c99dfc7703de7f09a40ccdc6e0b65f5e987a7 Merge: af05becb4c7 7ed5563bbee Author: SachinSetiya <sachinsetia1001@gmail.com> Date: Tue Nov 22 16:17:05 2016 +0530 Merge branch 'bb-mdev-11016' into 10.1 commit af05becb4c78d843f34328931704d82faaa8f213 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Nov 16 13:52:41 2016 +0200 MDEV-10771: Test innodb_defragment_fill_factor does not work correctly Added more columns to stabilice the test case. commit bccd0b5e0e2a118d31d5eedf2e363273157d7ca9 Merge: cf29e8c55b1 717f212840a Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Nov 15 13:10:21 2016 +0100 Merge branch 'mdev10863' into 10.1 commit cf29e8c55b1f39234b5e38cee28f0241a23436fd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 14 11:02:57 2016 -0500 wsrep_info plugin: Fix test case commit 558245d54052f037de211ccc402646261a26f047 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Nov 14 15:22:22 2016 +0100 - MDEV-11051 place Java classes ApacheInterface and JdbcInterface into single jar file. Try to fix the INSTALL command. modified: storage/connect/CMakeLists.txt - Make some JDBC tests available on Windows modified: storage/connect/mysql-test/connect/t/jdbc.test modified: storage/connect/mysql-test/connect/t/jdbc_new.test added: storage/connect/mysql-test/connect/t/windows.inc commit 163629f32b51ab36af5695a626531443816a17ad Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Nov 14 11:41:46 2016 +0100 - MDEV-11067 suggested to add configuration support to the Apache wrapper. Try to fix the INSTALL command. modified: storage/connect/CMakeLists.txt commit 0bec832fea5e46f33f513c5e2ba2f1551bc04af5 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Nov 14 00:46:45 2016 +0100 - MDEV-11067 suggested to add configuration support to the Apache wrapper. Suppress / from the INSTALL command. modified: storage/connect/CMakeLists.txt commit db926c385ec320db2bf53537e9aa1537d44ac586 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 13 23:41:58 2016 +0100 - MDEV-11067 suggested to add configuration support to the Apache wrapper. Directly install a precompiled JavaWrappers.jar file. modified: storage/connect/CMakeLists.txt added: storage/connect/JavaWrappers.jar removed: storage/connect/ApacheInterface.class removed: storage/connect/JdbcInterface.class removed: storage/connect/MariadbInterface.class removed: storage/connect/MysqlInterface.class removed: storage/connect/OracleInterface.class removed: storage/connect/PostgresqlInterface.class commit bc65996b82712b1a72f8bb072a3b8cc36d78ce87 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 13 18:39:35 2016 +0100 - Fix MDEV-11267. Insert NULL into JDBC table does not work. Fixed in JDBConn::SetParam and adding java function SetNullParm. modified: storage/connect/jdbconn.cpp modified: storage/connect/JdbcInterface.java modified: storage/connect/mysql-test/connect/disabled.def modified: storage/connect/mysql-test/connect/r/jdbc_new.result modified: storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar - MDEV-11067 suggested to add configuration support to the Apache wrapper. Uncommented out to test if it works. modified: storage/connect/CMakeLists.txt added: storage/connect/ApacheInterface.class added: storage/connect/JdbcInterface.class added: storage/connect/MariadbInterface.class added: storage/connect/MysqlInterface.class added: storage/connect/OracleInterface.class added: storage/connect/PostgresqlInterface.class commit 1fee0171bcc9a71eb4f1e503232682e232c0bf6e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Nov 9 15:23:25 2016 +0200 MDEV-10692: InnoDB: Failing assertion: lock->trx->lock.wait_lock == lock When we enter here wait_lock could be already gone i.e. NULL, that should be allowed. commit 6ae3dd6fb4c466e0facb26261349eb9c9debd6e5 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Nov 9 00:10:45 2016 +0100 AWS Key management plugin does not build on Centos7. Building AWS C++ SDK as external project needs CMake 2.8.12 Centos7 out of the box has 2.8.11, thus the build fails. Fixed check for required CMake version. commit 909e2392b2b31888a8410d6d692fc520243c8497 Author: Daniel Bartholomew <db@dbart.us> Date: Mon Nov 7 10:51:35 2016 -0500 bump the VERSION commit 41e11a8ac6ae62a9320beff451dbd031540c1f7a Author: Daniel Bartholomew <db@dbart.us> Date: Mon Nov 7 10:25:03 2016 -0500 bump the VERSION commit cde0746135a9cfb015d6c487cecdec22b5587238 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 6 10:23:18 2016 +0100 - Fix MDEV-11234. Escape quoting character. Should be doubled. Now it is also possible to escape it by a backslash. modified: storage/connect/tabfmt.cpp - Prepare making VEC table type support conditional. VEC tables might be unsupported in future versions modified: storage/connect/CMakeLists.txt modified: storage/connect/mycat.cc modified: storage/connect/reldef.cpp modified: storage/connect/xindex.cpp - MDEV-11067 suggested to add configuration support to the Apache wrapper. Was added but commented out until prooved it is really useful. modified: storage/connect/ApacheInterface.java modified: storage/connect/ha_connect.cc modified: storage/connect/jdbccat.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h - Remove useless members. modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h - New UDF countin. modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h commit 5fda340dc378a8542d55d4734d68fcc918549175 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 4 14:04:24 2016 +0300 Remove galera suites from default list for now, tests are unstable commit 1ddd1b5d372492edfadd220ddcf30949b0efb02c Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 4 13:41:26 2016 +0300 Add sphinx tests to the list, just in case they are run somewhere commit ee0094d2fd48dac0c6933a7d6ab364bf0c733aa8 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 4 13:33:28 2016 +0300 MDEV-10985, MDEV-10986 - sphinx tests have not been maintained commit cbfb3f9cb17e85d63a4f3225fe3de9410f1f0d25 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Nov 3 19:30:02 2016 -0400 Move disabled galera tests to galera/disabled.def commit d34cd353449d9902d2dd04e98d6b2d7d4fffa336 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 3 22:07:31 2016 +0400 Disabling tests mentioned in MDEV-11229 galera.MW-258 galera.galera_as_master fail in buildbot commit f0d8a4d29e3dbd713dc13fb052acd0a96ab47522 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 3 22:02:24 2016 +0400 MDEV-11219 main.null fails in buldbot and outside with ps-protocol commit c7e1c89070e34e13cb4a3e947021b91fb211959a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 2 21:10:39 2016 -0400 Disable unstable galera_concurrent_ctas test. commit 7971360ffa00e6a024182b1d437a50d174eb4b37 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 2 21:08:44 2016 -0400 Fix a build failure noticed on Yakkety. commit 82780a7c0031af3fe6d8b9bc9f46ace2876c33f6 Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Nov 2 21:20:00 2016 +0300 MDEV-11130 Update the list of unstable tests for 10.1 commit 54d3dc0e93aea78a0dbd66a89f31ed5fa633c582 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Nov 1 17:27:53 2016 -0400 Fix/disable some failing galera tests. commit 7a170205e0dbd7db9047ad1e25fb465b047c6c33 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 26 13:19:00 2016 -0400 MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO Fixed the 'wsrep_replicate_myisam' check to allow only limited set of commands. Added a debug assert to discover such cases. commit 07918b48b8c959e708a6175241d59c739fb63418 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Oct 10 14:02:37 2016 -0400 MDEV-10993: wsrep.mdev_10186 result depends on location of galera library Update test case. commit 3daf89ced99b41ad6144cd1d4236959e641f5592 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 5 04:24:07 2016 -0400 MDEV-10957: Assertion failure when dropping a myisam table with wsrep_replicate_myisam enabled Internal updates to system statistical tables could wrongly trigger an additional total-order replication if wsrep_repli -cate_myisam is enabled. Fixed by adding a check to skip total-order replication for stat tables. Test: galera.galera_var_replicate_myisam_on commit 6dbfe7f399d121dc2a040b21c96777c0a47141fb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Oct 3 12:02:46 2016 -0400 MDEV-10944: GALERA log-slave-updates FAIL after upgrading from 10.1.17 to 10.1.18 thd->variables.option_bits need to be restored after plugin_thdvar_init() during post initialization of wsrep threads. commit fa4fa0ab90e4e49dde955333667cc606838d8fa9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 30 21:13:03 2016 -0400 Make galera test suites default. commit a52a68cb7da765a807856a8c6f238446f57b8f2a Author: Rik Prohaska <prohaska7@gmail.com> Date: Wed Jul 13 16:17:08 2016 -0400 fix the tokudb_analyze_in_background_basic test to run on mariadb. mariadb does additional value checking for boolean system variables commit 110a9f069386302c9caa0b1a451407d6512fdda5 Author: Rik Prohaska <prohaska7@gmail.com> Date: Wed Jul 13 15:15:35 2016 -0400 add mtr support files for tokudb_sys_vars tests commit c948559135aed3c48d49e2fdcca31be3ffde1ec1 Author: Rik Prohaska <prohaska7@gmail.com> Date: Wed Jul 20 13:43:53 2016 -0400 MDEV-10408 run the tokudb_rpl.rpl_rfr_disable_on_expl_pk_absence test. Add control files. Fixup result file for mariadb commit a98c85bb501e9021c0d8d509b8c040611d4c0c3a Merge: c18054deb2b 7196691b44b Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 2 13:44:07 2016 +0100 Merge branch '10.0-galera' into 10.1 commit c18054deb2b5cfcf1f13aa71574406f2bafb87c6 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Nov 2 08:20:15 2016 +0400 MDEV-10347 mysqld got signal 11 commit 7196691b44b65e12cb5cca6f17c8d0f091eb443f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Nov 1 17:20:12 2016 -0400 Fix/disable some failing galera tests. commit 554c60ab0d383e8e6d473294fb86a9db0b0d2b9b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 31 12:44:06 2016 +0200 MDEV-11182: InnoDB: Assertion failure in file buf0buf.cc line 4730 (encryption.create_or_replace fails in buildbot and outside) Analysis: Problem is that page is encrypted but encryption information on page 0 has already being changed. Fix: If page header contains key_version != 0 and even if based on current encryption information tablespace is not encrypted we need to check is page corrupted. If it is not, then we know that page is not encrypted. If page is corrupted, we need to try to decrypt it and then compare the stored and calculated checksums to see is page corrupted or not. commit cb5685a87239d35ff4173192cbc345605bdb1e1a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 31 08:49:36 2016 +0200 MDEV-11184: innodb.innodb-wl5522-debug-zip fails in buildbot on Windows commit 9aa73153db765166712dd45e07da7f274c216a9e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 31 08:48:00 2016 +0200 MDEV-11183: innodb.innodb-wl5522-debug fails in buildbot and outside commit 67e6cfd086e41d8918ae0a6b3077a84880819bc8 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun Oct 30 09:16:02 2016 +0200 Add suppression for new InnoDB error log error as this test intentionally produces this error. commit 58b5c40b09b5134913d33752c88cce3003550b7b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Oct 29 12:57:48 2016 +0300 Remove accidentally added directory. commit bb4b8c74702b8e8c6eea14da9a913f6d7cc61302 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Oct 28 13:59:35 2016 +0300 MDEV-9099: Test encryption.innodb_encryption_discard_import fails on buildbot commit de0f77a2a87e0d77df9cd2b079f51e3142db1e22 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Oct 28 09:27:03 2016 +0300 MDEV-11106: Improve error messages when importing tablespaces Add error message when used index_id in index page is not found from configuration file. commit 84ce681969c3cdec095a45517164275989f95477 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 27 15:01:15 2016 +0300 MDEV-10917: Warning suggesting that innodb_page_size is experimental may be inaccurate Removed experimental from message. commit 885577fb10cba63a4a140bd91257a3cd2b402159 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 27 14:51:10 2016 +0300 MDEV-11004: Unable to start (Segfault or os error 2) when encryption key missing Two problems: (1) When pushing warning to sql-layer we need to check that thd != NULL to avoid NULL-pointer reference. (2) At tablespace key rotation if used key_id is not found from encryption plugin tablespace should not be rotated. commit bc323727de312b32e80ae9590e2346414746a594 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 27 08:18:14 2016 +0300 MDEV-10977: [ERROR] InnoDB: Block in space_id 0 in file ibdata1 encrypted. MDEV-10394: Innodb system table space corrupted Analysis: After we have read the page in buf_page_io_complete try to find if the page is encrypted or corrupted. Encryption was determined by reading FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION field from FIL-header as a key_version. However, this field is not always zero even when encryption is not used. Thus, incorrect key_version could lead situation where decryption is tried to page that is not encrypted. Fix: We still read key_version information from FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION field but also check if tablespace has encryption information before trying encrypt the page. commit 5db2195a35c0a2ee7703ab603721b2f0987d2585 Merge: c9ded859a6f eca8c324e9a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Oct 28 15:50:13 2016 -0400 Merge tag 'mariadb-10.0.28' into 10.0-galera commit c1bbedbd4a20a8bd9354296244b6ec6263b29c6b Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Oct 28 20:37:18 2016 +0200 AWS key Management plugin - add plugin variable for the region AWS C++ SDK always defaults region to us-east-1 for clientConfiguration (ignoring config file or env.variable) This patch introduces a plugin variable 'region' to make it usable for master keys created in regions other than 'us-east-1'. commit 7ed5563bbee301bf8217080dc78ea6a3e78e23a8 Author: SachinSetiya <sachinsetia1001@gmail.com> Date: Wed Oct 26 14:52:24 2016 +0530 MDEV-11016 wsrep_node_is_ready() check is too strict Problem:- The condition that checks for node readiness is too strict as it does not allow SELECTs even if these selects do not access any tables. For example,if we run SELECT 1; OR SELECT @@max_allowed_packet; Solution:- We need not to report this error when all_tables(lex->query_tables) is NULL: commit ea0ae42d8324f6210b95a38bcf76014ce062d1f3 Merge: 4edd4ad6980 74961760a48 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Oct 26 08:34:04 2016 +0300 Merge pull request #250 from sensssz/10.1-vats A few fixes for VATS in 10.1 commit 74961760a4837d2deb33336329c28cf9ad9b4e9e Author: sensssz <hjmsens@gmail.com> Date: Tue Oct 25 18:57:03 2016 -0400 A few fixes for VATS in 10.1 commit 4edd4ad69807c11a2016ac1477805739270a8ee6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 24 22:25:54 2016 +0300 MDEV-10970: Crash while loading mysqldump backup when InnoDB encryption is enabled Follow-up: Make sure we do not reference NULL-pointer when space is being dropped and does not contain any nodes. commit 021212b525e39d332cddd0b9f1656e2fa8044905 Merge: 1bfa37a79c7 183c02839f0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 24 21:51:42 2016 +0300 Merge pull request #245 from sensssz/10.1-vats MDEV-11039 - Add new scheduling algorithm for reducing tail latencies commit 1bfa37a79c78998e11c79227089864358d05bb4c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 24 16:55:36 2016 +0300 Add more information if encryption information is already stored for tablespace but page0 is not yet read. commit ec5bd0d3855aa49afc3e356aa18b7edea3b7a18b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 24 09:25:36 2016 +0300 MDEV-10969: innochecksum dumps core for some .ibd files due to floating point exception Check that index has pages before using number of pages in divide operation. commit aea1967cc2851c5c24ca115053a5dbef24368fc5 Merge: ee1d08c1158 9401e6befd6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 24 09:05:10 2016 +0300 Merge pull request #249 from Cona19/10.1-remove-unnecessary-semicolon Remove unnecessary semicolons commit 9401e6befd6c00ab07a13a5a6b2ff5bb208002b8 Author: Hyeonseok Oh <hyeonso5@gmail.com> Date: Mon Oct 24 14:58:41 2016 +0900 Remove unnecessary semicolons commit ee1d08c115819e7111ddeccb01ec0534d15fd871 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Sun Oct 23 00:10:37 2016 +0000 Revert "Prepare XtraDB to be used with xtrabackup." This reverts commit de5646f1a9aaf45f1b43d98623b40c95fb98ebce. commit de5646f1a9aaf45f1b43d98623b40c95fb98ebce Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Sat Oct 22 14:10:12 2016 +0000 Prepare XtraDB to be used with xtrabackup. The changes are deliberately kept minimal - some functions are made global instead of static (they will be used in xtrabackup later on) - functions got additional parameter, deliberately unused for now : fil_load_single_tablespaces srv_undo_tablespaces_init - Global variables added, also unused for now : srv_archive_recovery srv_archive_recovery_limit_lsn srv_apply_log_only srv_backup_mode srv_close_files - To make xtrabackup link with sql.lib on Windows, added some missing source files to sql.lib - Fixed os_thread_ret_t to be DWORD on Windows commit 8f5e3e2a3491ae0f1b47400a82408b7853ae1efb Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Oct 21 16:20:47 2016 +0000 Fix escaping '\' in a string constant. commit 25848978334f9682f0b4712bf9d7c8222bab606f Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Oct 19 03:02:13 2016 +0300 MDEV-11082 mysql_client_test: test_ps_query_cache fails with group-concat-max-len=1M test_bug14169 was setting session group_concat_max_len=1024 and did not clean it up. Because of that test_ps_query_cache, when run with group-concat-max-len != 1024, had different values in connections, and was inserting into query cache when a hit was expected. Fixed by adding a clean-up for the value in test_bug14169 commit fd1f5072839467d2d0216b85c2cd576284bc4955 Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Oct 19 03:01:36 2016 +0300 Additions to the list of unstable tests commit c4776d3b2abfd5d1cf1d4d093067718e66a279fc Merge: ed4a6f12b3d 50f19ca8099 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Sun Oct 16 23:48:59 2016 +0200 Merge "remove unnecessary global mutex in parallel replication" into 10.1. commit 50f19ca8099994e992e1b411c7c05287855a7bdd Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Sep 20 15:30:57 2016 +0200 Remove unnecessary global mutex in parallel replication. The function apply_event_and_update_pos() is called with the rli->data_lock mutex held. However, there seems to be nothing in the function actually needing the mutex to be held. Certainly not in the parallel replication case, where sql_slave_skip_counter is always 0 since the non-zero case is handled by the SQL driver thread. So this patch makes parallel replication use a variant of apply_event_and_update_pos() without the need to take the rli->data_lock mutex. This avoids one contended global mutex for each event executed, which might improve performance on CPU-bound workloads somewhat. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org> commit cb8e5ecbceab33fac402426e08c2e7c5d56e4860 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Oct 14 17:32:21 2016 +0200 - Fix MDEV-10950. Null values not retrieved for numeric types. Now the null is tested using the result set getObject method. modified: storage/connect/JdbcInterface.java modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h commit 183c02839f032e1d9057fd4e278806c26b016826 Author: sensssz <hjmsens@gmail.com> Date: Thu Oct 13 01:23:21 2016 -0400 Move the lock after deadlock is resolved. commit 0a769b00b5bfa5384a69f1f0d526086d3943ba03 Author: sensssz <hjmsens@gmail.com> Date: Wed Oct 12 21:54:31 2016 -0400 Get thd by lock->trx->mysql_thd. commit 5dc7ad87b8302afbe91824121e7eca6b43ae9256 Author: sensssz <hjmsens@gmail.com> Date: Wed Oct 12 21:52:14 2016 -0400 Reduce conflict during in-order replication. commit 55d2bff882a60211a05bc368102e6d58835c2e67 Author: sensssz <hjmsens@gmail.com> Date: Tue Oct 11 23:27:03 2016 -0400 Bug fix: add * and ; for innodb commit 288796f9272e5b714b16c9a0c3df88829c33ea71 Author: sensssz <hjmsens@gmail.com> Date: Tue Oct 11 23:05:02 2016 -0400 Bug fix: missing * and ; commit e93d44f2d75f425b0a8bfa2fe4309b93d51e1b33 Author: sensssz <hjmsens@gmail.com> Date: Tue Oct 11 23:02:26 2016 -0400 Bug fix: add undeclared variables. commit 6100f59ffaed0a4d4c224aa771999983f8acd496 Author: sensssz <hjmsens@gmail.com> Date: Tue Oct 11 20:52:35 2016 -0400 Implement VATS both in InnoDB and XtraDB. Add configuration options for it in both of them. commit ed4a6f12b3db90de2168273871e7153fb458aee6 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Oct 10 12:49:10 2016 +0000 MDEV-10823 amend : Use opt_log_basename instead of hostname to test filesystem case sensitivity. Hostname can include characters, which are invalid for use as filename, thus case sensitivity test will fail to produce meaningful results. commit e6c678c8a9c8d1b87375d50fe32110377477512b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Oct 5 16:03:50 2016 +0200 - Fix MDEV-10948. Syntax error on quoted JDBC tables. Was because the quoting character was always '"' instead of being retrieve from the JDBC source. modified: storage/connect/JdbcInterface.java modified: storage/connect/jdbconn.cpp modified: storage/connect/tabjdbc.cpp commit f35e918989080d1810c2e1c7fc91f3130585607b Author: Daniel Bartholomew <db@dbart.us> Date: Fri Sep 30 12:11:09 2016 -0400 bump the VERSION commit d83fd5fcde3a3feacab9006c63538541bd6e1c85 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Sep 30 09:13:39 2016 +0300 MDEV-10685: innodb.xa_recovery failed in buildbot Test crashes server intentionally, need to be prepared for crash recovery and database page corruption. commit 6925689ca829901567e9503fd4fdce443f9a7d53 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 29 14:58:32 2016 -0400 MDEV-9312: storage engine not enforced during galera cluster replication Postfix: The pre-initialization of wsrep threads is not needed for mysqldump sst method. commit 235876d70e22b7d8c06768b3a4a9ecbf5c9bbc7a Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 29 14:21:14 2016 +0200 update test results after merge commit 2ede40e67e41f294a32ba3e4797bc6fc4c070217 Merge: ad207694506 a3f11f75499 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 29 12:59:51 2016 +0200 Merge branch '10.0' into 10.1 commit ad2076945062f7f6d29752641048071229435391 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 29 11:50:13 2016 +0200 init plugin psi keys before LOCK_plugin commit b34c813ae3531dbf851a9ef64ca816c1ccfc116d Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Sep 28 22:12:03 2016 +0200 MDEV-10201 SSL tests fail on fedora23 Fixed the remaining failing test case in 10.1 commit 9ff9acb3079b1c48f5be0f0a689cbbdda82b4c0e Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Sep 22 17:52:05 2016 +0200 MDEV-10716: Assertion `real_type() != FIELD_ITEM' failed in Item_ref::build_equal_items(THD*, COND_EQUAL*, bool, COND_EQUAL**) Degenerated condition in AND should be treated in the same way as in WHERE/HAVING alone (i.e reference should be processed as well as fields) commit d5dfa0f1c20614ca083a0c4f841534f2f68808dd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 28 13:27:34 2016 -0400 MDEV-9416: MariaDB galera got signal 11 when altering table add unique index When a BF thread attempts to abort a victim thread's transaction, the victim thread is not locked and thus its not safe to rely on its data structures like htons registered for the trx. So, instead of getting the registered htons from victim, innodb's hton can be looked up directly from installed_htons[] and used to abort the transaction. (Same technique is used in older versions) commit 7c525ce36babf8cbceb05595a551dd140188e1ba Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 28 13:26:13 2016 -0400 MDEV-9312: storage engine not enforced during galera cluster replication Perform a post initialization of plugin-related variables of wsrep threads after their global counterparts have been initialized. commit 88f2ec6f207be182d782d9176a66bf66b8fbf65f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 28 13:23:31 2016 -0400 MDEV-10041: Server crashes sporadically during bootstrap while running wsrep tests The crash is caused due to a race condition where wsrep startup threads invoke ha_maria::implicit_commit() method while maria_hton is partially initialized. The fix is to skip this method if plugins are uninitialized. commit e1c6f28f0de5f3ad6c17f581a365fd90a4e14316 Merge: 735a4a17c2b c9ded859a6f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 28 13:20:02 2016 -0400 Merge branch '10.0-galera' into 10.1 commit c9ded859a6fad25fc513d3a0c7d17f826e567691 Author: Hartmut Holzgraefe <hartmut@mariadb.com> Date: Wed Sep 21 10:51:37 2016 +0200 MDEV-10853 netcat help output in error log when running xtrabackup SST commit 735a4a17c2b83a214dcd5279c66cd3577ef76eb1 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 28 17:59:11 2016 +0200 MDEV-10508 Mariadb crash on out of disk space during dump import update info->write_end and info->write_pos together, with no "return on error" in between, otherwise write_end might end up being smaller than write_pos commit 794c826244c4d8b082600afa4999130fe688aa49 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 26 14:29:23 2016 +0200 MDEV-10890 plugins.pam fails in buildbot with valgrind initialize uninitialized value commit 66d9696596edbc20ad36bf3d5bffb5595e8235c3 Merge: 66a58f46e93 23af6f5942e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 28 17:55:28 2016 +0200 Merge branch '10.0' into 10.1 commit 66a58f46e937cdc3d7e0529b52ad8b658d9b2cd4 Merge: 0e472236ce1 a53f3c6d3cf Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Sep 28 16:19:05 2016 +0300 Merge fix for MDEV-10649 from 10.0 to 10.1 - storage/innobase/dict/dict0stats.cc - storage/xtradb/dict/dict0stats.cc commit 0e472236ce1e7da5f5916f712e29511fc1aade33 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Sep 27 17:38:47 2016 +0200 Make sure to recompile the feedback plugin for EMBEDDED On OS X with clang 7.3.0 running any test as embedded crashes. As libfeedback was not compiled with embedded, we had 2 notions of THD, with different number of members. When calling inline functions defined in sql_class.h, the functions were defined for 1 THD but called on an object that is different. This resulted in erroneous data being returned and shortly after, a crash within the alloc_query() function. Recompile the feedback plugin for the embedded server specifically to not have such symbol conflicts. commit e226276950497c0ec92b3bf71bc6c46ac4a779d4 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Sep 14 18:15:03 2016 +0200 MDEV-10777: Server crashed due to query_cache_info plugin Possible fix. Make the pluging more safe. commit 3f5aedccca25da72e21d7859b55edeb172d45ce0 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Sep 27 11:18:24 2016 +0000 MDEV-10847 Bring AWS KMS encryption plugin up-to-date with released SDK - Library path's are different now - New dependency on Linux libuuid - Add calls for SDK Initialization/shutdown - Also add request_timeout parameter, default SDK HTTPs timeout appears to be too short in my tests commit f1aefd9d758a3d464d77ede64f960ff33326eb72 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Sep 23 18:55:44 2016 +0200 MDEV-10823 Certain unicode characters in hostname prevent mysqld from starting Server uses gethostname() for the default base name for pid/log files. If a character is not representable in current ANSI encoding, gethostname replaces it with question mark. Thus, generated log file name would also contain a question mark. However, Windows forbids certain characters in filenames, among them '?'. This is described in MSDN article https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx At attempts to create the file via freopen() fails, thus server would not be able to start. The fix is to verify hostname and fall back to "mysql", if invalid characters are found. commit 661d08c36ca9181e9f2469c66160e877e284c23f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 26 15:16:00 2016 +0300 MDEV-10887: innodb.innodb_stats_fetch_nonexistent fails in buildbot on Windows Problem was that test innodb.innodb_stats_fetch_corrupted will post a error InnoDB: Error: Table "mysql"."innodb_index_stats" not found to a error log and test ignores that message. However, following tests might see this error also and they might not ignore this error. Force a server restart after innodb.innodb_stats_fetch_corrupted to get clean log. commit 452e84952228a290b3c1fb16a8f60e2990aa8710 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 26 12:29:31 2016 +0300 MDEV-10886: encryption.innodb-bad-key-change fails (crashes) in buildbot Problem was that NULL-pointer was accessed inside a macro when page read from tablespace is encrypted but decrypt fails because of incorrect key file. Removed unsafe macro using inlined function where used pointers are checked. commit 4e2a0c34b02dd556c2a521555662ed993cdc66a6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 26 09:58:50 2016 +0300 MDEV-10888: encryption.filekeys_emptyfile fails in buildbot with valgrind Problem was that length of the filekeys file was not checked and if length is less than OpenSSL_prefix_len uninitialized memory was accessed. commit d30809a3cde823ad696304a941afe5a562bfa3ed Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Sep 26 09:40:47 2016 +0400 MDEV-10832 Out of tree build: mysql_install_db to see all .sql files. One line in mysql_install_db.sh was left unfixed. commit 7d7b92c107aaa36ac5e2dc142eb9e6a6181ff35e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Sep 24 14:21:27 2016 +0300 Disable encryption info and first page read info for every tablespace on product builds. commit 5d001d13c25c1de1178cc9109e829ef577c9ed73 Author: Daniel Black <danielgb@au.ibm.com> Date: Fri Sep 23 17:28:38 2016 +1000 MDEV-10832 - Out of tree build: mysql_install_db to see all .sql files (#237) * Out of tree build: mysql_install_db to see all .sql files Since MDEV-7875 (da0991c6), not all sql source files are in the source directory, maria_add_gis_sp_bootstrap.sql is in the build directory. This corrects mysql_install_db{.sh} to be aware of the differing locations. Signed-off-by: Daniel Black <daniel.black@au.ibm.com> * Out of tree build: scripts/mysql_install_db.pl.in Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit e136aa1ba7d6a0d4cc38e12a4cdcffaa5f0f01b1 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Sep 23 09:11:11 2016 +0300 Fix test failure. Need to mask more tablespace numbers as they are not consistent on parallel mtr runs. commit 1d55cfce10fc78c386f4444b20a21c664a81a297 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Sep 22 20:57:15 2016 +0300 Do not use os_file_read() directly for reading first page of the tablespace. Instead use fil_read() with syncronous setting. Fix test failures and mask tablespace number as it could change in concurrent mtr runs. commit 2bedc3978b90bf5abe1029df393c63ced1849bed Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Sep 22 16:32:26 2016 +0300 MDEV-9931: InnoDB reads first page of every .ibd file at startup Analysis: By design InnoDB was reading first page of every .ibd file at startup to find out is tablespace encrypted or not. This is because tablespace could have been encrypted always, not encrypted newer or encrypted based on configuration and this information can be find realible only from first page of .ibd file. Fix: Do not read first page of every .ibd file at startup. Instead whenever tablespace is first time accedded we will read the first page to find necessary information about tablespace encryption status. TODO: Add support for SYS_TABLEOPTIONS where all table options encryption information included will be stored. commit e387bfafbbb01ccfabeb2beb86efb199ca2ca3ac Author: Seamus Lee <seamuslee001@gmail.com> Date: Thu Sep 22 19:14:40 2016 +1000 MDEV-10830 - Fix undefined database test error when running mysql_install_db (#234) * Fix undefined database test error when running mysql_install_db When using mariaDb in docker mode it can fail as it calls mysql_install_db but as we are going through a slightly different install process the test database has not been created, therefore we should fall back to the mysql database as per https://mariadb.com/kb/en/mariadb/mariadb-10112-mysql_install_db-aborts-on-unkown-file-test/ * Also fix mysql_install_db.pl.in commit 9f837c6e1a54ea05be92112fe7520ffe0134b260 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 22 10:03:12 2016 +0400 MDEV-10864 Wrong result for WHERE .. (f2=COMPRESS('test') OR f2=COMPRESS('TEST')) commit 7e4eb990adb71920cc10393194d7317ba07e3f91 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 22 07:00:10 2016 +0400 MDEV-10425 Assertion `collation.derivation == DERIVATION_IMPLICIT' failed in Item_func_conv_charset::fix_length_and_dec() MDEV-10850 Wrong result for WHERE .. (f2=TO_BASE64('test') OR f2=TO_BASE64('TEST')) Problem N1: MDEV-10425 Item_func_{md5|sha|sha2}::fix_length_and_dec() changed args[0]->collation to force binary comparison in args[0]->eq(). It was done to treat e.g. MD5('a') and MD5('A') as different values. It is wrong for a Item_func_xxx to modify its arguments. Item_func_conv_charset did not expect that and crashed on assert. Problem N2: MDEV-10850 Item_func_to_base64, Item_func_password, Item_func_hex are also case sensitive hash functions, but they did not compare their arguments as binary. Solution: - Removing the code changing args[0]->collation - Introducing Item_str_ascii_checksum_func as a common parent for Item_func_{md5|sha|sha2|password|hex|to_base64} and overriding its eq() method to compare arguments binary. commit ec7e0b7b30ecd301da5990495cdf18b39425a7c6 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 21 09:13:33 2016 +0400 MDEV-10556 Assertion `0' failed in virtual void Item_sum_field::set_result_field(Field*) commit 8b51bacfd63ffcffa06e2815dd5ee72a45b5de79 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 20 21:32:53 2016 -0400 MDEV-10735: Valgrind warnings around Galera SST While copying the received state Id (uuid:seqno) to an uninitialized buffer, it was not properly null-terminated. commit 6eca463cae8e2e61469fcefa227acd4ae7b771c8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 20 15:17:57 2016 -0400 Fix typo in valgrind.supp commit 98cc0913f0fdfe8008d5e5ee167658262280c9a8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Sep 16 17:30:46 2016 +0200 - Woking on MDEV-10525. Lrecl mismatch on DBF files modified: storage/connect/filamdbf.cpp modified: storage/connect/filamdbf.h modified: storage/connect/reldef.cpp commit bb2c1a52c61706dde8c525a8887f2d364c0db1eb Merge: de7f87708a1 7e0c9de8648 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Sep 9 11:53:50 2016 +0200 Merge parallel replication async deadlock kill into 10.1 commit de7f87708a156659e518bf4ccdb051e92a0a7521 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 9 08:40:24 2016 +0400 MDEV-10702 Crash in SET STATEMENT FOR EXECUTE commit 7e0c9de86484815b6e014ce3ad3e3a9b74ec0ce0 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Thu Sep 8 15:25:40 2016 +0200 Parallel replication async deadlock kill When a deadlock kill is detected inside the storage engine, the kill is not done immediately, to avoid calling back into the storage engine kill_query method with various lock subsystem mutexes held. Instead the kill is queued and done later by a slave background thread. This patch in preparation for fixing TokuDB optimistic parallel replication, as well as for removing locking hacks in InnoDB/XtraDB in 10.2. Signed-off-by: Kristian Nielsen <knielsen at knielsen-hq.org> commit 8494039757a2f6353cc161e7824aab4fe2312d2a Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 6 16:34:25 2016 +0200 fix the test to work without preceding sys_vars.wsrep_provider_basic commit 61fd38a1de5b24b1b86e42a191379cddd782404d Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 5 17:11:14 2016 +0200 update plugin maturities commit 0799cf0804f925cc3c27537f46664608d31928d7 Merge: a4623b51601 747893a8545 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Sep 5 13:04:55 2016 +0200 Fix merge conflict commit a4623b516014362558c90dc9d539f1db7b229b9c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Sep 5 12:47:52 2016 +0200 - Fix MDEV-10496. Memory leak in discovery modified: storage/connect/ha_connect.cc - Fix wrong lrecl calculation for virtual columns modified: storage/connect/reldef.cpp - Typo modified: storage/connect/jdbconn.cpp modified: storage/connect/json.cpp commit 362ad94bb0068178c018e826db1fc6bfa56ea712 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 5 09:11:42 2016 +0200 cleanup: don't copy-paste, don't current_thd commit 747893a854515e96891dcfafed8adcc721e8011f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 2 14:40:09 2016 -0400 MDEV-10545: Update perfschema.nesting result commit 31697d0b80353a1e086c0063c39db03454e137de Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 2 12:21:40 2016 -0400 MDEV-10545: Server crashed in my_copy_fix_mb on querying I_S and P_S tables Once THDs have been added to the global "threads" list, they must modify query_string only after acquiring per- thread LOCK_thd_data mutex. commit 3dd88fbd1132ae36c00adb67cbe2fc4ff97a6789 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 1 12:59:11 2016 -0400 MDEV-10714: Could not execute Delete_rows event on table; wsrep_max_ws_rows exceeded. Error_Code 1180 The wsrep_max_ws_rows related implementation should be skipped when server is running with wsrep disabled. commit 616271b7c9f69596df740a8fec5a4f39b959d064 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 1 12:53:44 2016 -0400 Cleanup: MDL_context::wsrep_get_thd() is no longer needed commit a322651b8aa702e58d473edfae26606f10a089fb Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon Aug 29 16:44:46 2016 +0200 MDEV-10017: Get unexpected `Empty Set` for correlated subquery with aggregate functions take into account all arguments of aggregate function commit f6e47c00314b05f2b179e9e63f0e7b0062598cdc Merge: 64fe3894dd0 080ac476618 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Aug 31 11:51:12 2016 +0400 Merge pull request #224 from 0xAX/build-get-rid-from-die remove die() from BUILD/autorun.sh commit 64fe3894dd031b37ea459682f34b172961dffe38 Author: Daniel Bartholomew <db@dbart.us> Date: Tue Aug 30 10:32:37 2016 -0400 bump the VERSION commit a02642b66e06f95b80fa9ee592ba50eb61dc2f17 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Jun 23 17:50:07 2016 +0200 MDEV-10017: Get unexpected `Empty Set` for correlated subquery with aggregate functions (part 1) Make aggregate function dependency visible. commit 00d84eada2806431fdd10f4dbcffdff450be2ee0 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Jun 22 11:17:44 2016 +0200 MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops Do not set 'optimized' flag until whole optimization procedure is finished. commit 7d115e73b8a0a9f5bc8160a0bcf966ea2283a829 Author: Elena Stepanova <elenst@montyprogram.com> Date: Sat Aug 27 19:50:42 2016 +0300 MDEV-10604 Create a list of unstable MTR tests to be disabled in distribution builds List of unstable tests for 10.1 commit 467217e66951defe62083dc10e5d205d7b94a9b7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 26 12:45:48 2016 -0400 MDEV-9510: Print extra info to error log Activated by enabling wsrep_debug. commit a66092f2ebae6461085ee2db03e1150563953d49 Merge: 2d65679384c 3575618237d Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 26 10:12:47 2016 +0200 Merge branch 'bb-10.1-serg' into 10.1 commit 3575618237d543df8ae137fb640bf3c1e8259c8b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 25 21:28:26 2016 -0400 Post merge fixes. commit 16702ec95f301d1a21eb5a6f5531387c9254b952 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 25 21:19:25 2016 -0400 Record wsrep.variables test result (with non-debug galera library). commit 90266e8a0eb46867c990930fa4d305d2424929ba Merge: dfa3046db48 b506d9527b4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 25 15:39:39 2016 -0400 Merge branch '10.0-galera' into bb-10.1-serg commit 2d65679384c36ae2e46b2f62538223c3d71fb00a Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Aug 25 19:47:38 2016 +0300 MDEV-10665: Json_writer produces extra members in output Fix an issue in Single_line_formatting_helper: flush_on_one_line() didn't clean up the buffered items which could cause them to be printed for the second time. This can't be ever observed by a user (see MDEV text for details). commit dfa3046db48d8439cf3eb02ba6623fe2f6e44f91 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 25 15:11:21 2016 +0200 fix a test for windows commit 6b1863b8304662189a3b9a4aef1e1bebef035b86 Merge: ea91bb6801b 5bbe929d706 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 25 12:40:09 2016 +0200 Merge branch '10.0' into 10.1 commit 080ac47661871da7be425a73d5aa068806e9946c Author: Alexander Kuleshov <kuleshovmail@gmail.com> Date: Thu Aug 25 15:56:53 2016 +0600 remove die() from BUILD/autorun.sh This patch removes die() function from the BUILD/autorun.sh. It was introduced in the c682570431 commit (Fix BUILD/autorun.sh to really bail out on error.). Last users of die() was removed in the 8664de22 commit (WL#5665: Removal of the autotools-based build system) and since it is not used anywhere. No functionality changes. Just cleanup. commit b506d9527b4303b91f69fe6b6f21f911e5bfef72 Merge: c309e99ff9b d40d3f4e57f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 24 19:41:11 2016 -0400 Merge branch '5.5-galera' into 10.0-galera commit c309e99ff9b48c1736ff468e72153048c4b56561 Merge: 8b09db8bfb8 5bbe929d706 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 24 19:30:32 2016 -0400 Merge branch '10.0' into 10.0-galera commit 8b09db8bfb81f1e7695cfcfa6ce2bec45247171f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 24 17:13:20 2016 -0400 Fixes/improvements in galera test suite commit 1b7c5dedf7266d73c9c402cefee681251aea1e18 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 24 15:32:48 2016 -0400 MDEV-10566: Create role statement replicated inconsistently in Galera Cluster In galera cluster, the definer (and thus binlog invoker) must be set for CREATE ROLE before Query_log_event is created during TOI on the originating node. commit ea91bb6801b1b619d64fa137ea351eca9de683ec Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jul 26 12:34:04 2016 +0200 MDEV-10361 Crash in pam_securid.so with auth_pam connecting from SQLyog auth_pam: debug output commit 2024cddaa412e7c4a2aff8bb50907868155019da Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 22 21:27:20 2016 -0400 MDEV-10518: Large wsrep_gtid_domain_id may break IST wsrep_gtid_domain_id was incorrectly being parsed and stored as a signed long number on the joiner node. commit 3ac0721a3c8eecf8843b527cdc4d08c20edb6268 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 22 19:06:32 2016 -0400 MDEV-10507: MariaDB 10.1 + wsrep fails to start under systemd post-reboot /var/run/mysqld must be created before wsrep recovery. commit 294961cc4d4d55730e807b3f0a7f93a3dd4d4f7b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 22 18:38:06 2016 -0400 MDEV-10538: MariaDB fails to start without galera_recovery in systemd mode Update ExecStartPre scripts to not fail if 'galera_recovery' script is not available. commit f381ad5230e0537c63ad721d39aab1681e0a213a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Aug 21 20:13:51 2016 -0400 Update WSREP_PATCH_REVNO. commit 3f481e52e41deecb05874989a51d6b009fda1a23 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Aug 21 20:09:05 2016 -0400 Fixes for failing tests (post-merge). commit cced23cf23f013bee9f137001f1d51142bace964 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 29 16:50:53 2016 -0400 MDEV-9423: cannot add new node to the cluser: Binlog.. .. file '/var/log/mysql/mariadb-bin.000001' not found in binlog index, needed for recovery. Aborting. In Galera cluster, while preparing for rsync/xtrabackup based SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG in rsync based state transfer and) REFRESH_BINARY_LOG. The latter rotates the binary log and logs Binlog_checkpoint_log_event corresponding to the penultimate binary log file into the new file. The checkpoint event for the current file is later logged synchronously by binlog_background_thread. Now, since in rsync/xtrabackup based snapshot state transfer methods, only the last binary log file is transferred to the joiner node; the file could get transferred even before the checkpoint event for the same file gets written to it. As a result, the joiner node would fail to start complaining about the missing binlog file needed for recovery. In order to fix this, a mechanism has been put in place to make REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event to be logged for the current binary log file if the node is part of a Galera cluster. As further safety, during rsync based state transfer the donor node now acquires and owns LOCK_log for the duration of file transfer during SST. commit 415823a41cb7f302e9620f2b0fb57bcc69140d3f Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Jun 8 15:19:01 2016 +0300 Refs: MW-279 - fixes in innodb to skip wsrep processing (like kill victim) when running in native mysql mode - similar fixes in mysql server side - forcing tc_log_dummy in native mysql mode when no binlog used. wsrep hton messes up handler counter and used to lead in using tc_log_mmap instead. Bad news is that tc_log_mmap does not seem to work at all commit fec296cc10f0d1319e032b72e92e3c824b7fc390 Author: Damien Ciabrini <damien.ciabrini@gmail.com> Date: Fri Aug 12 10:57:58 2016 +0200 refs codership/mysql-wsrep#267 Fix Galera crash at startup when compiled with gcc 6 commit 2e56c7f3cdfc882aad25b606a4d14f9cb6295451 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Aug 9 12:34:03 2016 +0300 Bump WSREP_PATCH_VERSION to 16 commit f01a16b54196ef5f816ca5a1bb590262ce0381e6 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Aug 4 00:33:12 2016 -0700 Galera MTR Tests: fortify galera_bf_abort_flush_for_export against sporadic failures. commit 30c6ac3cd152c1280fe9ccfb86b42e8048e3dc91 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Aug 3 02:52:39 2016 -0700 Galera MTR Tests: Attempt to fortify galera_kill_ddl.test against sporadic failures commit 065645313528fcb8a996b6a5f08686193b0b696c Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jul 22 04:16:09 2016 -0700 Galera MTR Tests: increase timeouts and adjust some sporadically-failing tests so that the Galera suites can be run with --parallel=4 commit 85b9718b22adcc26952c13509d81fa61fa107f44 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Jul 13 03:19:20 2016 -0700 Galera MTR Tests: Test case for galera#414 - crash on shutdown with gcs.max_packet_size=2 commit ea3ff73031dd14664045bcbe7ad922b780d229c9 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Jun 9 09:21:43 2016 +0200 GCF-837 Fix crash when loading wrong provider version mysqld would crash with "double free or corrruption message" if wrong provider version was given. commit bf19492e3b3d73af6ea6c9ff61aa1838a55965ea Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Jun 13 17:49:42 2016 +0200 GCF-837 Check wsrep interface version before loading provider commit dfa9012abbaaec15e99e3fb8cbe3c90cf6dc8e3b Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Jun 20 14:35:22 2016 +0200 MW-285 MTR test case for broken foreign key constraints commit c9ac48f8451d213cdf7fd4cee091025846306526 Author: Krunal Bauskar <krunal.bauskar@percona.com> Date: Thu Jun 2 16:44:54 2016 +0530 - PXC#592: Tried closing fk-reference-table that was never opened. Function "wsrep_row_upd_check_foreign_constraints" tried to mark fk-reference-table opened without ensuring it table is really opened. commit 88a1592b0a785aff0941540a9543ef2964caaf21 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Tue Jun 14 17:18:21 2016 +0200 MW-286 Avoid spurious deadlock errors when wsrep_on is disabled If a conflict happens under wsrep_on, the THD's wsrep_conflict_state is typically set to MUST_ABORT and cleared later, when transaction is aborted. However, when wsrep_on is disabled, no check is performed to see whether wsrep_conflict_state is set. So this potentially creates spurious deadlock errors on the subsequent statement that runs with wsrep_on enabled. To avoid this problem wsrep_thd_set_conflict_state() sets the conflict state only if wsrep_on is enabled. commit a12fa57d35c00897fd883434e6573a65e6edfb41 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Jun 13 06:17:33 2016 -0700 Galera MTR Tests: Run galera_pc_weight on freshly started servers in order to prevent interaction with other tests commit 5996c7baad2cc936881442ccb26bdde3b04ad6f2 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Jun 7 10:46:14 2016 +0300 refs: MW-279 - At startup time global wsrep_on is set too late and some wsrep paths may be executed because of this. e.g. replication slave restart could happen before wsrep_on state is defined. - This fix checks both global wsrep_on and wsrep_provider values to determine if wsrep processing should happen - Fix affects all instances where WSREP_ON macro is used commit 0e83726edb4437fb40fcbb043ccf3721ac60fbac Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jun 3 04:26:17 2016 -0700 Galera MTR Tests: force galera_3nodes.galera_pc_bootstrap.test to run on a fresh cluster in order to avoid interaction with galera_3nodes.galera_innobackupex_backup.test commit 5609020c7101f2ffb9ec68dfc68896b242da3de1 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Jun 2 23:56:16 2016 -0700 Galera MTR Tests: fortify galera_parallel_simple.test against sporadic failures commit 1cb01fe7d2fd5651abf9df743c38fcae4541bd2a Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Jun 2 23:39:12 2016 -0700 Galera MTR Tests: Fortify galera_restart_nochanges.test against sporadic failures due to node not being ready immediately after restart commit 92162e6d8761d8586299cfd88682a7704df2d7fa Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Wed May 18 11:07:58 2016 +0200 MW-175 Fix definitively lost memory in wsrep_get_params commit 137af55ca1064a605fed608572b34135823de6ac Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue May 17 22:23:51 2016 -0700 Galera MTR Tests: stability fixes commit db837fde87093f7b985568bd26ce57627b74e752 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Sun May 1 23:29:55 2016 -0700 Galera MTR Tests: Adjust tests for xtrabackup 2.4.2 commit 81174c9ab196e42b2f400d564eb5940fc888f38c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 15 11:29:48 2016 -0400 Fix galera/MW-44 test post-merge. commit 182787f39e8f73781caeb6eaf536697fb747c9a0 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Apr 14 01:25:54 2016 -0700 Galera MTR Tests: Adjust galera_log_output_csv.test to account for the fix for MW-44 commit 675bcf3b6d654861d7f9ca0279a3f56847587696 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Apr 14 01:03:37 2016 -0700 Galera MTR Tests: A test for MW-44 - Disable general log for applier threads commit f49500a80337cad9aec1f5c9cf8caf7ace927dc1 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Tue Apr 5 14:08:39 2016 +0300 MW-44 Disable general log for applier threads commit 3f22e743c560676e6948bb1c7f9074134c2552e5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 15 11:14:57 2016 -0400 Fix galera/GAL-382 test post-merge. commit 9b42f09902f63249cc14abb173513cf9474e3408 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Apr 4 07:09:32 2016 -0700 Galera MTR Tests: Add test for GAL-382, codership/galera#382 - InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno in trx0sys.cc line 356 commit fce9217c21527938d279183fb05891505e79b25b Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Apr 4 05:32:50 2016 -0700 Galera MTR Test: Fix for MW-258.test - do not use SHOW PROCESSLIST commit dda114461ecb3f8ea3448a61b3dad7d059dbdaec Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Apr 4 05:14:13 2016 -0700 Galera MTR Tests: Fixed tests to account for GAL-391 , GAL-374 commit d45b58263ddf815aa04d4dbc9255ed1081e33bdb Author: Alexey Yurchenko <ayurchen@galeracluster.com> Date: Sat Apr 2 22:37:22 2016 -0300 MW-259 - moved wsrep desync/resync calls from wsrep_desync_update() to wsrep_desync_check() method which does not hold the lock and is arguably a more fitting place to change provider state - before changing the actual variable value. commit 4582a4bccf406776702a3f866a8f21aa4daaaff9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 12 14:03:24 2016 -0400 Fix galera_ist_recv_bind.test. commit 90d92d2b49eb54ea3c8d17e7db2525f20e475e94 Author: Alexey Yurchenko <ayurchen@galeracluster.com> Date: Sat Apr 2 21:51:26 2016 -0300 MW-258 - RSU DDL should not rely on the global wsrep_desync variable value and should always try to desync on its own. commit a00f4b29b5a50c46641fa522c2b3235fe72ae697 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Mar 15 03:38:31 2016 -0700 Refs codership/galera#105 An MTR test for ist.recv_bind commit b758e9238aac8d8b167621a9787b6d2dd92cb082 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 12 13:42:12 2016 -0400 Fix galera_transaction_replay.test. commit 4e4ad17163709a50314cbf72d72cec2596467513 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Mar 8 18:10:21 2016 +0200 Refs MW-255 - popping PS reprepare observer before BF aborted PS replaying begins dangling observer will cause failure in open_table() ater on - test case for this anomaly commit d246630d739717a58d9b1c33705ce7f1d8504b43 Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Mar 7 23:34:03 2016 +0200 Refs MW-252 - changed the condition when to do implicit desync as part of FTWRL to cover only case when node is PC and synced. Donor node has alreaydy desycned and other states mean that node is not in cluster, so desync is not even possible. commit f3444c4a436ecab23b535bb2ef24e02298aa7ae9 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Mar 4 14:20:58 2016 +0200 Bump WSREP_PATCH_VERSION to 14 commit 8b998a48ccee617b7eb1232cf2793d6da67ccead Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 12 12:56:41 2016 -0400 Update galera version-dependent tests. commit 65cf1d354a5089ed3df328db69c79bd87b891278 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 11 22:28:57 2016 -0400 Refs: MW-252 Test fix post-merge commit fe6ebb657ea02fcb5993ca5d503161056c5a5b86 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Mar 1 08:32:06 2016 -0800 Refs: MW-252 MTR tests for FTWRL and desync commit a03c45fa980ab170cd509d10923916aa9d9c4f86 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Mar 1 10:56:21 2016 +0200 Refs: MW-252 - if wsrep_on==OFF, unlock tables would resume provider even though it was not passed in FTWRL processing. This is fixed in this patch. commit 8ec50ebda3c558e34f263c08b2661929f0bdad2d Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Feb 29 22:54:58 2016 +0200 Refs MW-252 - reverted from tracking donor servicing thread. With xtrabackup SST, xtrabackup thread will call FTWRL and node is desynced upfront - Skipping desync in FTWRL if node is operating as donor commit b159b666e5191b22618e631e9ed48159be541f7e Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Feb 29 16:36:17 2016 +0200 Refs MW-252 - Calling FTWRL two times in a row caused desync error, this is fixed by making sub-sequent FTWRL calls bail out before wsrep operations commit 4290117b79bccec71b4a92c99beb3e15668627e7 Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Feb 29 15:24:06 2016 +0200 Refs MW-252 - enveloped FTWRL processing with wsrep desync/resync calls. This way FTWRL processing node will not cause flow control to kick in - donor servicing thread is unfortunate exception, we must let him to pause provider as part of FTWRL phase, but not desync/resync as this is done as part of donor control on higher level commit da9650a36a9e1d9b78a55d6f40a37b984d03bce4 Author: sjaakola <seppo.jaakola@iki.fi> Date: Fri Feb 19 13:08:22 2016 +0200 Refs: MW-248 - some more code cleanup commit ae0fec9c365a7a870b180ebbde6c68b01839fed4 Author: sjaakola <seppo.jaakola@iki.fi> Date: Fri Feb 19 13:02:59 2016 +0200 refs: MW-248 - removed the off topic mtr test commit 5edf55be631d86a92e1faaa9e0c2792be8f41c29 Author: sjaakola <seppo.jaakola@iki.fi> Date: Fri Feb 19 11:48:09 2016 +0200 Refs: MW-248 - fixed the test case and extended with autoinc modification is master side commit df96eb5d049db22157ad0c01ac0e50c7beb79a88 Author: sjaakola <seppo.jaakola@iki.fi> Date: Thu Feb 18 14:34:53 2016 +0200 Refs: MW-248 - test cases from PXC for reproducing the issue - initial fix commit a53ac77c4265c2bf8ad4d07b924f6155e8b39458 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 10 12:30:57 2016 -0400 Cleanup: Remove dead code commit 58386ca04dffd5fc9006d8f70a44a3a82f385b96 Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Jan 11 22:43:27 2016 +0200 refs codership/mysql-wsrep#239 Synced xtrabackup SST scripts from PXC source tree as of PXC 5.6.27-25.13 - PXC#480: xtrabackup-v2 SST fails with multiple log_bin directives in my.cn - PXC#460: wsrep_sst_auth don't work in Percona-XtraDB-Cluster-56-5.6.25-25. - PXC-416: Fix SST related issues. - PXC-389: Merge remote-tracking branch 'wsrep/5.6' into 5.6-wsrep-pxc389 - Bug #1431101: SST does not clobber backup-my.cnf commit d0d99dec914d409d7889fcec2efd126edad10bde Merge: 1e160e5cb38 2f5ae0fbe76 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Aug 18 11:51:47 2016 +0400 Merge pull request #206 from prohaska7/10.1-with-asan MDEV-10412 fix WITH_ASAN option for 10.1 commit 1e160e5cb387900df8c47e87b9378c6e7df05777 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Aug 17 13:57:34 2016 +0400 MDEV-10404 - Improved systemd service hardening causes SELinux problems Disabled NoNewPrivileges until SELinux policy is fixed. commit 48fbb2bf07515425edaf511ac2e17a575ae37713 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Aug 16 12:34:58 2016 +0200 MDEV-10553: Semi-sync replication hangs when master opens new binlog file In the AFTER_SYNC case, semi-sync was taking the binlog file name from the wrong place, so around binlog rotation it could be using the new name with a position belonging to the previous binlog file name. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org> commit d40d3f4e57f375897aa29e72e947e372e6bc229d Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jul 19 20:44:02 2016 +0000 MDEV-10314 : wsrep_client_thread was not set in threadpool. Fixed threadpool_add_connection to use thd_prepare_connection() to match thread-per-conection flow. commit abfbe80840e4b8ad63b31ea65b59f52ef7d151a2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 10 14:48:44 2016 -0400 MW-292: Fix test case Also backported missing test include files. commit 55fb72d8694fe99e96f1b95b5f63aab5ff7a86dd Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Aug 10 17:57:58 2016 +0200 - JdbcInterface: change return type of ...Field function modified: storage/connect/JdbcInterface.java - Change Version number and date modified: storage/connect/ha_connect.cc - Implement the test on connect_type_conv YES/NO modified: storage/connect/jdbconn.cpp modified: storage/connect/odbconn.cpp - Fix MDEV-10520. Local schema was confused with remote schema modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabodbc.cpp - Fix crash when using mapped indices. Was trying to write in a mapped file declared as read only. modified: storage/connect/xindex.cpp commit dfadb3680d0ffc211ce4f36fed28e59e3fec0842 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jul 15 01:13:32 2016 -0700 Galera MTR Tests: Test case for MW-292 : NOW() returns stale timestamp after transaction replay commit 9a809fe31be15131baf909e898c1ad2c02976728 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Jul 14 14:29:59 2016 +0200 MW-292 Reset timestamp after transaction replay Transaction replay causes the THD to re-apply the replication events from execution, using the same path appliers do. While applying the log events, the THD's timestamp is set to the timestamp of the event. Setting the timestamp explicitly causes function NOW() to always the timestamp that was set. To avoid this behavior we reset the timestamp after replaying is done. commit 38a0def80588dd8a093af3e225101365c74e0faa Merge: 44e3046d3b0 5ad02062d92 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 10 10:34:54 2016 -0400 Merge tag 'mariadb-5.5.51' into 5.5-galera commit 44e3046d3b09a21e21295979d6ddad9f332ebadd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 3 22:15:57 2016 -0400 MDEV-10487: Galera SST using rsync does not filter out lost+found In rsync based SST method, during third phase of data transfer, 'lost+found' should be filtered out while recursively transferring files from various directories under data directory. commit a8c2f68fb8c7915317b12236c21a35bdd41d2092 Merge: ed48fcf177b 558c8ce0f0a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Aug 2 09:53:41 2016 +0300 Merge pull request #208 from Cona19/10.1-remove-unnecessary-semicolon Remove unnecessary semicolon commit ed48fcf177bf1077db731a4d5bb0b6dd7468fc9c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Aug 1 17:02:28 2016 -0400 MDEV-10478: Trx abort does not work in autocommit mode THD's statement transaction handle (st_transactions::stmt) should also be looked for registered htons while serving a request to abort a transaction. commit 84a9e05003e2af253b6e4679cc85a0f0d624c49a Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Aug 1 12:19:29 2016 +0300 MDEV-10470: main.derived fails, buildbot is broken - Update test result (checked) commit 558c8ce0f0aabbe38c37c0a3737adde05a862971 Author: Hyeonseok Oh <hyeonso5@gmail.com> Date: Mon Aug 1 12:13:14 2016 +0900 Remove unnecessary semicolon commit 67480fc5fd7fafc5838a6b8230100a3fc4810481 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jul 28 15:49:59 2016 -0400 MDEV-10429: sys_vars.sysvars_wsrep fails in buildbot on host 'work' (valgrind builder) - Fixed the test - Improved comment for wsrep_drupal_282555_workaround commit b522c71e4be54708dc935f0ad5347fd4b06199ef Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jul 22 19:00:49 2016 -0400 MDEV-10396: MariaDB does not restart after upgrade on debian 8 During wsrep position recovery, galera_recovery.sh script redirected mysqld's error log to a temporary file in order to find the start position. This, however, will not work if --log-error is configured for the server. Fixed by using --log-error in command line instead of redirection. [Patch contributed by Philippe MARASSE] commit a63ceaeab10fc1fc72f5853ce14b278da95579b4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jul 27 17:01:45 2016 +0300 MDEV-10389: Query returns different results on a debug vs non-debug build The problem was caused by a merged semi-join, which contained a non-merged semi-join, which used references to the top-level query in the left_expr. When moving non-merged semi-join from the subquery to its parent, do not forget to call fix_after_pullout for its Item_subselect. We need to do that specifically, because non-merged semi-joins do not have their IN-equality in the WHERE clause at this stage. commit 9f211d49562da522c8b1dec35ff871fa20f5d89f Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jul 19 20:44:02 2016 +0000 MDEV-10314 : wsrep_client_thread was not set in threadpool. Fixed threadpool_add_connection to use thd_prepare_connection() to match thread-per-conection flow. commit 963673e7af5ecdfd31279ed733bcdc964b9d0619 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jul 25 21:52:02 2016 -0400 MW-292: Fix test case commit e57287866fd33b4494839c21ccd7875480c8558d Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jul 15 01:13:32 2016 -0700 Galera MTR Tests: Test case for MW-292 : NOW() returns stale timestamp after transaction replay commit 7431368eafb3e531ba3926e85cc515778f6b5e2f Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Jul 14 14:29:59 2016 +0200 MW-292 Reset timestamp after transaction replay Transaction replay causes the THD to re-apply the replication events from execution, using the same path appliers do. While applying the log events, the THD's timestamp is set to the timestamp of the event. Setting the timestamp explicitly causes function NOW() to always the timestamp that was set. To avoid this behavior we reset the timestamp after replaying is done. commit cbc8a84fa2e65cad7561fa53799ca0273e8a5ff5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jul 25 11:51:21 2016 -0400 MW-267 Enforce wsrep_max_ws_size limit in wsrep provider Update test results. commit 74f80b349924c7f0c091a0973dea0ec61191c2c9 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Fri May 6 16:07:53 2016 +0200 MW-267 Enforce wsrep_max_ws_size limit in wsrep provider This changes variable wsrep_max_ws_size so that its value is linked to the value of provider option repl.max_ws_size. That is, changing the value of variable wsrep_max_ws_size will change the value of provider option repl.max_ws_size, and viceversa. The writeset size limit is always enforced in the provider, regardless of which option is used. commit 5197fcf6b4611a26b3847d1101f1a4fb6d17570a Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu May 5 13:20:32 2016 +0200 MW-269 Fix outstanding issues with wsrep_max_ws_rows This patch includes two fixes: 1) Rollback when wsrep_max_ws_rows is exceeded would not switch back to previous autocommit mode; and 2) Internal rows counter would not be reset on implicit commits. commit 2f5ae0fbe76d749518b8f943b61c198e4b9315aa Author: Rik Prohaska <prohaska7@gmail.com> Date: Sun Jul 24 10:06:18 2016 -0400 MDEV-10412 fix WITH_ASAN option for 10.1 commit a52d3aa831454aa2e7dd4dfde9c65d4b87532caa Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Jun 22 11:17:44 2016 +0200 MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops Do not set 'optimized' flag until whole optimization procedure is finished. commit e6a64e8f0ea36f12bd24ba906aa1f4e2e367a8e0 Author: Daniel Black <danielgb@au.ibm.com> Date: Fri Jul 22 09:19:35 2016 +1000 MDEV-10294: MTR using --valgrind-option to specify a tool / fixing callgrind [10.1] (#200) * MDEV-10294: Put testname into environment as MTR_TEST_NAME during MTR * MDEV-10294: restructure mtr to allow --valgrind-option=--tool=XXX * MDEV-10294: mtr valgrind - supressions all tools + feedback commit e373f60fd161eaf050eb117c9a05d8d83fe0e501 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jul 20 18:12:17 2016 -0400 MW-265 Add support for wsrep_max_ws_rows Update test results. commit 3db92ee43358f5df256bf1b0db4955ec86bdceee Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Tue May 3 16:22:01 2016 +0200 MW-265 Add support for wsrep_max_ws_rows Variable wsrep_max_ws_rows limits the number of rows that a transaction can insert/update/delete. commit f0386598dd825e3a42c463699988f13c123dd6be Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jul 19 20:44:02 2016 +0000 MDEV-10314 : wsrep_client_thread was not set in threadpool. Fixed threadpool_add_connection to use thd_prepare_connection() to match thread-per-conection flow. commit 9b668d7c8ae9cc2a72e2d968f8a6332db0742cd8 Author: Daniel Bartholomew <db@dbart.us> Date: Mon Jul 18 11:01:03 2016 -0400 bump the VERSION commit e4b1846c608af89d71c49ae8e32963b64538fccb Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jul 15 00:43:37 2016 +0200 - jdbc.test: change data file girls.txt CRLF to LF modified: storage/connect/mysql-test/connect/r/jdbc.result modified: storage/connect/mysql-test/connect/std_data/girls.txt modified: storage/connect/mysql-test/connect/t/jdbc.test commit 543cba96c60de6c1304f9f0bfb76838abd785965 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jul 14 19:47:40 2016 +0200 - Disable JDBC tests that fail on Linux modified: storage/connect/mysql-test/connect/disabled.def - Typo modified: storage/connect/CMakeLists.txt commit 1168c1a3b984fb6b9cdf376392a7fcd301800162 Author: Elena Stepanova <elenst@montyprogram.com> Date: Thu Jul 14 03:55:33 2016 +0300 Fix embedded and 32-bit test results after MDEV-8580 commit 12ac3ee11e8bc433432a2b3ba1bb79ea2e2d9965 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jul 13 14:47:58 2016 +0300 Update test results: make innodb_ext_key test stable commit bebabd68abc2c52dfb7cdc05bef2bc18e80b1be5 Merge: 326a8dcd875 10880d67b95 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jul 13 12:10:07 2016 +0200 Merge branch '10.0-galera' into 10.1 commit 326a8dcd875b76faf85626942eb0e6ee76db304e Merge: 64583629ade c6fdb92ca82 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jul 13 12:09:59 2016 +0200 Merge branch '10.0' into 10.1 commit 64583629aded09f74d6d14178475fe6b2c849c00 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jul 12 16:36:43 2016 +0200 MDEV-9588 Mariadb client-only build creates a useless mysqld_safe file commit 12dc083a453dd12eb6563f622de2db05030f35de Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jul 12 13:41:29 2016 +0200 MDEV-8580 For some BOOLEAN or ENUM sysvars list of valid values is not generated set the 'typelib' member for plugin boolean sysvars commit 0d5583b41bb500f0efc5ca9b5768eee5d81e803c Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jul 13 08:55:20 2016 +0200 cleanup commit c5d73186c01998178eaed206e200334b160eb5e8 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jul 12 13:02:26 2016 +0200 MDEV-8227 simple_password_check_minimal_length gets adjusted without a warning commit 4b88cf33c25a2597925264aa4de91810fc53f4c4 Author: Rik Prohaska <prohaska7@gmail.com> Date: Wed Jun 29 13:27:51 2016 -0400 fix sql-bench test-table-elimination view leak. see MDEV-10310 for details commit 98b1bb0b8e7169030640378d25ad045a0ed1c8ed Author: Rik Prohaska <prohaska7@gmail.com> Date: Sat Jun 25 16:44:48 2016 -0400 fix MDEV-7225. see https://jira.mariadb.org/browse/MDEV-72225 for details. commit 8a8ba1949bf4bdc1dd6504d88d20cfa3ef2c0794 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Jul 11 22:22:32 2016 +0300 MDEV-10360: Extended keys: index properties depend on index order TABLE_SHARE::init_from_binary_frm_image has a rule: if an index has a partially-covered column (like in "KEY(col(N))" ), then dont provide "Extended Keys" feature for this index. The problem was that due to coding error Extended Keys feature was disabled for *ALL* subsequent indexes. Fixed the error. commit 0bb5d955423c2a7b29eab02e7bf6194ae003ae75 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Jul 11 22:01:24 2016 +0300 MDEV-10325: Queries examines all rows of a tables when it should not The problem was introduced by 1859caf60b725f81f2ac6091eb44cb848a4a439a: MDEV-10175: range optimizer calls records_in_range() for full extended keys Make the range optimizer not call records_in_range() when it would not give any benefit. that patch used an incorrect way to check for full extended key. Now fixing the check. commit 53e7fcca4191c47ca48c378163bcb93ef6e632a5 Author: Craig Andrews <candrews@integralblue.com> Date: Tue Jun 28 11:23:12 2016 -0400 MDEV-10298: Systemd hardening Add ProtectSystem=full, NoNewPrivileges=true, PrivateDevices=true, and ProtectHome=true to the systemd units. commit 72844d88f6b8ac9bffe669413de6fb1a4adc0054 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jul 12 11:56:38 2016 +0200 Adding DESTINATION to install_jar in CMakeLists.txt commit 11a1332b874c22a21a2ac3f1e95fcfb9abe86fad Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jul 11 19:14:19 2016 +0200 Change CONNECT to connect-engine in CMakeLists.txt commit f280a87c6609384fc2b962b27c1f9d3ac4a39150 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Jul 11 17:03:03 2016 +0000 MDEV-10318 : Fix crash in embedded, in case prepared statement has parameter placeholders, but does not bind parameters commit 11f0eb0f1d7f4ac46a010f0f6cb4a3aa0de2f9a4 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jul 11 18:45:37 2016 +0200 Add CONNECT_WITH_JDBC to CMakeLists.txt commit 8388ae6c006fc9d890aa146912ff00ce63e01208 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jul 11 15:22:30 2016 +0200 - Try distributing the JdbcInterface.jar ${INSTALL_PLUGIN_DIR} --> ${INSTALL_PLUGINDIR} modified: storage/connect/CMakeLists.txt - Try several paths when looking for JVM lib modified: storage/connect/jdbconn.cpp - Make Jdbc tests running on Windows and Linux modified: storage/connect/mysql-test/connect/r/jdbc.result modified: storage/connect/mysql-test/connect/r/jdbc_new.result modified: storage/connect/mysql-test/connect/t/jdbc.test modified: storage/connect/mysql-test/connect/t/jdbc_new.test - Fix compiler's warnings modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jsonudf.cpp commit fca92ced7375618d90c05fd9591d122097c9d38c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jul 9 12:15:30 2016 +0200 remove jdrv.test commit b6209dc519653c895a306ad25aa0bf424701316b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jul 9 12:08:31 2016 +0200 - JAVA DEBUG now depends on connect_xtrace MySQL and MariaDB drivers use catalog for schema modified: storage/connect/JdbcInterface.java - Jdbc temporal fields now return time in seconds modified: storage/connect/JdbcInterface.java modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h - Recognize JDBC temporal types modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp - Test validity of URL modified: storage/connect/ApacheInterface.java modified: storage/connect/JdbcInterface.java modified: storage/connect/MariadbInterface.java modified: storage/connect/MysqlInterface.java modified: storage/connect/OracleInterface.java modified: storage/connect/PostgresqlInterface.java - Java class files are no more distributed A JdbcInterface.jar file is now compiled modified: storage/connect/CMakeLists.txt deleted: storage/connect/wrappers/ApacheInterface.class deleted: storage/connect/wrappers/Client.class deleted: storage/connect/wrappers/JdbcInterface.class deleted: storage/connect/wrappers/MariadbInterface.class deleted: storage/connect/wrappers/MysqlInterface.class deleted: storage/connect/wrappers/OracleInterface.class deleted: storage/connect/wrappers/PostgresqlInterface.class - Try to find the JVM path using JAVA_HOME or registers (Windows) modified: storage/connect/jdbconn.cpp - Add Monty's patches modified: storage/connect/connect.h modified: storage/connect/csort.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/jsonudf.cpp -Change connect_java_wrapper variable from GLOBAL to SESSION modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp - Modify the tests to be able to run at least jdbc and jdbc_new modified: storage/connect/mysql-test/connect/disabled.def modified: storage/connect/mysql-test/connect/r/jdbc.result modified: storage/connect/mysql-test/connect/r/jdbc_new.result modified: storage/connect/mysql-test/connect/t/jdbc.test modified: storage/connect/mysql-test/connect/t/jdbc_new.test modified: storage/connect/mysql-test/connect/t/jdbconn.inc modified: storage/connect/mysql-test/connect/t/jdbconn_cleanup.inc added: storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar commit ae511cbe387fdc16bf48b4fccc889d6d5d256d76 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Jun 28 14:53:17 2016 +0400 MDEV-9363 - Mroonga tests with datetime field fail on Solaris in buildbot On Solaris mktime() adds one extra day to tm_mday field and returns appropriate value for dates 1600-01-01 and earlier. That is 1600-01-01 becomes 1600-01-02. Solaris mktime manual excerpts: ... The tm_year member must be for year 1901 or later. Calendar times before 20:45:52 UTC, December 13, 1901 or after 03:14:07 UTC, January 19, 2038 cannot be represented. Port- able applications should not try to create dates before 00:00:00 UTC, January 1, 1970 or after 00:00:00 UTC, January 1, 2038. ... The mktime() function assumes Gregorian dates. Times before the adoption of the Gregorian calendar will not match his- torial records. ... According to manual Mroonga only supports dates and datetimes after 1900: https://mariadb.com/kb/en/mariadb/about-mroonga/ Technically these tests cover unsupported values and should fail on all platforms. Disable tests until the problem is fixed upstream. commit ecb27d2650da546c53bf7ff709cc6bf5bfa7f289 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Jun 27 15:01:22 2016 +0400 MDEV-10010 - Recursive call to mysql_rwlock_rdlock for LOCK_system_variables_hash Avoid recursive LOCK_system_variables_hash acquisition in intern_sys_var_ptr() by pre-syncing dynamic session variables. commit 95c286cedf4b9330240a0a91a9fc3e58a17782b9 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jul 5 16:53:03 2016 +0300 MDEV-10324: Server crash in get_sel_arg_for_keypart or Assertion The crash was caused by this problem: get_best_group_min_max() tries to construct query plans for keys that are not processed by the range optimizer. This wasn't a problem as long as SEL_TREE::keys was an array of MAX_KEY elements. However, now it is a Mem_root_array and only has elements for the used keys, and get_best_group_min_max attempts to address beyond the end of the array. The obvious way to fix the crash was to port (and improve) a part of 96fcfcbd7b5120e8f64fd45985001eca8d36fbfb from mysql-5.7. This makes get_best_group_min_max not to consider indexes that Mem_root_arrays have no element for. After that, I got non-sensical query plans (see MDEV-10325 for details). Fixed that by making get_best_group_min_max to check if the index is in table->keys_in_use_for_group_by bitmap. commit d1b25890745a140446e4bdd5fd4f489ce1f76fae Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jul 5 15:23:22 2016 +0400 Removing class Item_func_integer. It's not used since MySQL-5.0. commit 1ec91803aca76c999d34d9f17938b976093cb67a Author: Alexander Barkov <bar@mariadb.org> Date: Sun Jul 3 13:52:06 2016 +0400 MDEV-10317 EXCTACT(MINUTE_MICROSECOND) truncates data commit 3ccf8218bc03a9cc598cd2da5c5a98ea2412cc05 Author: Alexander Barkov <bar@mariadb.org> Date: Sun Jul 3 11:20:46 2016 +0400 Partial backporting of 7b50447aa6d051b8d14bb01ef14802cb8ffee223 (MDEV-9407, MDEV-9408) from 10.1 Needed to fix MDEV-10317 easier. commit f832b47833bd03fbb9e972508097f3f88c0ba184 Author: Alexander Barkov <bar@mariadb.org> Date: Sun Jul 3 10:41:16 2016 +0400 Removing the "thd" argument from Item::create_field_for_create_select(). "thd" is available through the "table" argument, as table->in_use. Backporting (partially) from 10.2. commit fc905f15d19617cdfe63f9da374b38e364099fee Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jul 2 18:08:40 2016 +0200 - New version of java wrappers as the "wrappers" package modified: storage/connect/CMakeLists.txt commit ccdd63388a789f407d502848d12c618593a5ded1 Author: Daniel Bartholomew <db@dbart.us> Date: Fri Jul 1 11:30:38 2016 -0400 bump the VERSION commit 6a7c73e3405c6b3eb3482e209f4966a492a37307 Merge: 3fd214c8be7 37b08eff90e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Jul 1 10:24:25 2016 +0300 Merge pull request #198 from grooverdan/10.1-cross-compile Cross Compile HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE change to compile check commit 37b08eff90e6af3a63a7cad43ec2c79ce75d7116 Author: Daniel Black <daniel.black@au.ibm.com> Date: Fri Jul 1 17:10:46 2016 +1000 Cross Compile HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE change to compile check HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE only needed a compile check rather than a RUN check so after changing to a compile check there is one less variable to manually set while cross compiling. commit 10880d67b95d29dc1a764f2ee5c2010dc89659df Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jun 30 10:24:54 2016 -0400 Postfix: memory leak in XtraDB commit b0c90e8186d3d100c1f244cf14758f342e4449da Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jun 30 11:28:24 2016 +0200 - New version of java wrappers as the "wrappers" package deleted: storage/connect/JdbcApacheInterface.class deleted: storage/connect/JdbcApacheInterface.java deleted: storage/connect/JdbcDSInterface.class deleted: storage/connect/JdbcDSInterface.java modified: storage/connect/JdbcInterface.java modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h added: storage/connect/ApacheInterface.java added: storage/connect/Client.java added: storage/connect/JdbcInterface.jar added: storage/connect/MariadbInterface.java added: storage/connect/MysqlInterface.java added: storage/connect/OracleInterface.java added: storage/connect/PostgresqlInterface.java added: storage/connect/wrappers/ApacheInterface.class added: storage/connect/wrappers/Client.class added: storage/connect/wrappers/JdbcInterface.class added: storage/connect/wrappers/MariadbInterface.class added: storage/connect/wrappers/MysqlInterface.class added: storage/connect/wrappers/OracleInterface.class added: storage/connect/wrappers/PostgresqlInterface.class commit 3fd214c8be7c2340ebe06f4c887c67f5c928e5f0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 29 16:50:53 2016 -0400 MDEV-9423: cannot add new node to the cluser: Binlog.. .. file '/var/log/mysql/mariadb-bin.000001' not found in binlog index, needed for recovery. Aborting. In Galera cluster, while preparing for rsync/xtrabackup based SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG in rsync based state transfer and) REFRESH_BINARY_LOG. The latter rotates the binary log and logs Binlog_checkpoint_log_event corresponding to the penultimate binary log file into the new file. The checkpoint event for the current file is later logged synchronously by binlog_background_thread. Now, since in rsync/xtrabackup based snapshot state transfer methods, only the last binary log file is transferred to the joiner node; the file could get transferred even before the checkpoint event for the same file gets written to it. As a result, the joiner node would fail to start complaining about the missing binlog file needed for recovery. In order to fix this, a mechanism has been put in place to make REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event to be logged for the current binary log file if the node is part of a Galera cluster. As further safety, during rsync based state transfer the donor node now acquires and owns LOCK_log for the duration of file transfer during SST. commit 33492ec8d4e2077cf8e07d0628a959d8729bd1f9 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jun 29 21:51:15 2016 +0200 update tests for 32bit commit f10b7db1e278fd366da288e5a8a05ec0a5dae7f8 Author: Sergei Golubchik <vuvova@gmail.com> Date: Wed Jun 29 11:16:26 2016 +0200 valgrind.supp: fix a typo commit 341e5f4411f6b958d139c634cce7b95773ef510e Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 15:38:41 2016 +0200 MDEV-10054 Secure login fails when CIPHER is required SSL: do not require client certificate to exist, if GRANT didn't require that commit 8354c0c4d6df0b0ab959bd88c6c243b5df552713 Merge: 736f821c420 e786a57255d Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 22:13:59 2016 +0200 Merge remote-tracking branch 'refs/remotes/github/10.1' into 10.1 commit 736f821c420954912464b9ae521acc5b768438cc Merge: 62e0a4552f3 7e64b079680 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 22:12:50 2016 +0200 Merge branch 'connect/10.1' into 10.1 commit 62e0a4552f3b4a932f9aa055579dad716b371b9b Merge: 3361aee591b f629f535485 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 22:06:22 2016 +0200 Merge branch '10.0-galera' into 10.1 commit 3361aee591b1eb8c676f60887ffc535cd509890a Merge: 6ce20fb2b9f 0fdb17e6c3f Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 22:01:55 2016 +0200 Merge branch '10.0' into 10.1 commit e786a57255dcfff0e10ba688c8a21a1fc5573f00 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jun 28 17:20:19 2016 +0300 Output more information when assertion ut_a(state == BUF_BLOCK_NOT_USED || state == BUF_BLOCK_REMOVE_HASH); is hit. commit 6ce20fb2b9fe57330c797694b9dbea4028f40d7c Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 10:10:49 2016 +0200 MDEV-9428 NO_AUTO_VALUE_ON_ZERO is ignored when a trigger before insert is defined fix the *other* fill_record() too, arrgh! commit 9c38308d8fa62da5c4be3ed7ad6d6c43fe8e7363 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 10:04:34 2016 +0200 MDEV-10086 no gssapi-server RPM package anymore in 10.1 set CPACK_COMPONENTS_ALL both on the current and parent scope commit 414a417e919252d821f4494c5723d0d9210353b6 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 28 09:29:23 2016 +0200 MDEV-10032 Connect engine not installable on Xenial s/unixODBC/unixodbc/ commit 56a34960678874fad2ec99cc94c37f4e82dfccaa Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 28 13:11:04 2016 +0400 MDEV-10236 Where expression with NOT function gives incorrect result Item_cache::is_null() erroneously returned null_value in a non-cached state. Now Item_cache::is_null() uses has_value(), which caches the value if not cached yet, similar to what other value methods do (e.g. val_int, val_real, etc). commit 64c115b835e4108c089fee7f0bb2f8e4022eae7b Author: Martin Stefany <martinstefany@users.noreply.github.com> Date: Tue Jun 14 21:50:46 2016 +0200 Use hostname instead of IP in donor's socat Using IP address in donor's socat with TLS/SSL and certificate which doesn't contain IP address in CN or SubjectAltName causes transfer to fail with message: socat[5799] E certificate is valid but its commonName does not match hostname. This patch tries to reverse resolve IP address to hostname and use it for transfer. If reverse resolution fails, IP address is still used as fall-back, so proper A/AAAA and PTR records are important, but not mandatory. Certain certificates cannot contain IP addresses, e.g. FreeIPA's Dogtag doesn't allow it, so in my case I would need to use self- signed certificates instead, use verify=0 with socat or don't use TLS/SSL at all. Issue is mentioned in MDEV-9403. commit 7ff44b1a832b005264994cbdfc52f93f69b92cdc Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:30:07 2016 -0400 MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file Since wsrep_sync_wait & wsrep_causal_reads variables are related, they are always kept in sync whenever one of them changes. Same is tried on server start, where wsrep_sync_wait get updated based on wsrep_causal_reads' value. But, since wsrep_causal_reads is OFF by default, wsrep_sync_wait's value gets modified and loses its WSREP_SYNC_WAIT_BEFORE_READ bit. Fixed by syncing wsrep_sync_wait & wsrep_causal_reads values individually on server start in mysqld_get_one_option() based on command line arguments used. commit aa9c8f2a0d5d26103433a6c4bf614559cd4be310 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:24:07 2016 -0400 MDEV-10233: Support bootstraping a Galera cluster with mysqld_multi Added a new --wsrep-new-cluster option to enable mysqld_multi script to start mysqld with the same option. [Patch contributed by Hartmut] commit 7ef5257a64c077742119a7fec9edc105a556eaaa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:22:35 2016 -0400 MDEV-10230: --wsrep_on option no longer passed through by mysqld_safe Append mysqld_safe's wsrep-on option to the list of options used to start mysqld. [Patch contributed by Hartmut] commit 90f222ea7dea4bebdb3ad93c4c1439e3ab08bbba Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:21:00 2016 -0400 MDEV-10235: Deadlock in CREATE TABLE .. AS SELECT .. if result set is empty in Galera In CTAS, handlers get registered under statement transaction (st_transactions::stmt), while ha_fake_trx_id(), used by CTAS, looked under standard transaction (st_transactions::all) for registered handlers, and thus it failed to grab a fake transaction ID. As a result, with no valid transaction ID, wsrep commit failed with an error. ha_fake_trx_id() now looks for handlers registered under 'stmt' in case 'all' is empty. Also modified the logic to print warning only once if none of the registered handlers have fake_trx_id. commit ad3584bf728ad3ee48d99b81d8d14905524df4b8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:17:03 2016 -0400 Test cleanup: Remove unnecessary global suppressions commit 48a0a66ffa3241c91324606911f7964e956bc99f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:15:47 2016 -0400 MDEV-10186: mysqld crash when runtime setting wsrep_cluster_address without wsrep_on=ON On wsrep_cluster_address update, node restarts the replication and attempts to connect to the new address. In this process it makes a call to wsrep provider's connect API, which could lead to segfault if wsrep provider is not loaded (wsrep_on=OFF). Fixed by making sure that it proceeds only if a provider is loaded. commit 7f9fcfe00efa7262b0b95e00a595083ab0e21426 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:07:43 2016 -0400 Code cleanup (wsrep patch). commit 47e4e5dfd95b8a50034bd4c92efaf4f71debae5d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:06:18 2016 -0400 MDEV-6699: wsrep_node_name not automatically set to hostname Update sys_vars.sysvars_wsrep test. commit a6816995ee6cc3dc0508e35fc2da4921b53fb931 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:03:24 2016 -0400 MDEV-10004: Galera's pc.recovery process fails in 10.1 with systemd Galera recovery process works in two phases. In the first phase, mysqld is started as non-daemon with --wsrep-recover to recover and fetch the last logged global transaction ID. This ID is then used in second phase as the start position (--wsrep-start-position=XX) to start mysqld as daemon. As this process was implemented in mysqld_safe script, the recovery did not work when server was started using systemd. Fixed by introducing a shell script (wsrep_recovery.sh) that mimics the first phase of the recovery process. commit 064569906083b24fc980e044cbb3b3427768249f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 18:01:21 2016 -0400 MDEV-10145: Systemd fails to start mysqld in multi-instance mode --defaults-xxx options must be placed before all other options in the command line. Also moved MYSQLD_OPTS at the end so that its options take precedence. commit 2768829e5397756faeae706df80bdba468f77795 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 17:59:12 2016 -0400 MDEV-10056: SST method mysqldump is broken errno must be reset before strtol()/strtoll() functions are invoked. commit b57232d3cb3dbf43551bf7aea42b6f439e0e49eb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 17:56:59 2016 -0400 MDEV-6699 : wsrep_node_name not automatically set to hostname Fixed by using hostname (glob_hostname) as default value for wsrep_node_name system variable. Added a test case. commit f629f5354850728d85d6b915d2a3fe7192f00cd5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 27 14:44:07 2016 -0400 Fix memory leak in XtraDB. commit e337fd13b229edc78c7acb4ef1355fc87261dac9 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Jun 27 22:12:21 2016 +0400 MDEV-10119 mysql_install_db creates GIS procedures with invalid definer. Servers sets default DEFINER to empty if run with the --scip-grant-tables option. So specify the DEFINER explicitly commit 09d902d84befaf3b1d247c2fcb9706e3f83522f4 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Jun 27 18:02:28 2016 +0400 MDEV-9618 solaris sparc build fails on 10.1. Compiler on Sparc is strict about the 'const' modifiers in function declarations and definitions. Meaning they should be exactly same. commit 652e799a387f63a582254a68363e720e47db97e4 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Jun 27 15:14:07 2016 +0400 MDEV-8502 DECIMAL accepts out of range DEFAULT values MDEV-10277 Redundant NOTE when inserting '0.00001 ' into a DECIMAL(2,1) column commit 94a61838fe0ed2bd7a26b1b53d49d179d3013c45 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jun 26 21:15:36 2016 -0400 Fix galera,wsrep tests. commit 92dbe32ddb0028102f3b02e56bcf360e3567701f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jun 25 14:26:36 2016 +0200 - Define MAX_CONNECT_LEN as 1024 following MSDN recommendation modified: storage/connect/odbconn.h - Remove java compiling of JdbcInterface that caused failed compile on BuildBot Labrador site modified: storage/connect/CMakeLists.txt - Remove unused define of MAX_CONNECT_LEN modified: storage/connect/jdbconn.h commit fc799e317d3f4e758c2c7196c2d860f3c20cc98e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 24 13:54:04 2016 -0400 Fix build failure. commit 74dd07e96272694286bd23f13f698fa6009b9956 Merge: 14d62505d90 ecdb2b6e86d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 24 12:02:41 2016 -0400 Merge branch '5.5-galera' into 10.0-galera commit 14d62505d90f01eb6d81466c1d69fa38523c4d3e Merge: 868c2ceb013 9fc102b37ec Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 24 12:01:22 2016 -0400 Merge tag 'mariadb-10.0.26' into 10.0-galera commit 305bbbce6152b0909937659ecba4d51e5b21c094 Merge: 6f669200861 626a62e5cce Author: holyfoot <holyfoot@mariadb.com> Date: Fri Jun 24 18:08:13 2016 +0400 Merge pull request #183 from mweigel/10.1-MDEV-10214 MDEV-10214: Fix segfault when using groups in PAM user mapping plugin commit 6f6692008617d789b581971541dd9a1377c8dc5c Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jun 23 21:57:15 2016 +0400 Recording innodb_ctype_ldml.result forgotten in the patch for: MDEV-8686 A user defined collation utf8_confusables doesn't work 25e68c5e46ced7e626853cdf5491c2b5430fd51b commit ecdb2b6e86d4bef2718eaec61f1edd1c11e41e1a Merge: 51a32ebeb36 12ae840375f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jun 23 12:54:38 2016 -0400 Merge tag 'mariadb-5.5.50' into 5.5-galera commit 25e68c5e46ced7e626853cdf5491c2b5430fd51b Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jun 23 14:25:48 2016 +0400 MDEV-8686 A user defined collation utf8_confusables doesn't work The collation customization code for the UCA (Unicode Collation Alrorithm) based collations now allows to reset to and shift of characters with implicit weights. Previously reset/shift worked only for the characters with explicit DUCET weights. An attempt to use reset/shift with character with implicit weights made the server crash. commit 3e03b89b0a683dd3b14d6ea24d2ca93accdfd61f Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 22 23:20:41 2016 +0300 MDEV-10185: Assertion `tree1->keys[key_no] && tree2->keys[key_no]' failed in Make tree_or set correct SEL_TREE::keys_map for the result. commit d50acf9f88446293d75ef683cf7b08aeca9c9ebb Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jun 22 19:52:40 2016 +0200 - Fix warning "invalid conversion from const char * to char *" modified: storage/connect/jdbconn.cpp - Add java compiling of JdbcInterface modified: storage/connect/CMakeLists.txt commit 63120090f994cc78876944e9f7a76f53337fa46e Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 21 21:36:23 2016 +0400 MDEV-10262 ucs2_thai_520_w2: wrong implicit weights on the secondary level commit 7e64b079680b5f0f1e1cb735e3c83e45e96ec0e3 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jun 20 16:37:57 2016 +0200 - Add column pattern and table type argument to catalog tables modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/odbccat.h modified: storage/connect/odbconn.cpp modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h - Avoid longjump in AllocCatInfo functions modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/odbconn.cpp - Change GetColumns error return value from 0 to -1 modified: storage/connect/JdbcInterface.class modified: storage/connect/JdbcInterface.java commit 7992dae6eb615006aac24387422244184473ba94 Merge: 74009534a10 61492ea5ddd Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jun 20 16:12:19 2016 +0200 Merge branch '10.1' of https://github.com/MariaDB/server into ob-10.1 commit 61492ea5ddd14efd2ede257700ac4d8fba2a04e6 Author: Monty <monty@mariadb.org> Date: Sun Jun 19 15:03:13 2016 +0300 Reset user status after unix_socket.test Fixed mysql-test-run failures for roles.acl_statistics commit 74009534a10c1d30a85309cfca13a4cea37f0667 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jun 13 12:58:24 2016 +0200 - Possibly fix MDEV-10179 Reset remote tables when re-opening modified: storage/connect/tabtbl.cpp - Add trace and make m_Stmt conditional modified: storage/connect/myconn.cpp modified: storage/connect/myconn.h - Protect trace from null string (for Linux) modified: storage/connect/tabcol.cpp - Record error changes modified: storage/connect/mysql-test/connect/r/jdbc_new.result - Typo modified: storage/connect/jdbconn.cpp modified: storage/connect/jsonudf.cpp commit 868c2ceb013e06c29ba37d4634f2d543b96539aa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jun 12 19:28:56 2016 -0400 MDEV-9083: Slave IO thread does not handle autoreconnect to restarting Galera Cluster node Chery-picked commits from codership/mysql-wsrep. MW-284: Slave I/O retry on ER_COM_UNKNOWN_ERROR Slave would treat ER_COM_UNKNOWN_ERROR as fatal error and stop. The fix here is to treat it as a network error and rely on the built-in mechanism to retry. MW-284: Add an MTR test commit 626a62e5cce546b3ae2845c0cc3e05498b9451f6 Author: Mario Weigel <mario@movio.co> Date: Sun Jun 12 23:13:26 2016 +1200 MDEV-10214: Fix segfault when using groups in PAM user mapping plugin commit 94b47bc5a531c2336b136fcdf226f83e2b2c6bac Merge: 9ff93656ae0 196d96cc8f1 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Jun 8 15:16:39 2016 +0200 Merge branch 'mdev9991' into mdev9991-10.1 commit 9ff93656ae072cb95ad7e9404819f2cfbfbda0bc Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Jun 3 19:22:47 2016 +0000 Fix sporadic failure of set_statement mtr test. On Windows with low precision (10-16 ms) timer used for timing queries, the statement "set @@long_query_time=0.01" can log itself a slow if it spawn more single timer tick. The fix is to filter this query out from "SELECT FROM mysql.slow_log" results commit 1859caf60b725f81f2ac6091eb44cb848a4a439a Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Jun 3 14:43:08 2016 +0300 MDEV-10175: range optimizer calls records_in_range() for full extended keys Make the range optimizer not call records_in_range() when it would not give any benefit. commit 825427fa9f4fa5c56301f392d10d254f9eca8a54 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Jun 3 10:58:32 2016 +0300 Update test results commit 613680a04179f0f5832832e82c429832aab322f5 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jun 2 22:11:08 2016 +0200 - Fix MDEV-10111 Reconize unsigned integers when creating tables via srcdef modified: storage/connect/ha_connect.cc modified: storage/connect/myconn.cpp - Fix MDEV-10136 crash on SELECT jsonget_string(NULL, 'a') modified: storage/connect/jsonudf.cpp - Assert longjmp initialized when suballocating modified: storage/connect/plugutil.c - Avoid crash in MakeRecord when table->vcol_set isnull (trace > 1) modified: storage/connect/ha_connect.cc commit 904027c820fb344343de6f68a32bcc889f2bd407 Merge: 7d3d75895d9 b3fc7c7fed4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 2 19:27:22 2016 +0300 Merge branch 'bb-10.1-mdev8989' into 10.1 commit 7d3d75895d9d29d52c34dd3559cec59731d8d267 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 2 19:00:26 2016 +0300 MDEV-9764: MariaDB does not limit memory used for range optimization Part #2: make tree_or(tree1, tree2) to reuse tree1 for the result object for simple cases. These include key IN (c1, ... cN). The reuse was happening in old MySQL versions, but we stopped doing it in the "fair choice between range and index_merge" patch. commit b3fc7c7fed4d52527124d6650e85663b78f2c0bd Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 2 17:31:56 2016 +0300 Update test results part #3. commit 685c63b698fd3a939469ba97ef4f236439447f49 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 2 15:19:52 2016 +0300 Update test results part#2. commit 3fd2521f249cffa5b574156f360e95210fbf5c3e Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 2 13:35:21 2016 +0300 Update test results commit 66dd9fa397acb2eaf4df17facc8f144b10b1ccdf Merge: e0e374783ad 389c51f4bd6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jun 2 11:46:35 2016 +0300 Merge pull request #174 from Cona19/10.1 MDEV-10154 - Remove some unnecessary parentheses commit 5a5a54f7b4cb03d8d8bf6199baa52bdc2b5350b7 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 1 23:43:11 2016 +0300 MDEV-8989: ORDER BY optimizer ignores equality propagation Post-fix #2: - Update test results - Make the optimization conditional under @@optimizer_switch flag. - The optimization is now disabled by default, so .result files are changed back to be what they were before the MDEV-8989 patch. commit e0e374783ad5f265b8cf24e0283ecf67c663ba89 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jun 1 13:06:14 2016 +0300 MDEV-9865: Test encryption.innodb-log-encrypt-crash takes too long on debug build Add big_test and not_debug requirements to avoid timeouts. commit 743814f763725fc9ef3c13b4626d7765d3e29f78 Merge: 016790403a4 500b03fe30e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jun 1 09:23:29 2016 +0300 Merge pull request #177 from Cona19/10.1-spelling-check Fix spelling: shhould -> should commit 500b03fe30ea824b4685c6ef2af6072abbb055dd Author: Hyeonseok Oh <hyeonso5@gmail.com> Date: Wed Jun 1 06:09:13 2016 +0000 Fix spelling: shhould -> should commit 016790403a4bb6182094870870ce1a1c3e2756dc Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue May 31 17:59:04 2016 +0300 MDEV-9764: MariaDB does not limit memory used for range optimization A partial backport of 67f21fb3a077dedfd14b9ca720e926c55e682f93, Bug#22283790: RANGE OPTIMIZER UTILIZES TOO MUCH MEMORY WITH MANY OR CONDITIONS The backported part changes SEL_TREE::keys from being an array of MAX_KEY elements (64*8=512 bytes) to a Mem_root_array<SEL_ARG*> (32 bytes + alloc'ed array of as many elements as we need). The patch doesn't fix the "not limiting memory" part, but the memory usage is much lower with it. commit bc546225c08d46f33bf0630a7755ef568b9ac3cc Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 30 16:56:29 2016 +0400 Adding collations utf8mb4_thai_520_w2, ucs2_thai_520_w2, utf16_thai_520_w2, utf32_thai_520_w2 commit c5733e57e73ddf5211c8cb94137db16a96fca51d Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 30 14:27:24 2016 +0400 - Moving ctype_utf8_th.test to ctype_thai.inc and including it from ctype_uca.test. This is to reuse ctype_thai.inc for other Unicode character sets later - Removing separate ctype_uca.result commit dd7f3073fb76bf48ebebb982ae2c91614f4d05c6 Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 30 13:47:57 2016 +0400 - Moving tests from t/ctype_uca_th.test to include/ctype_uca_w2.inc and including it from t/ctype_uca.test - Deleting r/ctype_uca_th.result commit a8cd030ee0931ba257afef75cfd79eabb15f2c39 Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 30 13:07:43 2016 +0400 Adding LIKE range tests for tricky characters U+0425, U+045F, U+2525, U+5F5F. They have bytes 0x25 and 0x5F. Testing that these bytes are treated as parts of multi-byte characters rather than underscore and percent sign. commit 683b88e66a621af85232d1213b443d8c40fba652 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Sat May 28 11:46:46 2016 +0200 Mark gssapi plugin as stable. No open bug reports, and no further work planned, thus stable is accurate commit a85f6533f13a02a0b0547656a5ff918a1d91d887 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri May 27 15:16:08 2016 +0300 MDEV-8989: ORDER BY optimizer ignores equality propagation Post-fix: add comments, remove dead-code. commit 29db3b5e5c3395e1ae71e3cc5235f97f30c24888 Author: Alexander Barkov <bar@mariadb.org> Date: Thu May 26 22:56:28 2016 +0400 Clean-ups for MDEV-10132 utf8_thai_520_w2 collation: - Changing strnxfrm_multiply from 8 to 4, as agreed with Pruet Boonma - Adjusting tests commit d930d07258744607152ff94be5de57a9b31d0430 Merge: 9c9747fed3e fb35b9ad07f Author: Alexander Barkov <bar@mariadb.org> Date: Thu May 26 21:09:55 2016 +0400 Merge branch 'pruet-utf8thai-10.1' into 10.1 commit ead4147b13aa828f3b8393a2fc294479df9e4bb3 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 26 18:48:47 2016 +0200 - Reconize the JDBC type -7 (BIT) modified: storage/connect/jdbconn.cpp - Add the global variable connect_java_wrapper This enables to use different wrappers modified: storage/connect/CMakeLists.txt renamed: storage/connect/java/ap/JdbcInterface.class -> storage/connect/JdbcApacheInterface.class renamed: storage/connect/java/ap/JdbcInterface.java -> storage/connect/JdbcApacheInterface.java renamed: storage/connect/java/ds/JdbcInterface.class -> storage/connect/JdbcDSInterface.class renamed: storage/connect/java/ds/JdbcInterface.java -> storage/connect/JdbcDSInterface.java modified: storage/connect/ha_connect.cc deleted: storage/connect/java/std/JdbcInterface.class deleted: storage/connect/java/std/JdbcInterface.java modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h - Add JDBC tests (disabled) modified: storage/connect/mysql-test/connect/disabled.def new file: storage/connect/mysql-test/connect/r/jdbc.result new file: storage/connect/mysql-test/connect/r/jdbc_new.result new file: storage/connect/mysql-test/connect/r/jdbc_oracle.result new file: storage/connect/mysql-test/connect/r/jdbc_postgresql.result new file: storage/connect/mysql-test/connect/std_data/girls.txt new file: storage/connect/mysql-test/connect/t/jdbc.test new file: storage/connect/mysql-test/connect/t/jdbc_new.test new file: storage/connect/mysql-test/connect/t/jdbc_oracle.test new file: storage/connect/mysql-test/connect/t/jdbc_postgresql.test new file: storage/connect/mysql-test/connect/t/jdbconn.inc new file: storage/connect/mysql-test/connect/t/jdbconn_cleanup.inc - Typo modified: storage/connect/jsonudf.cpp commit 389c51f4bd63aa562fe23c29b102cd022ed744f5 Author: Hyeonseok Oh <hyeonso5@gmail.com> Date: Thu May 26 10:33:17 2016 +0000 Remove some unnecessary parentheses commit fb35b9ad07f11c8beb24e579f365eca57bbda28a Author: pruet <pruetboonma@gmail.com> Date: Thu May 26 16:45:50 2016 +0700 Multi-level collation in UCA, Thai sorting with contraction for UTF8. commit afa4657fd334056ea8de0c83e1ad655fd49566ae Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue May 24 23:57:06 2016 +0200 - Fix failing json_udf_bin test when --ps modified: storage/connect/jsonudf.cpp modified: storage/connect/mysql-test/connect/disabled.def commit 809422838d7c90e658b889712f45f4b953a7bdd6 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue May 24 11:29:12 2016 +0200 - Alternative versions of the java JdbcInterface Some of them (ap/ds) enable connection to a DataSource added 'storage/connect/java/ap/JdbcInterface.class' added 'storage/connect/java/ap/JdbcInterface.java' added 'storage/connect/java/ds/JdbcInterface.class' added 'storage/connect/java/ds/JdbcInterface.java' added 'storage/connect/java/std/JdbcInterface.class' added 'storage/connect/java/std/JdbcInterface.java' commit 99cd5a962c53e35620cdeeca35dfab4ab4b3bb4c Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon May 23 21:15:01 2016 +0300 MDEV-8989: ORDER BY optimizer ignores equality propagation Variant #4 of the fix. Make ORDER BY optimization functions take into account multiple equalities. This is done in several places: - remove_const() checks whether we can sort the first table in the join, or we need to put rows into temp.table and then sort. - test_if_order_by_key() checks whether there are indexes that can be used to produce the required ordering - make_unireg_sortorder() constructs sort criteria for filesort. commit 0dae2932f42b10d86671d21de41cf0b444aedf5e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon May 23 15:08:51 2016 +0200 - New version of the java JdbcInterface modified: storage/connect/JdbcInterface.class modified: storage/connect/JdbcInterface.java - Ignore *.tlog and .res files modified: .gitignore commit f8bc587c1ac19c614f813479b89945bea8f10c73 Merge: 77dd5ece069 9c9747fed3e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun May 22 14:49:14 2016 +0200 Merge branch '10.1' of https://github.com/MariaDB/server into ob-10.1 commit 77dd5ece06904aa10c3fe05b9493cf3231edcd85 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat May 21 14:28:21 2016 +0200 - Fix wrong return from ExecuteQuery modified: storage/connect/jdbconn.cpp - Suppress GCC warning modified: storage/connect/tabjdbc.cpp commit a982f59b9b7ed988d908fa75425c826d7e85e406 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat May 21 11:56:59 2016 +0200 - JDBC using separate jmethodID for data types Some DEBUG tests modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h commit 2f2797e52f235e6edae8627ac0700f8e43809859 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri May 20 00:18:29 2016 +0200 - JDBC tables can be connected via foreign server wrapper Redesign the handling of errors and exceptions modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h commit 9c9747fed3e1c1a7838e45c71983a3c4bbd3160d Author: Alexander Barkov <bar@mariadb.org> Date: Wed May 18 12:35:38 2016 +0400 Updating uca-dump.c to be able to dump weights outside of BMP. commit 9eaf9345a5a18787ef204cf1cc22348f817e359c Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue May 17 14:01:16 2016 +0300 Update test result after the last commit commit 7972a45b4343cf620f4dc6d508ff9e0c1ca000e3 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 12 17:22:45 2016 +0200 - Remove REQUIRED option that caused compilation to fail Remove JVM_LIBRARY (is now dynamically loaded at run time) modified: storage/connect/CMakeLists.txt commit 0f5ced1dd5f8b21b57effbcd2c4b699d214f7d79 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 12 15:41:21 2016 +0200 - Fix some typo ... causing crash! modified: storage/connect/jdbconn.cpp commit 6aa163bce8279ed6e67cfa825004ba025ebe12d8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 12 12:20:52 2016 +0200 - Continue working on the JDBC table type Suppress the jpath option add the connect_jvm_path and connect_class_path global variables modified: storage/connect/ha_connect.cc modified: storage/connect/jdbccat.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h - Add the envar UDF modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h - Fix MDEV-9950 modified: storage/connect/ha_connect.cc modified: storage/connect/plgdbutl.cpp commit 5c68bc2c3264fa2c4832c468bad32701dd3d4ed0 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri May 6 12:30:01 2016 +0300 MDEV-10006: optimizer doesn't convert outer join to inner on views with WHERE clause When simplify_joins() converts an outer join to an inner, it should reset the value of TABLE::dep_tables. This is needed, because the function may have already set TABLE::dep_tables according to the outer join dependency. commit 4388cb42f580dcd81b821f21850f04b63b0bfda1 Author: Daniel Bartholomew <db@dbart.us> Date: Tue May 10 09:28:00 2016 -0400 bump the VERSION commit 2323cf003387af35b126988eb6e57f1dff7dd996 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon May 9 17:26:50 2016 +0200 - Make the JVM lib dynamically loaded This makes the CONNECT storage engine usable when Java JDK is not installed. modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h - Typo modified: storage/connect/reldef.cpp commit ee0695b8072783d04b27328f974d94273b3fa248 Author: Elena Stepanova <elenst@montyprogram.com> Date: Sun May 8 13:37:12 2016 +0300 Fix 32-bit sysvars test commit 234efb1d282ac5cc6d445447b8c52e8507ef224b Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 8 08:21:57 2016 +0200 update 32-bit rdiff results commit af93c02510232d5add0393ad9e9c2bca623bd816 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 7 09:12:48 2016 +0200 MDEV-10034 Embedded server crashes on CREATE TABLE in PS protocol don't use MY_THREAD_SPECIFIC on the client side in embedded: 1. server memory accounting does not track client side memory 2. in not embedded builds, this still *might* be useful for plugins (handlersocket, connect, etc) commit 5534d8143004022a8431068b1e1f53bd8d7046e9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri May 6 13:56:25 2016 +0300 Merged following change from MySQL 5.6 to MariaDB 10.1 XtraDB including the test case: https://github.com/mysql/mysql-server/commit/520aedfe INNODB: "DATA DIRECTORY" OPTION OF CREATE TABLE FAILS WITH PWRITE() OS ERROR 22 Fix for version mysql-5.6 PROBLEM ======== For version mysql-5.6.27 onwards InnoDB fails to create a table with explicit 'data directory' option when Innodb_flush_method is set to O_DIRECT.While creating link file we get a a pwrite error 22 due to the alignment restrictions imposed by O_DIRECT flag which is being set for the link file created. FIX === Fixed the above issue by making use of file IO functions while creating the link file that wouldn't let the O_DIRECT flag restrictions arise. Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com> Reviewed-by: Shaohua Wang <shaohua.wang@oracle.com> RB: 11387 commit 025decfc38c00e8e04b433f13b22e2f32122abff Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri May 6 01:07:14 2016 +0200 - Remove gcc compiling errors and warnings modified: storage/connect/jdbconn.cpp modified: storage/connect/tabjdbc.h commit 1512078a7a56779d6fdd307a93187b61494de897 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Apr 29 10:50:39 2016 -0400 MDEV-9851: CREATE USER w/o IDENTIFIED BY clause causes crash when using cracklib plugin Do not allow NULL password to pass directly to password validation plugin. commit edbd0ceddaf25508e9949fa3f5bd4bca8f4662bf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Apr 29 09:37:00 2016 -0400 MDEV-9171: innodb.innodb_uninstall Test Failure An additional warning saying "tc-log cannot be enabled" is emitted when InnoDB is installed at runtime on mysqld built with wsrep-patch (-DWITH_WSREP=ON). This happens because, installing InnoDB increments the total number of 2pc-capable engines and with wsrep-patch already enabled - the total count goes >1. Even though, this condition is sufficient to enable tc-logging, it is not permitted at runtime, and thus the warning. Updated the testcase to avoid the warning. commit 9a5c75a07340d6883adeac699ad1a29775698d8f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Apr 29 09:34:44 2016 -0400 MDEV-9853: WSREP says it cannot get fake InnoDB transaction ID followed by segmentation fault Ha_trx_info should not be reset in ha_fake_trx_id() as it is later used during commit. commit 9b2151f6af35f0f8c0b4562335ff01db71fe6d3e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 30 00:35:11 2016 -0400 metadata_lock_info: Add compile time assertions This is to ensure that the list of valid values for METADATA_LOCK_INFO fields is always kept in sync with the parent MDL types. commit 7abb570756ab82dfa1dc610a96e911b46aad1538 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 30 00:22:38 2016 -0400 MDEV-6211: MariaDB-Galera-server uses 'socat', but 'socat' is not in the dependency list Xtrabackup-based SST method uses socat. Move it from Suggests to Depends list. commit 0a1c2a20518e90babfea3a54b257aa28b4603e22 Merge: a87507eec30 c0238be6cfa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu May 5 09:15:04 2016 -0400 Merge branch '10.0-galera' into 10.1 commit a87507eec3081f3a63e527786b1d31e46d79be1c Author: Alexander Barkov <bar@mariadb.org> Date: Thu May 5 15:39:04 2016 +0400 MDEV-9712 Performance degradation of nested NULLIF 10.1 introduced a problem: Execution time for various recursive stages (walk, update_used_table, and propagate_equal_fields) in NULLIF is O(recursion_level^2), because complexity is doubled on every recursion level when we copy args[0] to args[2]. This change fixes to avoid unnecessary recursion in: - Item_func_nullif::walk - Item_func_nullif::update_used_tables - Item_func_nullif::propagate_equal_fields when possible. commit 19c4d22a1e62989bc7382985bd650eaf7ae519b0 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 5 12:35:12 2016 +0200 skip debug_sync test in release builds commit 4025251efd835f47bb2407453d0cbb99750b829e Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 5 11:42:18 2016 +0200 fix rpm installation issues on Fedoras commit 3a88adc3b2a046292301d708d4026bc6c5a4801e Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu May 5 11:28:35 2016 +0400 MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function. Test case added. commit 46973bb3ad57281ae02f6d61bd7e47b6d26b8acd Merge: fba385e3b19 153259874bf Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 5 08:47:17 2016 +0200 Merge branch 'bb-10.1-merge' into 10.1 commit 153259874bfb32c9d1f89a682b96897e32a61986 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 3 20:31:02 2016 +0200 MDEV-9155 Enabling Defragmenting in 10.1.8 still causes OPTIMIZE TABLE to take metadatalocks take MDL_SHARED_WRITE instead of MDL_SHARED_NO_READ_WRITE for OPTIMIZE TABLE. For engines that need a stronger lock (like MyISAM), reopen the table with MDL_SHARED_NO_READ_WRITE. commit 5ef0ce4131c9e5ebd2e09907a6a89b6c9d6c5afe Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 3 13:07:05 2016 +0200 comments commit 92e47c393f707d9877a706f76cf26f226a37166c Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 2 18:28:40 2016 +0200 test for group by pushdown with a view commit ea195d372bfa8f695ee2189f909c9c22b39df0c4 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 1 19:33:25 2016 +0200 MDEV-9949 Connect Engine: long SRCDEF leads to broken table Two bugs here: * the server could create an frm (with a long attribute value) that it could not read back * Connect engine opened files from inside DROP TABLE and was ignoring the error (correctly) but was not hiding it from the server (incorrectly). This caused a crash later when DROP TABLE was finishing successfully while stmt_da already have seen an error. Also added a text case for MDEV-7935 CREATE TABLE ... AS SELECT ... can cause a Server crash (Assertion `0' in Protocol::end_statement) because Connect stopped clearing the error status in stmt_da as a fix for MDEV-7935 commit 09464ddec49355a90fdd32abe2daaa1dff8e1106 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 30 22:50:06 2016 +0200 small parser cleanup * my_yyabort_error() helper * s/lex->thd/thd/ * remove 'else' after MYSQL_YYABORT (for consistency, 95% of the parser did not use 'else' in this case) * simplify ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE commit bf9404d3a493ba122bc46c0fadf33d8cda9d0d3f Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 4 16:05:30 2016 +0200 protect against corrupted frms when reading table options commit bba3d42a1f2566dd8ab11d5910444409c93b8194 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 30 10:27:42 2016 +0200 MDEV-9926 probes_mysql.h includes nonexisting files install private generated files commit 4db2ebb1fe8454ea0f2a70d740fc2d9d9b408f0d Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 30 09:09:10 2016 +0200 MDEV-9940 CREATE ROLE blocked by password validation plugin commit 357f4d832b2aab20e2e723d284937919464e1d56 Merge: 404056563e7 4a624807990 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 5 01:04:05 2016 +0200 Merge branch 'connect/10.1' into 10.1 commit 80a204f27e91629a97a5d41e06bc8e4128a4ae86 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu May 5 01:03:26 2016 +0200 - Try to fix MDEV-9950 (not tested yet) modified: storage/connect/ha_connect.cc modified: storage/connect/plgdbutl.cpp - Fix Mdev-9997 (Sergey Vojtovitch) modified: storage/connect/inihandl.c - Try to have the JDBC type compiled by CMake modified: storage/connect/CMakeLists.txt - Fixing some bugs in the JDBC table type Use the CONNECTION option for the URL modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp - Add the JdbcInterface.class to the project new file: storage/connect/JdbcInterface.class commit 404056563e75786908aa9f6036fad6efe4ba6869 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 4 20:28:20 2016 +0200 fixes for buildbot commit fba385e3b19149a4ec521d85b9db7717d22e3952 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Sun Feb 21 22:00:58 2016 +0100 MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops with UNION in ALL subquery Do not mark subquery as inexpensive when it is not optimized. commit 87e3e67f434628768b5125fbab7e8862fa60da1a Merge: 80da57cc4f0 cee9ab9d85a Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 4 15:23:26 2016 +0200 Merge branch '10.0' into 10.1 commit a02d4023db42755b5cb7d0ccb0543fbe94d1b628 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed May 4 11:42:39 2016 +0400 MDEV-9618 solaris sparc build fails on 10.1. Compiler there is strict about the C/C++ call model mixing in function variable assumptions. Fixed by adding some 'extern "C"' and changing '?' operator with 'if'. commit 5dd0c77e9239217457cf795d6380bdd3bf0808ad Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue May 3 20:53:29 2016 +0300 MDEV-9362: InnoDB tables using DATA_DIRECTORY created using MySQL 5.6 do not work with MariaDB 10.1 Analysis: Problem is that tablespace flags bit DATA_DIR is on different position on MySQL 5.6 compared to MariaDB 10.1. Fix: If we detect that there is difference between dictionary flags and tablespace flags we remove DATA_DIR flag and compare again. Remote tablespace is tried to locate even in case when DATA_DIR flag is not set. commit 80da57cc4f0c717ee3e01ac5abccc859b88a2fbf Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 3 20:13:58 2016 +0200 remove the forgotten PARENT_SCOPE commit 67723e9618751e323ca161a0a31be56ebe1fab43 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue May 3 15:23:34 2016 +0200 Move MYSQL_ADD_PLUGIN outside of IF(OQGRAPH_OK) condition, otherwise the plugin does not get compiled if cmake is called multiple times. commit 673efd064831e99384b5ed2250c399678e4625a7 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue May 3 15:18:55 2016 +0200 MDEV-10015 Fix oqgraph compilation on Windows commit 94cd0f6c9b3b04db67501ef29d470f32527ceda2 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon May 2 12:58:57 2016 +0400 MDEV-9898 SET ROLE NONE can crash mysqld. The check_user_can_set_role() used find_user_exact() to get the permissions for the SET ROLE NONE command. Which returned NULL too often, for instance when user authenticated as 'user'@'%'. Now we use find_user_wild() instead. commit ad4239cc3dc7ad5f6f264e1fb3cf6d24084bda90 Author: Monty <monty@mariadb.org> Date: Sun May 1 18:52:13 2016 +0300 Fixed assert if user table was mailformed. Added mysql_to_mariadb.sql script, to change mysql.user tables from MySQL 5.7 to MariaDB. After this script is run, one can get the other tables fixed by running mysql_upgrade commit c0238be6cfaaf17c7c3a6f3fc59937cc13cc00be Merge: 8a1efa1bdd2 51a32ebeb36 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Apr 29 16:59:25 2016 -0400 Merge branch '5.5-galera' into 10.0-galera commit 8a1efa1bdd29b756c93a3ddbd8ad6fadec1082bc Merge: 7c42b47e679 9eba34f0867 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Apr 29 16:50:58 2016 -0400 Merge branch '10.0' into 10.0-galera commit 037b78e5ec2e28d0d4573605f7dc8d5e2b36a66f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Apr 29 12:32:35 2016 +0300 MDEV-9242: Innodb reports Assertion failure in file buf0dblwr.cc line 579 Analysis: When pages in doublewrite buffer are analyzed compressed pages do not have correct checksum. Fix: Decompress page before checksum is compared. If decompression fails we still check checksum and corrupted pages are found. If decompression succeeds, page now contains the original checksum. commit d5822a3ad0657040114cdc185c6387b9eb3a12b2 Author: Monty <monty@mariadb.org> Date: Thu Apr 28 16:27:42 2016 +0300 Fixed some galera tests commit d62b7585224034535b1cdfd0b2e0ec0eee881614 Author: Monty <monty@mariadb.org> Date: Thu Apr 28 14:14:09 2016 +0300 Moved mysqld_server_initialized to before galera is initialized. commit ea83c1d7c61f6e267dfbbf01781cbbee7835ebe3 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Apr 28 15:21:10 2016 +0300 MDEV-9977: Crash when accessing large (>4G) InnoDB table on MariaDB 10.1.x 32-bit binaries. Problem was the fact that tablespace size was incorrectly rounded to next extent size (1M). commit 732adec0a4c75d99389230feeb0deca0ad668de7 Author: Monty <monty@mariadb.org> Date: Thu Apr 28 13:39:05 2016 +0300 Removed some not needed when doing delete thd, which caused warnings about wrong mutex usage from safe_mutex. Ensure that LOCK_status is always taken before LOCK_thread_count commit b4ff64568c88ab3ce559e7bd39853d9cbf86704a Author: Monty <monty@mariadb.org> Date: Thu Apr 28 11:10:55 2016 +0300 Fixed wrong counting of global Memory_used commit 7c6cb41b15624fa77cbc92c7b5de9a834e011d56 Author: Monty <monty@mariadb.org> Date: Wed Apr 27 16:38:24 2016 +0300 Ignore files in tmp (like mysqld.S) commit 48f02af761a8ae575388820ddb73622aaf109175 Author: Monty <monty@mariadb.org> Date: Wed Apr 27 16:37:01 2016 +0300 MDEV-9602 crash in st_key::actual_rec_per_key when group by constant Problem was that cost_group_min_max() could not handle if group by was optimized away. commit 51a32ebeb3653bfed481a3ddbfe5f93aecdf4a35 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 27 12:29:25 2016 -0400 MDEV-9884: Existing /var/lib/mysql/.sst directory (with contents) causes SST to fail with xtrabackup-v2 [Fix taken from https://github.com/percona/percona-xtradb- cluster/commit/b3ee75949ed82b88f355ca2e26431350cc1c89ac] During SST, the receiver node creates .sst directory under datadir to process/prepare the received data and removes it at the end of the process. In case of error, this directory, however, was not removed, which later caused subsequent SSTs to fail. Fixed by removing this directory at the beginning of SST if it existed. commit 646c4cea58afbb369021a3d7b5ccbbf6aed708d4 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Apr 27 16:13:14 2016 +0200 MDEV-9973 : Do not set permissions for serviceaccount user (Win7 and later) This appears to break some installation, and it did not do anything useful anyway. commit bbdeb911b85ad10ae4a13308492e541384ec9889 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Apr 27 12:57:27 2016 +0200 - Add the JdbcInterface.java to the project added: storage/connect/JdbcInterface.java - Add *.java to be handled modified: .gitattributes commit 7b7414c0ef6a9f009c96483e60ebf1e5a6a6eb14 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Apr 27 12:36:55 2016 +0200 - Add the JDBC table type compilation for CMAKE. modified: storage/connect/CMakeLists.txt - Fix MDEV-9993 modified: storage/connect/jsonudf.cpp commit 071ae303bd7ad6ce71f05a25695cd0e9fcef112c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 27 11:07:43 2016 +0300 MDEV-9121: innodb_force_recovery = 6 cannot recover ANY DATA when change buffer not empty Fix: Allow not empty change buffer when innodb_force_recovery >= 5 and output only a warning to error log. Note: Before using force recovery you should always take backup of your database. commit 47e07178060cf78d1914f83ab1daff4f557f8615 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Apr 27 11:08:46 2016 +0400 MDEV-9792 Backport MDEV-8713 to 10.1. commit 4a6248079904498825c0b03b727b9e7486ed8867 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Apr 26 11:22:30 2016 +0200 - Add the use of prepared statement in the JDBC table type. modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h commit 43e19b3fc8cb2a0d4a726c3ea822a369e60c5adc Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sat Apr 23 12:15:18 2016 +0400 Fixed compilation failure due to unused var. commit 4f1c1975b5f3d98321ad9e5b6f952c166d3606a7 Merge: 9c89b84d46e 0991e19e9d3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Apr 25 11:06:16 2016 -0400 Merge tag 'mariadb-5.5.49' into 5.5-galera commit c086a96b94322de173921ff5d15edc6a2ca82509 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Apr 24 19:56:32 2016 +0200 - Fix an error causing MYSQL table to fail saying "no result set" when joining a table to a MYSQL indexed table. modified: storage/connect/myconn.cpp modified: storage/connect/myconn.h modified: storage/connect/tabmysql.cpp - Fix an error causing JDBC table to fail saying when joining a table to a JDBC indexed table. added: storage/connect/tabjdbc.cpp - Add more tests to the mysql_index.test file modified: storage/connect/mysql-test/connect/r/mysql_index.result modified: storage/connect/mysql-test/connect/t/mysql_index.test - Add dummy JDBC support (NIY) modified: storage/connect/CMakeLists.txt - Typo modified: storage/federatedx/ha_federatedx.cc commit afecdd24199faf3387d8f3f968d2ffe78f189189 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Apr 23 23:20:10 2016 +0200 - Fix and error causing remote indexing to fail when for not unique index. Was experienced with MYSQL, ODBC and JDBC tables. modified: storage/connect/connect.cc - Fix MDEV-9966 (zero lines returned) modified: storage/connect/ha_connect.cc modified: storage/federatedx/ha_federatedx.cc - Typo modified: storage/connect/odbconn.cpp modified: storage/connect/reldef.cpp modified: storage/connect/tabmysql.cpp - Add new table type JDBC modified: storage/connect/ha_connect.cc modified: storage/connect/mycat.cc modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabodbc.cpp added: storage/connect/jdbccat.h added: storage/connect/jdbconn.cpp added: storage/connect/jdbconn.h added: storage/connect/tabjdbc.cpp added: storage/connect/tabjdbc.h commit 1cf852d874b0e82ebfa3854300abaacd04d3eb01 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Thu Apr 7 14:44:29 2016 +0200 MDEV-9383: Server fails to read master.info after upgrade 10.0 -> 10.1 In some cases, MariaDB 10.0 could write a master.info file that was read incorrectly by 10.1 and could cause server to fail to start after an upgrade. (If writing a new master.info file that is shorter than the old, extra junk may remain at the end of the file. This is handled properly in 10.1 with an END_MARKER line, but this line is not written by 10.0. The fix here is to make 10.1 robust at reading the master.info files written by 10.0). Fix several things around reading master.info and read_mi_key_from_file(): - read_mi_key_from_file() did not distinguish between a line with and without an eqals '=' sign. - If a line was empty, read_mi_key_from_file() would incorrectly return the key from the previous call. - An extra using_gtid=X line left-over by MariaDB 10.0 might incorrectly be read and overwrite the correct value. - Fix incorrect usage of strncmp() which should be strcmp(). - Add test cases. commit 3f6125129f986b2d9bd4a002c30e35e6963b0e3f Author: Monty <monty@mariadb.org> Date: Thu Apr 7 20:38:21 2016 +0300 Fixed results commit 293cb04959172f65b9d62124fd20339c47658eb0 Author: Monty <monty@mariadb.org> Date: Thu Apr 7 19:26:25 2016 +0300 MDEV-9621 INSERT DELAYED fails on insert for tables with many columns This fix also fixes a connection hang when trying to do INSERT DELAYED to a crashed table. Added crash_mysqld.inc to allow easy crash+restart of mysqld commit 4b6a3518e4dc9088d1f42cd9bc487d06137d2760 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Apr 6 14:15:44 2016 +0200 Use _ReadWriteBarrier() rather than MemoryBarrier() for preventing compile optimization commit fd7a8d18ea3a844be1a82490be3c154549dfee47 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Apr 6 13:38:22 2016 +0200 Fix compile error in UT_COMPILER_BARRIER on Visual Studio compiler. commit 9794cf2311c8fe86f05e046f0b96b46862219e03 Merge: 04737330bea 26c38de804e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 6 08:50:59 2016 +0300 Merge pull request #168 from grooverdan/10.1-MDEV-8684-UT_RELAX_CPU_isnt_relaxing MDEV-8684 ut relax cpu isnt relaxing commit 04737330bea89437d8069d8eeb4bc484213dfdf0 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 3 20:19:59 2016 +0300 MDEV-9860: TokuDB ORDER BY DESC query is slower in 10.1 with ICP ON Implement ha_tokudb::cancel_pushed_idx_cond(). This is a conservative fix which follows the approach from the previous patch for: BUG#1000051: Query with simple join and ORDER BY takes thousands times... commit 26c38de804ecb87eae7fbe6ac32dadebb7803b4d Author: Daniel Black <daniel.black@au.ibm.com> Date: Fri Apr 1 09:03:57 2016 +1100 MDEV-8684: Use POWER wrappers rather than direct asm i.e. __ppc_set_ppr_low rather than 'or 1,1,1' commit c395aad668bdf675b1a35f093c9f1d8d8570b7c4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 31 13:12:48 2016 +0300 MDEV-9840: Test encryption.innodb-log-encrypt-crash fails on buildbot Problem: We created more than 5 encryption keys for redo-logs. Idea was that we do not anymore create more than one encryption key for redo-logs but if existing checkpoint from earlier MariaDB contains more keys, we should read all of them. Fix: Add new encryption key to memory structure only if there currently has none or if we are reading checkpoint from the log. Checkpoint from older MariaDB version could contain more than one key. commit 64824a760d3ee4715d301dcdff541b66fac32992 Author: Daniel Black <daniel.black@au.ibm.com> Date: Wed Mar 30 15:09:52 2016 +1100 MDEV-8684: UT_RELAX_CPU on Power to non-empty expansion Using __ppc_get_timebase will translate to mfspr instruction The mfspr instruction will block FXU1 until complete but the other Pipelines are available for execution of instructions from other SMT threads on the same core. The latency time to read the timebase SPR is ~10 cycles. So any impact on other threads is limited other FXU1 only instructions (basically other mfspr/mtspr ops). Suggested by Steven J. Munroe, Linux on Power Toolchain Architect, Linux Technology Center IBM Corporation commit 3d1a7cba71f6c843639f0b9a48b12017ff610112 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Mar 30 14:42:12 2016 +1100 MDEV-8684: Remove delaying maths in ut_delay Also introduce compiler barrier properly on all architectures. commit d4ba50477e6f0092a3b83528c02c0f30a2b708a3 Author: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> Date: Wed Mar 30 14:32:20 2016 +1100 Some POWER specific optimizations Bug#18842925 : SET THREAD PRIORITY IN INNODB MUTEX SPINLOOP Like "pause" instruction for hyper-threading at Intel CPUs, POWER has special instructions only for hinting priority of hardware-threads. Approved by Sunny in rb#6256 Backport of the 5.7 fix - https://github.com/mysql/mysql-server/commit/c92102a6ef0f280bfb56e5585fca0d0cdcc34890 (excluded cache line size patch) Suggestion by Stewart Smith commit 2275640deb33af952ae094b2f742578639f1611b Author: Marko Mäkelä <marko.makela@oracle.com> Date: Wed Mar 30 14:23:37 2016 +1100 Bug#20045167 UT_DELAY MISSING COMPILER BARRIER UT_RELAX_CPU(): Use a compiler barrier. ut_delay(): Remove the dummy global variable ut_always_false. RB: 11399 Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> Backported from MySQL-5.7 - patch https://github.com/mysql/mysql-server/commit/5e3efb03962838a13afbf1579abbb96aee48ad64 Suggestion by Stewart Smith commit 37a65e3335bd2dc28574b2f938d2a18b1b52f8cb Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Mar 30 16:08:05 2016 +0300 MDEV-9793: getting mysqld crypto key from key version failed Make sure that we read all possible encryption keys from checkpoint and if log block checksum does not match, print all found checkpoint encryption keys. commit 4ddb9deaf30bf3be664f3427f0b5393dc5a6c09c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Mar 30 14:59:25 2016 +0300 MDEV-9678: Data Directory bug MDEV-9833: Log files are opened using O_DIRECT causing problems if block size != 512 Fix typo. commit a1b2a28e55c142be63b79b3871b26640079a8849 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Mar 25 13:02:34 2016 +0100 - Fix MDEV-9779. Avoid buffer overflow when setting partname. modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h commit d681c50a701127cedc72dbd9f0898f7bb257f555 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Mar 24 23:18:54 2016 +0100 - Fix MDEV-9779. Connection was not recognized in the option list. This was a regression bug. modified: storage/connect/ha_connect.cc modified: storage/connect/mysql-test/connect/r/part_table.result modified: storage/connect/mysql-test/connect/t/part_table.test commit 9f5b285662ed8c13d6e87d8baf2f0ad4484d4a85 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Mar 24 09:45:28 2016 +0100 Followup for 2783fc7: return an error to the caller if mysql.proc cannot be opened commit 2cb72dcccb640e546cf202481fa545c9cf5ded3a Merge: 4374501806c f6d99a0d8a8 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Mar 24 09:24:02 2016 +0100 Merge branch '10.0' into 10.1 commit 4374501806ce2adcac73c8b90cb3509ccada7041 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Mar 24 11:00:40 2016 +0400 Ugly test removed for now. commit 2783fc7d14bc8ad16acfeb509d3b19615023f47a Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Mar 23 12:16:39 2016 +0400 MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function. The cause of the issue is when DROP DATABASE takes metadata lock and is in progress through it's execution, a concurrently running CREATE FUNCTION checks for the existence of database which it succeeds and then it waits on the metadata lock. Once DROP DATABASE writes to BINLOG and finally releases the metadata lock on schema object, the CREATE FUNCTION waiting on metadata lock gets in it's code path and succeeds and writes to binlog. commit e4435b5ec304be1439475f6f6084fbf9f1fd9e1f Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 23 08:26:40 2016 +0400 MDEV-9604 crash in Item::save_in_field with empty enum value 1. Fixing Field_time::get_equal_const_item() to pass TIME_FUZZY_DATES and TIME_INVALID_DATES to get_time_with_conversion(). This is needed to make the recursively called Item::get_date() return non-NULL values on garbage input. This makes Field_time::get_equal_const_item() work consistently with how Item::val_time_packed() works. 2. Fixing Item::get_date() to return TIME'00:00:00' rather than DATE'0000-00-00' on empty or garbage input when: - TIME_FUZZY_DATES is enabled - The caller requested a TIME value (by passing TIME_TIME_ONLY). This is needed to avoid conversion of DATE'0000-00-00' to TIME in get_time_with_conversion(), which would erroneously try to subtract CURRENT_DATE from DATE'0000-00-00' and return TIME'-838:59:59' rather than the desired zero value TIME'00:00:00'. #1 and #2 fix these type of scripts to return one row with both MyISAM and InnoDB, with and without an index on t1.b: CREATE TABLE t1 (a ENUM('a'), b TIME, c INT, KEY(b)); INSERT INTO t1 VALUES ('','00:00:00',0); SELECT * FROM t1 WHERE b=''; SELECT * FROM t1 WHERE a=b; SELECT * FROM t1 IGNORE INDEX(b) WHERE b=''; SELECT * FROM t1 IGNORE INDEX(b) WHERE a=b; Additionally, #1 and #2 fix the originally reported in MDEV-9604 crash in Item::save_in_field(), because now execution goes through a different path, so save_in_field() is called for a Item_time_literal instance (which is non-NULL) rather than a Item_cache_str instance (which could return NULL without setting null_value). 3. Fixing Field_temporal::get_equal_const_item_datetime() to enable equal field propagation for DATETIME and TIMESTAMP in case of comparison (e.g. when ANY_SUBST), for symmetry with Field_newdate::get_equal_const_item(). This fixes a number of problems with empty set returned on comparison to empty/garbage input. Now all SELECT queries in this script return one row for MyISAM and InnoDB, with and without an index on t1.b: CREATE TABLE t1 (a ENUM('a'), b DATETIME, c INT, KEY(b)); INSERT INTO t1 VALUES ('','0000-00-00 00:00:00',0); SELECT * FROM t1 WHERE b=''; SELECT * FROM t1 WHERE a=b; SELECT * FROM t1 IGNORE INDEX(b) WHERE b=''; SELECT * FROM t1 IGNORE INDEX(b) WHERE a=b; commit f66303dcf9fc9b7d5244be8b3c724387a5da7988 Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Mar 23 02:22:09 2016 +0200 Fix sysvar tests - embedded and 32-bit commit 29753fb9f285afa0550c54409a985970460b9172 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Mar 22 22:18:33 2016 +0200 MDEV-9443: Add reexecution test cases. commit 287f2d2947c15d1e7ff35ba123b37291147e1c85 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Mar 22 13:45:51 2016 +0200 MDEV-9443: Add REVOKE <role> as a command to PREPARE commit c4bef7ad3c1528e902e88aa8b2446f29ffc1b0e6 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Mar 21 22:14:49 2016 +0200 MDEV-9443: Roles aren't supported in prepared statements Make role statements work with the PREPARE keyword. commit 16ddd1824c679751deb0ab89b40c1375f6540c3f Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Mar 21 17:47:15 2016 +0200 MDEV-9613: keyfile without any keys crashes mysqld on loading file_key_management plugin Code was assuming that the keys file would contain at least one valid key. This caused a Dynamic_array::at(0) call that lead to the crash. commit 8e048579cdafd6656ebc7dd5bee919c0899e4d7d Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Mar 21 17:38:52 2016 +0200 Add an empty file to std_data for future testing purposes commit 0a4a78ae8cd6844c34f9ed391dfb0eb71244f229 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 22 23:26:39 2016 +0400 MDEV-6058 MySQL Bug #11766693: LOG-SLOW-ADMIN-STATEMENTS AND LOG-SLOW-SLAVE-STATEMENTS NOT DISPLAYED. These parameters were moved from the command line options to the system variables section. Treatment of the opt_log_slow_slave_statements changed to let the dynamic change of the variable. commit fd6c588659a96140404b05b18e5f8940d1ed9595 Merge: f71c45c71db e0c136b4f04 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 22 19:18:48 2016 +0100 Merge branch 'bb-10.1-serg' into 10.1 commit f71c45c71db8c7862fc50b8382ccdbff4772e258 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 22 17:55:23 2016 +0200 MDEV-9678: Data Directory bug Problem was that link file (.isl) is also opened using O_DIRECT mode and if this fails the whole create table fails on internal error. Fixed by not using O_DIRECT on link files as they are used only on create table and startup and do not contain real data. O_DIRECT failures are successfully ignored for data files if O_DIRECT is not supported by file system on used data directory. commit e0c136b4f0481b5b5a87567e66da75308cbf7bda Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 22 10:53:28 2016 +0100 MDEV-9737 Duplicate error in replication with slave triggers and auto increment delete deferred events after they're executed (otherwise they can be executed again for a sub-statement) See also commit 0e78d1d Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com> Date: Wed Mar 20 11:20:47 2013 +0530 BUG#15850951-DUPLICATE ERROR IN REPLICATION WITH SLAVE TRIGGERS AND AUTO INCREMENT commit 37f915c1915d61cd62ae6dc822317e787df4922f Merge: 52ce743bbf0 7c42b47e679 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Mar 22 01:35:56 2016 -0400 Merge branch '10.0-galera' into 10.1 commit 52ce743bbf0264808d422c09638e13f2042fbf7e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 16 19:39:19 2016 -0400 MDEV-9382: After updating mariadb server apt-configure fails When acting as a Galera receiver node, server startup may take more than 30 secs (the current default) as it has to wait for SST/IST operation to complete besides spending some time doing wsrep recovery. Fixed by raising the default value of MYSQLD_STARTUP_TIMEOUT to 60 secs. Also sourced /etc/default/mariadb into the init script so that it can be used to set MYSQLD_STARTUP_TIMEOUT. commit df3ad1109765a4e207dede13769e993ab34903c5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 16 16:48:24 2016 -0400 MDEV-9598: Donor's rsync SST script hangs if FTWRL fails Post-fix: initialize err commit d31d6d31bb121150a99d95d2af0cab17396fbfc6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 16 16:44:43 2016 -0400 MDEV-9696: CREATE SERVER statement does not replicate in Galera Cluster Enable replication of CREATE/ALTER/DROP SERVER statements in Galera cluster. commit 000f76d886b15454140c886b99ced0a0a3743941 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 2 09:19:36 2016 -0500 Fix galera_sync_wait_show test. commit 7c42b47e67918104fddd121a1ca9fede28ed47cf Merge: 01897db1020 9c89b84d46e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Mar 22 00:35:14 2016 -0400 Merge branch '5.5-galera' into 10.0-galera commit d5a80519c9237abb12385690ebf5c84d3ce91b85 Merge: e984159e39c 59c4675c6b5 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 21 21:43:28 2016 +0100 Merge branch 'connect/10.1' into 10.1 commit 537fc572d451888d26c26d3e89c3237d1213be4d Author: Alexander Barkov <bar@mariadb.org> Date: Tue Mar 22 00:09:04 2016 +0400 MDEV-9516 type error when setting session variable Allowing assigning of DECIMAL(N,0) values to INT-alike system variables. commit e984159e39c7338565a7d927084b78008e95972e Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 18 16:54:05 2016 +0100 MDEV-9527 build FAILs with GCC 5.1 with release supported "-std=c+11" 10.1 part of the fix commit 3b0c7ac1f9d64afc933ce0354037c709366b7dff Merge: e7cf898d6dc 22ebf3cb456 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 21 13:02:53 2016 +0100 Merge branch '10.0' into 10.1 commit e8af217e16837000b8a3809e9fa48a5e75088cd0 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Mar 17 15:12:57 2016 +0100 MDEV-9590: Always print "Engine-independent statistic" warnings and might be filtering columns unintentionally from engines Do not issue the warning in case we are not going to collect the statistics. commit e7cf898d6dc3dcac41f58db4761df3a6d1dffc03 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 21 11:35:48 2016 +0100 rpm: prefer the conditional %{?...} syntax commit c03433dea75435762c404dd02c123c0d05c106c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 18 21:59:24 2016 +0100 rpm: ignore /usr/lib/systemd and /usr/lib/systemd/system commit 14771bd044bc46b47b11c33b69b37d0d484af51a Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 18 13:28:58 2016 +0100 MDEV-9660 yum/rpm update from 10.0 to 10.1 replaces/obsoletes ? MariaDB-server-10.1 should obsolete MariaDB-Galera-server commit 94768542115289272996f6450b7d3cafa75dcead Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 21 11:21:44 2016 +0400 MDEV-9369 IN operator with ( num, NULL ) gives inconsistent result Based on this commit into MySQL-5.7: > commit 8e51b845aafc8b4cdebd763c8aebda262ac2d4cd > Author: Guilhem Bichot <guilhem.bichot@oracle.com> > Date: Mon Nov 4 15:44:55 2013 +0100 > > Bug#13944462 'NULL IN (XX)' RETURNS WRONG RESULTS commit 23903255d82b77c77b734fa328ee01ca1a1ae8db Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 17 22:03:09 2016 +0100 MDEV-9629 Disappearing PRI from Key column after creating a trigger when creating shadow nullable fields, preserve all original field flags (because we swap flags back and forth in not_null_fields_have_null_values()) commit b24a04c6e04ba3e1488426d7fd333ee564858be5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 17 18:55:39 2016 +0100 don't do anything for AWS plugin unless it's enabled in particular, don't do ExternalProject_Add() that starts creating build directories for a disabled plugin commit a1782b4ab92acddc326a6b9342d5e6b11bb24952 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 19 19:40:25 2016 +0100 MDEV-9739 Assertion `m_status == DA_ERROR || m_status == DA_OK' failed in Diagnostics_area::message() ; connect.xml* tests fail in buildbot commit 59c4675c6b50bd0df60b56a2e34f37c6f616fc3f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Mar 19 12:02:03 2016 +0100 - Fix compile error when copying a string on itself. modified: storage/connect/value.cpp - Fix compile error of MDEV-9603 modified: storage/connect/tabmysql.cpp commit d70697b6f8844a07f603caac8ababaeb5331c972 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 17 18:06:25 2016 +0100 main.mysqld--help failure with cracklib plugin don't fail if cracklib_password_check is statically compiled in commit 3fdc6140a358161e6dff054134f08333e8f9f44d Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 11 08:59:51 2016 +0100 update plugins' maturity levels commit 7cb16dc2a369058b31df1b3999989f6beff94d07 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 18 20:53:18 2016 +0200 MDEV-9422: Checksum errors on restart when killing busy instance that uses encrypted XtraDB tables Fix incorrectly merged files on innodb_plugin. commit 4fdac6c07e1b896cbf6060d61b47669a48a1ebc9 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 16 19:49:17 2016 +0100 MDEV-9701: CREATE VIEW with GROUP BY or ORDER BY and constant produces invalid definition Fixed printing integer constant in the ORDER clause (MySQL solution) Removed workaround for double resolving counter in the ORDER. commit 9c89b84d46e0645820acb9e3cc339af10c68cfb7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Mar 18 11:27:32 2016 -0400 MDEV-9401: wsrep_forced_binlog_format with binlog causes crash Some statements are always replicated in STATEMENT binlog format. So upon their execution, the current binlog format is temporarily switched to STATEMENT even though the session's format is different. This state, stored in THD's current_stmt_binlog_format, was getting incorrectly masked by wsrep_forced_binlog_format, causing assertions and unintended generation of row events. Backported galera.galera_forced_binlog_format and added a test specific to this case. commit b25373beb52af6de43a70a0883918a0d2fd60c53 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 18 17:50:18 2016 +0400 MDEV-9653 Assertion `length || !scale' failed in uint my_decimal_length_to_precision(uint, uint, bool) MDEV-9752 Wrong data type for COALEASCE(?,1) in prepared statements commit 546e9139abadc016b93c6cef610efcc627bfe016 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sun Feb 28 20:53:07 2016 +0400 Fixed plugins.cracklib_password_check failure In RHEL7/RHEL7.1 libcrack behavior seem to have been modified so that "foobar" password is considered bad (due to descending "ba") earlier than expected. For details google for cracklib-2.9.0-simplistic.patch. Adjusted affected passwords not to have descending and ascending sequences. commit 1c84836819b3cfdb8e357896f8b2a3f15e573f9b Author: Akira Higuchi <ahiguti100@gmail.com> Date: Tue Aug 11 15:51:54 2015 +0900 fix that mysqld aborts on exit if an open handlersocket connection remains commit 4f0fc0f91281004fb91cf293e691a52125c4069d Author: Akira Higuchi <ahiguti100@gmail.com> Date: Tue Aug 11 15:42:25 2015 +0900 fix a memory leak in handlersocket commit ee768d8e0e17b655f8f51bc631fb77c68f48c722 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 18 11:48:49 2016 +0200 MDEV-9640: Add used key_id to INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION commit 4aac51db9a55a11574cbfa60484d4329d35b6f2c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Mar 16 17:04:32 2016 +0400 MDEV-9587 - Debian packaging for GSSAPI plugin commit f448a800e173980c18023934f662fe7b8f7e2b9f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 17 16:24:49 2016 +0200 MDEV-9422: Checksum errors on restart when killing busy instance that uses encrypted XtraDB tables Analysis: -- InnoDB has n (>0) redo-log files. -- In the first page of redo-log there is 2 checkpoint records on fixed location (checkpoint is not encrypted) -- On every checkpoint record there is up to 5 crypt_keys containing the keys used for encryption/decryption -- On crash recovery we read all checkpoints on every file -- Recovery starts by reading from the latest checkpoint forward -- Problem is that latest checkpoint might not always contain the key we need to decrypt all the redo-log blocks (see MDEV-9422 for one example) -- Furthermore, there is no way to identify is the log block corrupted or encrypted For example checkpoint can contain following keys : write chk: 4 [ chk key ]: [ 5 1 ] [ 4 1 ] [ 3 1 ] [ 2 1 ] [ 1 1 ] so over time we could have a checkpoint write chk: 13 [ chk key ]: [ 14 1 ] [ 13 1 ] [ 12 1 ] [ 11 1 ] [ 10 1 ] killall -9 mysqld causes crash recovery and on crash recovery we read as many checkpoints as there is log files, e.g. read [ chk key ]: [ 13 1 ] [ 12 1 ] [ 11 1 ] [ 10 1 ] [ 9 1 ] read [ chk key ]: [ 14 1 ] [ 13 1 ] [ 12 1 ] [ 11 1 ] [ 10 1 ] [ 9 1 ] This is problematic, as we could still scan log blocks e.g. from checkpoint 4 and we do not know anymore the correct key. CRYPT INFO: for checkpoint 14 search 4 CRYPT INFO: for checkpoint 13 search 4 CRYPT INFO: for checkpoint 12 search 4 CRYPT INFO: for checkpoint 11 search 4 CRYPT INFO: for checkpoint 10 search 4 CRYPT INFO: for checkpoint 9 search 4 (NOTE: NOT FOUND) For every checkpoint, code generated a new encrypted key based on key from encryption plugin and random numbers. Only random numbers are stored on checkpoint. Fix: Generate only one key for every log file. If checkpoint contains only one key, use that key to encrypt/decrypt all log blocks. If checkpoint contains more than one key (this is case for databases created using MariaDB server version 10.1.0 - 10.1.12 if log encryption was used). If looked checkpoint_no is found from keys on checkpoint we use that key to decrypt the log block. For encryption we use always the first key. If the looked checkpoint_no is not found from keys on checkpoint we use the first key. Modified code also so that if log is not encrypted, we do not generate any empty keys. If we have a log block and no keys is found from checkpoint we assume that log block is unencrypted. Log corruption or missing keys is found by comparing log block checksums. If we have a keys but current log block checksum is correct we again assume log block to be unencrypted. This is because current implementation stores checksum only before encryption and new checksum after encryption but before disk write is not stored anywhere. commit d1e6c40294446ebf2cb34233fa934640a1f4da4c Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Mar 17 17:58:40 2016 +0100 mtr complains about klist is not found, if Kerberos is not installed on machines commit b80b2921176cbcbb3395772e4c10e64411212075 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Mar 17 00:08:00 2016 +0100 - Fix crash when sorting a TBL table with thread=yes. This was because Tablist can be NULL when no lacal tables are in the list. modified: storage/connect/tabtbl.cpp modified: storage/connect/mysql-test/connect/r/tbl.result modified: storage/connect/mysql-test/connect/t/tbl.test commit 7829cefa412bab21048d1ef150c54d407466023d Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Mar 16 18:53:56 2016 +0100 - Fix MDEV-9603 compiler error. modified: storage/connect/tabmysql.cpp - Test invalid CSV separator when creating the table (MDEV-9714) modified: storage/connect/ha_connect.cc - Stop using SQLDescribeParam anymore modified: storage/connect/odbconn.cpp - Fix MDEV-9723 Regression due to calling Cardinality instead of GetMaxSize in info. modified: storage/connect/tabtbl.h modified: storage/connect/mysql-test/connect/r/tbl.result modified: storage/connect/mysql-test/connect/t/tbl.test - Typo modified: storage/connect/tabodbc.cpp commit 9b53d84d14a9b031d193f6beae382a232aa738e3 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 16 13:43:06 2016 +0400 MDEV-9656 Assertion `0' failed in Item_sum_field::get_tmp_table_field(). Removing a wrong ASSERT. Item_sum_field now uses the inherited Item::get_tmp_table_field(). commit d5d0c35f23c54c3ddddaebfeaa77ad80439f0ebd Merge: 46089d76911 5ea894a7c8c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 15 10:46:33 2016 +0200 Merge pull request #160 from grooverdan/crc32_power_abi_fix MDEV-9699: power8 crc32: Per the PPC64 ABI, v20-v31 are non-volatile registers commit 46089d76911accc48684417c5936d71bb9547912 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Sun Mar 13 20:29:14 2016 +0100 MDEV-9659 : AWS KMS encryption plugin commit 517584dde0b42f261ac92751c7c7b1959f7c2d9b Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Mar 10 17:12:58 2016 +0100 Provide a way to reenable DISABLED plugin with -DPLUGIN_${NAME}=STATIC|DYNAMIC commit a12326458dde270c9df7aeef3684d5c5d8fd4402 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun Mar 13 15:37:47 2016 +0200 Add check to avoid NULL-pointer access if encryption information is not available. Clarify system tablespace page 0 check. commit f341d94423daa37bf4bee4d9b96ba8e8d93484c6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Mar 12 13:43:33 2016 +0200 MDEV-9549: Trying to decrypt a not encrypted page Make sure that on decrypt we do not try to reference NULL pointer and if page contains undefined FIL_PAGE_FILE_FLUSH_LSN field on when page is not the first page or page is not in system tablespace, clear it. commit 8c2fd5537b1029a514591f622674f1ceb04fa67e Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 8 09:06:02 2016 +0100 bump the version commit 5ea894a7c8cbeb77f71b6061e9de49a538a0e6c3 Author: Anton Blanchard <anton@au.ibm.com> Date: Tue Mar 8 11:31:45 2016 +1100 MDEV-9699: power crc32: Per the PPC64 ABI, v20-v31 are non-volatile registers These where modified and not restored. Corrected as per upstream: https://github.com/antonblanchard/crc32-vpmsum/compare/f2145e5858c283d6a95ea1bc613db50b4d514303...aaf0ac4 commit 33d298493df7659f17c7825ee17ecb068402d29a Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 4 10:13:41 2016 +0100 MDEV-9683 Server crashes in Item::basic_const_item on numerous nested NULLIFs test case only commit 70f5fabdbf50abb494304baaf863feac3fbd5dd9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 4 10:09:17 2016 +0100 MDEV-9682 Assertion `0' failed in Item_cache_row::illegal_method_call on 2nd execution of PS with NULLIF don't cache Item_cache commit ff93b77fd62bdb708e2b2b34f4e2202c12e727c4 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 3 18:44:10 2016 +0100 MDEV-9641 MDEV-9644 NULLIF assertions * only copy args[0] to args[2] after fix_fields (when all item substitutions have already happened) * change QT_ITEM_FUNC_NULLIF_TO_CASE (that allows to print NULLIF as CASE) to QT_ITEM_ORIGINAL_FUNC_NULLIF (that prohibits it). So that NULLIF-to-CASE is allowed by default and only disabled explicitly for SHOW VIEW|FUNCTION|PROCEDURE and mysql_make_view. By default it is allowed (in particular in error messages and debug output, that can happen anytime before or after optimizer). commit 5a3a79ce5f20a862abdde505a683df1148e0dc37 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 26 12:07:07 2016 +0100 MDEV-9637 select nullif(count(col1),0) gives wrong result if in a view don't do special SUM_FUNC_ITEM treatment in NULLIF for views (as before), but do it for derived tables (when context_analysis_only == CONTEXT_ANALYSIS_ONLY_DERIVED) commit c689e93500589fd653c15166f64d12038594855e Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 5 16:25:23 2016 +0100 update sysvar_innodb,32bit,xtradb.rdiff commit 6c414fcf89510215d6d3466eb9992d444eadae89 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Mar 1 21:10:59 2016 +0100 MDEV-5542: GROUP_CONCAT truncate output to 65.536 chars when using DISTINCT or ORDER BY port of mysql fix WL#6098 commit 66832b619510f5b9724d8db1eac48bdafb9225e9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 26 10:49:19 2016 -0500 MDEV-9598: Donor's rsync SST script hangs if FTWRL fails During SST, since wsrep_sst_rsync waits for mysqld to create "tables_flushed" file after it has successfully executed FTWRL, it would wait forever if FTWRL fails. Fixed by introducing a mechanism to report failure to the script. commit 0251232f8c3bca33b4dd15d6668105f3de9d024d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 24 23:32:37 2016 -0500 Fix to ensure updates in gtid_slave_state table do not get binlogged. Also, renamed wsrep_skip_append_keys to wsrep_ignore_table. Test case : galera.galera_as_slave_gtid.test commit 01897db10203312ccd20f2b76ba957825ccef613 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 24 17:40:12 2016 -0500 Skip galera_sync_wait_show.test on non-debug builds. The test uses a debug feature SHOW PROCEDURE|FUNCTION CODE. commit b05158cc10a75196b5c0bf8dad9360608a2dd5b9 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Feb 24 17:14:38 2016 +0300 MDEV-8988: Apparently valid SQL query gives wrong result (nested WHERE) - "Early NULLs filtering" optimization used to "peel off" Item_ref and Item_direct_ref wrappers from an outside column reference before adding "outer_table_col IS NOT NULL" into JOIN::outer_ref_cond. - When this happened in a subquery that was evaluated in a post-GROUP-BY context, attempt to evaluate JOIN::outer_ref_cond would fetch an incorrect value of outer_table_col. commit d044507dc53731e604f3137ed7423c6b94e83aba Merge: ff2d92b17d6 5a4ec8e60b1 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Feb 24 10:27:23 2016 +0100 Merge branch 'bb-10.1-serg' into 10.1 10.0 merge 10.0-galera merge connect/10.1 merge commit 5a4ec8e60b10c176af1dd84157e1d15cf905637b Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Feb 24 10:26:13 2016 +0100 fix test results after the merge commit ff2d92b17d600f83b9ad4baaa96ede7c9c08801a Author: Alexander Barkov <bar@mariadb.org> Date: Wed Feb 24 13:12:03 2016 +0400 MDEV-7231 Field ROUTINE_DEFINITION in INFORMATION_SCHEMA.`ROUTINES` contains broken procedure body when used shielding quotes inside. commit cceec7858f260be23b50265fb026ea68c6aefc20 Merge: 88576b3a805 f67d6fccacf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 24 01:21:40 2016 -0500 Merge branch '10.0-galera' into bb-10.1-serg commit f67d6fccacfb8a2963f23448cabb67c6178d2a10 Author: Krunal Bauskar <krunal.bauskar@percona.com> Date: Fri Dec 4 15:09:08 2015 +0530 - PXC#480: xtrabackup-v2 SST fails with multiple log_bin directives in my.cnf If any given variable the xtrabackup-v2 sst script looks for is specified multiple times in cnf file then it tend to pick both of them causing some of the follow-up command to fail. Avoid this programatic mistake by honoring only the last variable assigned setting as done by mysqld too. Check https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1362830 commit 0cf66e49dbe6a13533769f325a615f357d31df98 Author: Krunal Bauskar <krunal.bauskar@percona.com> Date: Thu Oct 22 14:56:29 2015 +0530 - PXC#460: wsrep_sst_auth don't work in Percona-XtraDB-Cluster-56-5.6.25-25.12.1.el7 Semantics: --------- * Generally end-user will create a separate user with needed privileges for performing DONOR action. * This user credentials are specified using wsrep_sst_auth. * Along with this user there could be other user(s) created on the server that sysadmin may use for normal or other operations * Credentials for these user(s) can be specified in same cluster/server cnf file as part of [client] section When cluster act as DONOR and if wsrep_sst_auth is provided then it should strictly use it for performing SST based action. What if end-user has same credentials for performing both SST action and normal admin work ? * Then end-user can simply specify these credentials as part of [client] section in cnf file and skip providing wsrep_sst_auth. Issue: ----- MySQL client user/password parsing preference order is as follows: * command line (through --user/--password) * cnf file * MYSQL_PWD enviornment variable. Recent change tried passing sst user password through MYSQL_PWD (and user though --user command line param as before). On the system where-in admin had another user for performing non-SST actions, credentials for such user were present in cnf file under [client] section. Due to mysql client preference order, SST user name was used (as it was passed through command line) but password of other user (meant for non-SST) action was being used as it was passed through cnf file. Password passed through MYSQL_PWD was completely ignored causing user-name/password mismatch. Solution: --------- * If user has specified credentials for SST then pass them through command line so that they are used in priority. (There could be security concern on passing things through command line but when I tried passing user-name and password through command line to mysql client and then did ps I saw this ./bin/mysql --user=sstuser --password=x xxxxxxxx -S /tmp/n1.sock so seems like password is not shown) commit 0fd9d5a6568406c6c3fe481b72bf744b3a3f59cd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 21:24:00 2016 -0500 Update WSREP_PATCH_REVNO. commit 1b0d811d2dba5ed1a040ede483ac6ab4d1e1882d Merge: 0d58323e264 3042d655e2c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 21:08:42 2016 -0500 Merge branch '5.5-galera' into 10.0-galera commit 0d58323e2645460907280b0482811729822a7ef1 Merge: 276d65b324f a4b27149688 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 20:53:29 2016 -0500 Merge tag 'mariadb-10.0.24' into 10.0-galera commit 276d65b324f4f0021bc457b4d5723153d4e12608 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 20:33:21 2016 -0500 Fix for test failures. commit 88576b3a805f97be44d98143b6cdfc9b820fcc84 Merge: a5679af1b13 69042ffe4e8 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 23 22:16:35 2016 +0100 Merge tracking branch 'connect/10.1' into 10.1 commit a5679af1b13bb0c7c4eaa75f27551072dc18fb7d Merge: 20c4dfd4a9e 5f2f3c4fa81 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 23 21:35:05 2016 +0100 Merge branch '10.0' into 10.1 commit b9c42d7a47f7282f5d0063a467d506cb55a69899 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Jan 11 11:57:22 2016 +0200 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 13 commit 28a36f617fbdde1125614e16a642c1b15ced916b Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Tue Feb 23 14:09:25 2016 +0200 Update column bitmaps for delete during binlog row image minimal. commit de1fa4527663ffde05b43bbc2acd5ce0398f483a Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Mon Feb 22 17:50:55 2016 +0200 [MDEV-8411] Assertion failed in !table->write_set The reason for the assertion failure is that the update statement for the minimal row image sets only the PK column in the write_set of the table to true. On the other hand, the trigger aims to update a different column. Make sure that triggers update the used columns accordingly, when being processed. commit 0e20137a80b1755f8c421aed9fad7208977d06f4 Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Tue Feb 16 16:15:22 2016 +0200 [Code cleanup] Refactor duplicate code within myisam and maria sort.cc commit 20c4dfd4a9e7c5f2f570488a7ead0b7c74e61817 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 22 19:55:43 2016 +0100 MDEV-9576 syntax error on view with nullif and count don't transform Item_func_nullif if it's context_analysis_only commit 216b5cc9b6434d501f9aaee9716f5b2983ba38c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 22 18:49:35 2016 +0100 MDEV-9606 Server crashes in fix_fields, main.null fails with ps-protocol #2 commit e6d51aac778f7c59b0f737f7504a52b0baf07544 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 22 12:52:29 2016 +0100 MDEV-9550 COUNT(NULL) returns incorrect result with sequence storage engine when calculating COUNT(basic_const), take into account that this basic_const may be NULL commit 9214d043fd864f8ee96e34551e49a011e20ddef0 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 20 22:26:48 2016 +0100 disable SHOW I_S_table for built-in I_S tables This fixes MDEV-9538 Server crashes in check_show_access on SHOW STATISTICS MDEV-9539 Server crashes in make_columns_old_format on SHOW GEOMETRY_COLUMNS MDEV-9540 SHOW SPATIAL_REF_SYS and SHOW SYSTEM_VARIABLES return empty results with numerous warnings commit 57905d18d650004ca84d7f9b01f0cf72e100d6bc Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 20 21:00:51 2016 +0100 MDEV-9535 Trigger doing "SET NEW.auctionStart = NOW();" on a timestamp kills MariaDB server when doing set_field_to_new_field (from switch_to_nullable_trigger_fields()) make sure that the field we're about to change actually belongs to the right table (otherwise we cannot dereference new_field[] array as the wrong table might have more fields than new_field[] has elements) commit 0fcd0ee34e2eae74f578c55c346196c8cb94c4d3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 20 21:06:20 2016 +0100 MDEV-9500 Bug after upgrade to 10.1.10 (and 10.1.11) Case: table with a NOT NULL field, BEFORE UPDATE trigger, and UPDATE with a subquery that uses GROUP BY on that NOT NULL field, and needs a temporary table for it. Because of the BEFORE trigger, the field becomes nullable temporarily. But its Item_field (used in GROUP BY) doesn't. When working with the temptable some code looked at item->maybe_null, some - at field->null_ptr. The fix: make Item_field nullable when its field is. This triggers an assert. The group key size is calculated before the item is made nullable, so the group key doesn't have a null byte. The fix: make fields/items nullable before the group key size is calculated. commit a38b705fe072f282c4d27fe48d7863d6c0cdbdf2 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 20 19:30:14 2016 +0100 MDEV-9560 Mariadb 10.1 Crashes when replicating from 10.0 when replicating old temporal type fields (that don't store metadata in the binlog), take the precision from destination fields. (this fixes the replication failure, crashes were fixed in a different commit) commit 4cabc608b6c3c16d800d6cd80c730171a534566f Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 19 14:17:35 2016 +0100 correct temporal fields in max_display_length_for_field() it's *display length* (a.k.a. field_length) not storage length (a.k.a. pack_length) commit d4b1425b604b8be9fc35cefe45d00cfecbac39e9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 19 12:06:37 2016 +0100 cleanup * make a local variable for target_table->field[col] * move an often-used bit function to my_bit.h * remove a non-static and not really needed trivial comparison function with a very generic name commit ab2a9600a7b26cb6176e7fb62e029483fc821750 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Feb 18 12:56:27 2016 +0100 MDEV-9475 I can't finish my_install_db using binary tar distribution to avoid run-time libjemalloc.so dependency link binary tarballs with a static libjemalloc_pic.a commit bb54df6ec99d247302b6dffe12273f6896403dcd Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 23 10:32:06 2016 +0100 update test results after MDEV-9307 commit 15118d35612814ccf549ba49ed1200a7f8fa71c8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 00:30:47 2016 -0500 refs codership/mysql-wsrep#237: Add sync point for mtr test. commit b633dbdac955c5a9bd3a589fac56763304cff4f9 Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Dec 23 09:44:32 2015 +0200 refs codership/mysql-wsrep#237 - test for FLUSH TABLES hang in slave node commit 32df0b1aac4ebd8ae7232260500ae4d262ca9915 Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Dec 2 23:20:10 2015 +0200 refs codership/mysql-wsrep#233 - avoiding the race condition, by not grabbing thd->LOCK_wsrep_thd for accessing thd->wsrep_exec_mode. The caller is same thread and exec mode can only be changed by self. commit 90e5e2f91c2f5be240186b6c08f4cab8c8c8b278 Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Dec 2 23:16:25 2015 +0200 refs codership/mysql-wsrep#233 - added mtr test case for this issue - not a perfect one, depends on some sleeps instead of checking if sync points are met commit 2cdcde93c53a85c34db6b59b5950be6bb0c3225e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 23 00:19:41 2016 -0500 Merge sync point from previous commit to XtraDB. commit 18f160d954dcd77a16a994bba4943212b831acbb Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Dec 2 22:57:46 2015 +0200 refs codership/mysql-wsrep#233 - added dbug sync points for further mtr test for this issue commit bf9572ba5925fb7687e5407f4c52a1d429d3d9e3 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Nov 25 03:36:26 2015 -0800 refs codership/mysql-wsrep#228 - a test for wsrep_sync_wait and SHOW commit 1e14db11ee6cf0f295376d6a13048c8edb10938c Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Nov 16 11:57:38 2015 +0100 refs codership/mysql-wsrep#228 - Add calls to wsrep_sync_wait for SHOW CREATE DB/PROCEDURE/FUNCTION/TRIGGER/EVENT and SHOW PROCEDURE/FUNCTION CODE commit 5ebf6ce7aa87c256d38c063eb2d3f605c93d964b Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Nov 16 04:06:38 2015 -0800 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 12 commit 2b7a5d9edbb496f838e64fc57b73d9d984d4fd22 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Nov 16 03:00:27 2015 -0800 Galera MTR Tests: adjust the galera.galera_defaults test for the new MTR default value for repl.causal_read_timeout commit 8504330d1d1fc201bc6cb5474afd34c927cc31c8 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Nov 13 04:03:39 2015 -0800 Galera MTR Tests: misc test stability fixes commit c6659345a03b14225bfe0a2464a9cc8346a43adf Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Tue Nov 3 14:16:08 2015 +0100 refs codership/mysql-wsrep#201 Fix remaining issues with wsrep_sync_wait and query cache. - Fixes misplaced call to invalidate query cache in Rows_log_event::do_apply_event(). Query cache was invalidated too early, and allowed old entries to be inserted to the cache. - Reset thd->wsrep_sync_wait_gtid on query cache hit. THD->cleanup_after_query is not called in such cases, and thd->wsrep_sync_wait_gtid remained initialized. commit c05d85f45d24691831b862dedc52f188deaa13d2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 22:35:48 2016 -0500 Refs codership/mysql-wsrep#198 : Fix test case commit e9d805b8459ebbebe2629e40e769441a8e96513f Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Oct 23 00:01:16 2015 -0700 Refs codership/mysql-wsrep#198 . MTR test case commit d45f0c117f195897453a85a0ff7cadb603aa71ce Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 22:30:14 2016 -0500 refs codership/mysql-wsrep#198: Revert test changes from previous commit Restore tests for FLUSH commands supported by MariaDB. commit ea0b1837edea0dec524f64aafdfb6cd8216aee78 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Fri Oct 23 09:38:33 2015 +0300 refs codership/mysql-wsrep#198 Removed code duplication, PXC specifics * Total order isolation was started twice for FLUSH TABLES, from reload_acl_and_cache() and from mysql_execute_command(). Removed the reload_acl_and_cache() part. * Removed PXC specific stuff from MTR tests commit 235bebe02ee74154a5782326d7a4d624ec55c07b Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Oct 22 17:30:20 2015 +0200 refs codership/mysql-wsrep#201 - Eliminates code duplication in query cache patch - Reduces the number of iterations in mysql-wsrep#201.test to shorten the execution time - Adds a new test case that exercises more scenarios commit 17ac9597163916d418c6cca2641242f20d682956 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 22:07:59 2016 -0500 Bug#1421360: Add Percona Server specific FLUSH statements. - Restore FLUSH commands supported by MariaDB (removed in the previous commit) - Adjust test case commit 5d4fb15e5a2391d7117dfb13203e33f3673dab20 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 22:05:16 2016 -0500 Fix for compilation failure. commit 7d89deb0a3df4df798e27472a55e32b10ac306b9 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Thu Oct 22 14:59:53 2015 +0300 refs codership/mysql-wsrep#198 fixed merge issues commit 0ecc4fe2acbb3d89167b0e9cea4157a8c6daaef4 Author: Raghavendra D Prabhu <rprabhu@wnohang.net> Date: Tue Jul 7 14:20:22 2015 +0530 Bug#1421360: Add Percona Server specific FLUSH statements. Added following: FLUSH CLIENT_STATISTICS FLUSH INDEX_STATISTICS FLUSH TABLE_STATISTICS FLUSH THREAD_STATISTICS FLUSH USER_STATISTICS pertaining to USER STATISTICS https://www.percona.com/doc/percona-server/5.6/diagnostics/user_stats.html FLUSH CHANGED_PAGE_BITMAPS pertaining to changed page tracking. https://www.percona.com/doc/percona-server/5.6/management/changed_page_tracking.html Also, added tests for them. (cherry picked from commit 7efe49010c7f217663f364657090812b4723f426) Conflicts: mysql-test/suite/galera/r/galera_flush.result mysql-test/suite/galera/r/galera_flush_gtid.result mysql-test/suite/galera/t/galera_flush.test sql/sql_parse.cc commit 1077eef94273a87a22d656a2fcd4e47413a29aed Author: Raghavendra D Prabhu <rprabhu@wnohang.net> Date: Thu Jul 16 05:24:13 2015 -0700 PXC-391: Avoid Total Order Isolation (TOI) for LOCAL sql admin commands. The admin commands in question are: > OPTIMIZE > REPAIR > ANALYZE For LOCAL or NO_WRITE_TO_BINLOG invocations of these commands, ie OPTIMIZE LOCAL TABLE <t1> they are not binlogged as expected. Also, in addition, they are not executed under TOI. Hence, they are not propagated to other nodes. The effect is same as that of wsrep_on=0. Also added tests for this. A WSREP_DEBUG for wsrep_register_hton has also been added. The galera_flush_local test has also been updated for verifying that effects of NO_WRITE_TO_BINLOG / LOCAL are equivalent to wsrep_on=0 from wsrep perspective. (cherry picked from commit 5065122f94a8002d4da231528a46f8d9ddbffdc2) Conflicts: sql/sql_admin.cc sql/sql_reload.cc sql/wsrep_hton.cc commit 5be449d014d0bdab4859409860deec669a1f11f3 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Oct 21 01:25:32 2015 -0700 Galera MTR Tests: attempt to work around codership/QA#179 in galera_as_slave_nonprim.test commit d794f05910a8f5f87fb699cacc516837eeea821d Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Oct 21 01:15:52 2015 -0700 Galera MTR Tests: stability fix for galera_gcs_fragment.test (TCP port was output to the .result file) commit ace86a2375c3f47badf49796eda14959b0487269 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Tue Oct 20 17:54:14 2015 +0200 refs codership/mysql-wsrep#201 - Fixes query cache so that it is aware of wsrep_sync_wait. Query cache would return (possibly stale) results to the client, regardless of the value of wsrep_sync_wait. - Includes the test case that reproduced the issue. commit c1ea0570af88ed12f55fc20c54262b3688b9981d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 16:51:45 2016 -0500 refs codership/mysql-wsrep#184 Merge fix to XtraDB engine. commit 251c53a8a7368a5a71f39f92358eabb53097381c Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Oct 19 11:17:13 2015 +0200 refs codership/mysql-wsrep#184 - Adds runtime check wsrep_on(), to not interfere with default innodb behavior. commit 5ad30e8ad1c1f71dcc54be1f79680a3253101926 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Fri Oct 16 15:57:22 2015 +0300 MTR test for checking correctness of fragmentation over CCs commit cf4362013649d67d59201d8a1b00fe5111c42913 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Fri Oct 16 11:51:11 2015 +0200 refs codership/galera#308 - Avoid calling wsrep->stats_free() directly, instead, use wsrep_free_status(). commit 8c89e843db9e324ee5ad7607ef7e6dacee42b546 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Fri Oct 16 10:22:30 2015 +0200 refs codership/galera#308 - Moves cleanup of status vars to function export_wsrep_status_to_mysql(). commit 2c56142b770d9f8db24cc286ee768cc3edbfdd56 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 22 16:36:05 2016 -0500 refs codership/mysql-wsrep#184 Merge fix to XtraDB engine. commit 1d2167685328200a5112aebd05c7232c625c1f09 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Oct 15 15:13:29 2015 +0200 refs codership/mysql-wsrep#184 Fixes a deadlock between applier and its victim transaction. The deadlock would manifest when a BF victim was waiting for some lock and was signaled to rollback, and the same time its wait timeout expired. In such cases the victim would return from lock_wait_suspend_thread() with error DB_LOCK_WAIT_TIMEOUT, as opposed to DB_DEADLOCK. As a result only the last statement of the victim would rollback, and eventually it would deadlock with the applier. commit 267d429b5a0628e73fdbd95d1934e093adcdb296 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Oct 5 11:01:04 2015 +0200 refs codership/mysql-wsrep#31 - Erronously removed call to wsrep_xid_init() in previous commit. commit c0dac420e5d5cfd14d1f6fea12288da4d29617ca Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Mon Oct 5 09:42:03 2015 +0200 refs codership/mysql-wsrep#31 - Removes useless call to wsrep_xid_init() in wsrep_apply_events(). Transaction's xid is already initialized at that point. - Adds call to wsrep_set_SE_checkpoint() for committing TOI events in the applier side. - Includes test case that reproduced the issue. commit 0ec457b0de083e45b815a04f4f6de0bcc002ffc6 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Fri Oct 2 10:16:55 2015 +0200 refs codership/galera#308 - Moves call wsrep_free_status() to THD::cleanup_after_query(). Wsrep status variables were previously freed only on SHOW STATUS. - Removes valgrind suppression from mysql-test/valgrind. commit 00b058aca3ab48e15c056d689ced936b8c71ea64 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Thu Oct 1 17:05:48 2015 +0300 refs codership/mysql-wsrep#202 Added schema info into wsrep messages Added schema info to wsrep messages above debug level. commit 7ce84cf76433849959deff9255294d797319f64e Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Sep 29 23:29:54 2015 -0700 Galera MTR Tests: stability fixes Conflicts: mysql-test/include/mtr_check.sql mysql-test/suite/galera/r/galera_log_bin.result mysql-test/suite/galera/t/galera_log_bin.test commit 2f870f53767f225fa20a7b04d5f16712370904c8 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Tue Sep 15 13:20:55 2015 +0300 Restore original value of wsrep_on after waiting for sync point. commit d01328d73b65ec3c628646b1dd51a5d601ee74be Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Sun Sep 13 18:57:20 2015 +0300 Helpers to deal with galera dbug sync points. commit b128f26cd51463af3fd92e3bc688c80a63bfcb58 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Feb 22 18:11:59 2016 +0100 Fix build : change MYSQL_ADD_PLUGIN to be MACRO again, rather than FUNCTION commit c20979b16387ca9ddbf8ab9969c5d059ca7fd1a5 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Feb 22 16:26:44 2016 +0100 MDEV-9601 Build client plugins, also for the cmake client-only build (-DWITHOUT_SERVER=1) commit d9c640aa8bfbdb079b7611cf71baf38133810674 Author: Oliver Giles <ohw.giles@gmail.com> Date: Sat Dec 12 10:37:25 2015 +0100 SphinxSE: add support for json filtering The filter command did not accept characters . [ ] which are valid in an attribute name for a sphinx query with json filtering. + test case added commit 3a24f1cf8426409a69619982e84ca498d581f8a1 Author: Vladislav Vaintroub <vvaintroub@googlemail.com> Date: Mon Feb 22 12:48:03 2016 +0100 MDEV-9307 - provide info about DATA/INDEX directory in INFORMATION_SCHEMA.TA BLES (in CREATE_OPTIONS column) commit ff25158d7f5a8e29c1b074631e4b98693bed343e Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Feb 18 19:11:13 2016 +0100 MDEV-9529 - do not install sql script to BINDIR commit bcd2a156eec61a7771f3f052503e0ff7b27fb55c Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Fri Feb 19 14:42:43 2016 +0100 MDEV-9833 - fix mysql_config --libs for weird cases, where mysqlclient link dependencies contain flags instead of libraries (like -pthread rather than -lpthread) commit 4b08b10b3ace67481cb7c03e0d3e95aaf6e954f7 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Feb 18 17:20:48 2016 +0100 MDEV-9489:Assertion `0' failed in Protocol::end_statement() on UNION ALL Restoring currect_select fixed. commit 69042ffe4e85b6d3807f13a1e0e9ab92bd0a78f9 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Feb 20 00:22:16 2016 +0100 - Fix to MDEV-9579 be testing for void result. modified: storage/connect/tabodbc.cpp commit fd8e846a3b049903706267d58e6d8e61eea97df8 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 18 11:01:22 2016 +0400 MDEV-9564 - added s390x to lib64 INSTALL_LIBDIR handling Adjusted INSTALL_LIBDIR detection so that it is set to "lib64" on any 64bit system (not only x86_64). New condition is insipired by GNUInstallDirs cmake module. commit 17b5cb617263060f583382093a2e32adb0d7235f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 17 22:56:38 2016 -0500 codership/mysql-wsrep#247: Fix test case commit a6d93b20d7f3bdc2eef73a011db70cbd2179e52d Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Feb 16 23:42:42 2016 -0800 Galera MTR Tests: MW-246 codership/mysql-wsrep#247 Stability fix for galera.mysql-wsrep#247.test commit 2438afbfde58d6bdfd4c40e83a4732254a26afbb Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Feb 16 03:12:58 2016 -0800 Galera MTR tests: MW-246 codership/mysql-wsrep#247 Additional tests around RSU and wsrep_desync commit 13627d49a90f3424ea1e61524841a789f08a0d3b Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Feb 16 11:55:03 2016 +0200 refs MW-246 - created mtr test for testing explicit desyncing with RSU mode DDL commit 4bdf0258b6119e6464ed7846e7e4f866dd9f9ed9 Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Feb 15 23:33:55 2016 +0200 refs MW-246 - skipping desync and resync before and after DDL execution in RSU mode, if wsrep_desync is set upfront commit 3042d655e2c20dccf00fba6a64f72385330d2b7a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 17 15:50:01 2016 -0500 MDEV-9577: sys_vars.ignore_db_dirs_basic fails under Valgrind Ensure that the command line argument is of sufficient length before moving past the leading long option marker "--". commit db5b51fb7e3360d4ebc303bd67363bc8324e86b6 Author: Jean Weisbuch <jean@phpnet.org> Date: Wed Jan 27 00:46:12 2016 +0100 mysqlreport update to 4.0, see MDEV-573 for more informations commit f22f2a62aecad4c213e640bc06388d5d8d6958fd Author: Daniel Dent <DanielDent@users.noreply.github.com> Date: Thu Jan 14 03:59:19 2016 -0800 MDEV-9484 - Typo fixes commit 59b6b99ce3635077d06a3c0edb05c5ac52ca6e34 Author: Andrew McDonnell <bugs@andrewmcdonnell.net> Date: Sat Feb 28 23:15:17 2015 +1030 Added regression test for MDEV_5871 commit 36ca65b73bcd0152680c88e09558bbe1237577ee Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Feb 17 12:32:07 2016 +0200 MDEV-9559: Server without encryption configs crashes if selecting from an implicitly encrypted table There was two problems. Firstly, if page in ibuf is encrypted but decrypt failed we should not allow InnoDB to start because this means that system tablespace is encrypted and not usable. Secondly, if page decrypt is detected we should return false from buf_page_decrypt_after_read. commit 02259623b9e4902a1188d303297e557d893dac40 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 16 17:14:11 2016 -0500 Update global_suppressions for galera suite to include new warning. commit 1ac64b7510fd006268936e46442f46a28250c249 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Feb 16 12:55:45 2016 +0000 MDEV-9557 - fix compilation errors due to missing krb5_free_unparsed_name() in old versions of Heimdal Kerberos commit d163ad338dcfb9f7c0a27e751834538d283a1f3b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Feb 15 10:32:30 2016 +0100 - Fix to MDEV-9542 Connect was not handling NULLs in the answer from catalog functions and tables. It does now and when decimal is NULL defines DOUBLE without parameters. modified: storage/connect/ha_connect.cc modified: storage/connect/mysql-test/connect/r/odbc.result modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/mysql-test/connect/r/odbc_postgresql.result modified: storage/connect/mysql-test/connect/r/odbc_sqlite3.result modified: storage/connect/mysql-test/connect/r/odbc_xls.result modified: storage/connect/odbconn.cpp modified: storage/connect/table.cpp modified: storage/connect/valblk.h commit d23bd26bec787ebbdbd41be0204e9cb83baf4dbd Merge: b83de1151aa a9a08b1e2f5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Feb 13 18:28:36 2016 -0500 Merge tag 'mariadb-5.5.48' into 5.5-galera commit b83de1151aab6dcc9f300159e31198364000de70 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 10 18:04:08 2016 -0500 Update WSREP_PATCH_REVNO. commit a6d0903764d316af98ec0462fd136fd1ca975a08 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Jan 11 12:03:35 2016 +0200 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 14 commit 403a8bf8dfcf54bb24f7e376f43381c0d802810f Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Nov 16 04:07:08 2015 -0800 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 13 commit 1ce821b509cdce915d8dd76b1e080bd26fa2a296 Author: sjaakola <seppo.jaakola@iki.fi> Date: Thu Nov 12 10:33:04 2015 +0200 Refs codership/mysql-wsrep#221 - disabling certain IB atomic builtins, which caused complete hangs commit bd1d2b90a77f31c7d982f18902a39a2cadce0cc3 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Fri Nov 6 10:50:21 2015 +0100 refs codership/mysql-wsrep#201 Removes MTR tests. commit 8a93a7c0b0436a1b863c3b3cc165dca9a690a064 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Wed Nov 4 16:19:48 2015 +0200 refs codership/mysql-wsrep#226 Limit binlog recovery to found wsrep position Limit binlog recovery so that the wsrep position found from storage engines is not exceeded. This is required to have consistent position between wsrep position stored in innodb header and recoverd binlog. commit 652e4c1d3333ef0649a504995e39b5c0c664c5ff Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 10 17:29:28 2016 -0500 Fix for a build failure. commit 484bbd332f0876cd7df30122bcb339b62a64c871 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Wed Nov 4 09:36:01 2015 +0100 refs codership/mysql-wsrep#201 Manually merged query cache fixes from 97c02faf0a39dd189eeda4f75fb35bc5db69d541. commit 0c7dffe9e18e249ca7930b29d7c3c6832c03a278 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Thu Oct 22 17:30:20 2015 +0200 refs codership/mysql-wsrep#201 - Eliminates code duplication in query cache patch - Reduces the number of iterations in mysql-wsrep#201.test to shorten the execution time - Adds a new test case that exercises more scenarios commit 8a71fde01f153bda42d57587527376bc33e9e3e9 Author: Daniele Sciascia <daniele.sciascia@galeracluster.com> Date: Tue Oct 20 17:54:14 2015 +0200 refs codership/mysql-wsrep#201 - Fixes query cache so that it is aware of wsrep_sync_wait. Query cache would return (possibly stale) results to the client, regardless of the value of wsrep_sync_wait. - Includes the test case that reproduced the issue. commit d80b8442a68093106e00a9a38b7b2c593002a72c Author: Monty <monty@mariadb.org> Date: Sun Feb 7 15:00:30 2016 +0200 Fixes needed to compile with musl C library Patch originally by Codarren Velvindron commit 07b8aefe90ca830d2de068f2966cd2288b158a88 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Feb 3 00:15:49 2016 +0300 MDEV-9504: ANALYZE TABLE shows wrong 'rows' value for ORDER BY query Revert the patch for MDEV-9504. It causes test failures, attempt to fix these causes more failures. The source of all this is that the code in test_if_skip_sort_order() has a peculiar way of treating select_limit parameter: Correct value is computed when the query plan is changed. In other cases, we use an approximation that ignores the presence of GROUP BY clause, or JOINs, or both. A patch that fixes all of the above would be too big to do in 10.1 commit 55ea26541d4c95e765073c70126d9bb490c572c6 Author: Monty <monty@mariadb.org> Date: Tue Feb 2 19:54:18 2016 +0200 Fixed warnings and one memory loss found by valgrind The memory loss could happen in Aria with encrypted tables when Aria failed to encrypt a block. In normal usage this should never happen. commit 11c2d3c3e21642107db625f33c177f09d8ccd3ca Merge: 52d695fef4f 5cf293fcad0 Author: Monty <monty@mariadb.org> Date: Tue Feb 2 13:07:53 2016 +0200 Merge branch '10.0' into 10.1 Conflicts: configure.cmake commit 52d695fef4f959daf12cc1e4b83907917dddfbe8 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Feb 1 17:51:57 2016 +0100 Fix authentication plugin's tests in case username contains non-alphanumeric character, e.g dash commit e6dee57f1ae78326af9485170d232436fb49404f Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Feb 1 19:06:54 2016 +0300 MDEV-9504: ANALYZE TABLE shows wrong 'rows' value for ORDER BY query - Legacy code would set JOIN_TAB::limit only for EXPLAIN queries (this variable is only used when producing EXPLAIN output) - ANALYZE/SHOW EXPLAIN need to produce EXPLAIN output for non-EXPLAIN queries, too, so we should always set JOIN_TAB::limit. commit 91ff0172972fdc3b858d6272b653f70a5650b067 Merge: a96fbc3c352 8cf1f50967f Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Feb 1 16:40:20 2016 +0100 Merge MDEV-9112 into 10.1 Conflicts: config.h.cmake configure.cmake commit a96fbc3c352dad89c6007672eedf437e0516abe0 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Feb 1 12:43:19 2016 +0400 MDEV-9503 Server crashes in fix_fields, main.null fails with ps-protocol DBUG_ASSERT() added in the patch for MDEV-9181 did not take into account special circumstances for the prepared statement EXECUTE. Fixig the assert. Also, extending and fixing comments made during MDEV-9181. commit dc50a3dd1920d11f630bc1f7d0bf8e3524007e4b Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Feb 1 01:02:23 2016 +0200 Raise the version number commit 0bee1504a3741d47dcaaba74b0c846dfdfc8ad59 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Feb 1 01:01:29 2016 +0200 MDEV-9502 maria.encrypt-wrong-key fails with embedded server The test restarts the server, it should not be executed for embedded commit 3d794d0ee8e0a5a7dfbd3b7de056c0a3ccb9aa81 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Jan 6 09:15:19 2016 +0100 MDEV9494 Fix build for Heimdal Kerberos commit 7b14ba63f22e6c98c1982dae8847035ad1b8e155 Author: Monty <monty@mariadb.org> Date: Thu Jan 28 14:06:05 2016 +0200 MDEV-8724 Assertion `rc == 0' failed in ma_decrypt on reading an Aria table Don't assert if decrypt or encrypt fails if my_assert_on_error is not set. Added failed file name if encryption/decryption fails. commit ce40ccaf24af2fe395f541cb1079256de8727ccd Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jan 28 13:58:39 2016 +0400 MDEV-9181 (NULLIF(count(table.col)), 0) gives wrong result on 10.1.x Wrapping args[0] and args[2] into an Item_cache for aggregate functions. commit 5092ab28ba91646922e16ee6afc8c40ac5235a31 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 28 08:57:30 2016 +0100 bump the version commit 11c85e1d9fab12ed6da00d562084598b633664a3 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 23:58:01 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. The SQL command 'PREPARE' was broken - should be take into account. commit 418518c0b1b0eaabaa184ab514bf1594eaa682c2 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 16:42:42 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. Keep the embedded-server version valid. commit d16d40be2c47d8be5360ae7604f0199635dc0063 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 14:58:52 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. SHOW CREATE PROCEDURE/FUNCTION fixed. commit 34df3140f2e5fe3a8531c5f6eb430e2192bfa737 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 13:57:25 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. SHOW BINARY LOGS fixed. commit efb36ac5d5a5e2b7937545e2d3fddb1b7c8b7f9a Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 13:42:53 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. SHOW MASTER STATUS fixed. commit 75a1d866dd4c00b91ca9b29593ad41543f084544 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 13:31:53 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. SHOW SLAVE STATUS fixed. commit 552d33095a25f6e1f9af802e71713b0bec0f6acb Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 12:39:27 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. Fix for SHOW GRANTS statement. commit f3926cd18e2ba64f2643c6c4f6a981ed99868895 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jan 27 12:01:55 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. Fix for SHOW CREATE DATABASE. commit 07e976294089cbc0c8cf46d984565e6136ffa9e8 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Fri Jan 22 19:29:26 2016 +0100 MDEV-8615: Assertion `m_cpp_buf <= begin_ptr && begin_ptr <= m_cpp_buf + m_buf_length' failed in Lex_input_stream::body_utf8_start Nothing should be done before any keyword recognized. commit eb155661383bcf215d38baf5ff2c5b4413a5552d Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jan 27 15:26:12 2016 +0100 fix failures of ps and ps_1general in --ps-protocol commit 02cc921a449d847a27a1a942ff5a5b2b9885b1bb Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jan 27 15:14:57 2016 +0100 compiler warnings commit 4b31e6dc95c7c008cd318822eb9d5a1e845b288c Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Jan 27 15:23:42 2016 +0100 Address review comments, add unit test commit c1bf5ba27ef2ec189fe890283e68dbd9bd2efca9 Author: Georg Richter <georg@mariadb.com> Date: Tue Oct 13 17:10:16 2015 +0200 Revert "On Windows SSL works with sockets only, so we shouldn't tell the client" This reverts commit 2ee149be4e9319208dfcfb77712aa1ef805f6ba8. commit 33e5a8aba2a9c7a4ccf62c7504db36a5a51702f7 Author: Georg Richter <georg@mariadb.com> Date: Tue Oct 13 16:35:53 2015 +0200 On Windows SSL works with sockets only, so we shouldn't tell the client that we support SSL when using named pipes or shared memory. commit ef3ca5c3ba9a03a213634e51ce27e8b95cce3a99 Author: Georg Richter <georg@mariadb.com> Date: Tue Oct 13 10:13:53 2015 +0200 New authentication plugin for authentication via named pipe on Windows operating systems. The plugin gets the sid of the client process and considers the user authenticated if the given username matches the username of this sid. commit 13b79f488b874847d77a7e6d6abe4bd7b5d0aa5a Author: Monty <monty@mariadb.org> Date: Wed Jan 27 16:33:41 2016 +0200 Fixed MDEV-9347 Not all rows returned by the C API Problem was that insert-order (enforced by the optimizer) did not handle the case where the bitmap changed to a new one. Fixed by remembering the last bitmap page used and to force usage of this when inserting new rows commit b404b236a2093e9bd259ed0d6c2add62dc3005d4 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Jan 27 11:42:31 2016 +0400 MDEV-9332 Bug after upgrade to 10.1.10 commit 7d39b28093b06ea67318c257057e93cf891ce896 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jan 26 16:33:06 2016 +0200 [MDEV-9468]: Client hangs in my_addr_resolve Account for timeout of select returning a 0 error code. commit d227399318fc9cb43afa0fae17ac4d8a7cfdade3 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jan 26 23:16:56 2016 +0400 Comment fixed. commit df2695495188b0c3459eabb40c8e390f56cddb27 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jan 26 16:00:59 2016 +0400 MDEV-5273 Prepared statement doesn't return metadata after prepare. The metadata creation part of the mysqld_shww_create separated to be used on the mysqld_stmt_prepare stage. commit a095c99301a0acac9b2db9b294f24a8753ebed48 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jan 26 17:56:41 2016 +0100 Fix packaging for client RPM plugins - provide 'ignored' list commit 7831b79f447095074167c2aafd02f8e8177fc4f5 Merge: c76ab94fa93 77c75a46cfe Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jan 26 17:46:42 2016 +0100 Merge branch '10.1' of http://github.com/MariaDB/server into 10.1 commit 77c75a46cfe9ffa914c73fe129dec743b80ed57b Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jan 26 17:52:24 2016 +0400 A clean-up patch for Item_func_conv_charset (needed for MDEV-9181) Removing the "conv_charset" member and using collation.collation instead, as they duplicated each other. commit c76ab94fa9344d84df74ae3ab54dc876b900e471 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Jan 26 14:36:13 2016 +0100 Fix invalid format warnings commit 71b39066d4320e74e5ad73f4f5a6d436e32f14f3 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 25 20:17:55 2016 +0100 after merge fixes fix compiler warnings commit 44dea7ffbfb0438c5345646bb967bfd2e909e5e2 Merge: f4faac4d6ad 3e20a0d8f41 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 25 22:59:41 2016 +0100 Merge branch 'connect/10.1' into 10.1 commit f4faac4d6ad31acc96b9edf8c322f3031123dfe0 Merge: 2ff65ba5319 666b9663f94 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 25 22:58:57 2016 +0100 Merge branch '10.0' into 10.1 commit 2ff65ba53190ad897fc41f546fc4a7bdc80d9054 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 24 17:41:11 2016 +0100 MDEV-9299 Test main.events_2 incompatible with Debian reproducibility testing framework Debian tests are run in 2017, update the test to use 2027 as a "future". commit ed4fb9b248d769d71bc3d8b20c0e2eaa3ac1e444 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 24 19:53:32 2016 +0100 MDEV-9259 Add missing mroonga files to Debian packaging in 10.1 commit 5da7c346c7a81c1cb7823e50f32f33f266cd26dd Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 23 20:40:01 2016 +0100 MDEV-9428 NO_AUTO_VALUE_ON_ZERO is ignored when a trigger before insert is defined Don't compare "field == table->next_number_field" because the field can be special nullable field copy created by the trigger. Compare field_index values instead. commit 68910e7092a3741fff56632b84f5eb340ef99245 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 24 20:43:19 2016 +0100 MDEV-9273 ERROR 1819 on grant statment for existing user Cannot do password validation in fix_lex_user(), we don't know there what "GRANT ... TO user" means - creating a new user with an empty password (need validation) or granting privileges to an existing user (no validation needed). Move validation down into replace_user_table(). And copy into check_change_password(). commit d14c4c7874b0de1da452499967b8000a4ac83d67 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 24 20:00:35 2016 +0100 cleanup: move all password validation logic into one function commit d5b1b1ac6022163fb67603db3bd4235aff1162fb Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 25 22:57:47 2016 +0100 stack too small on labrador (again!) increase the thread stack a bit for main.signal_demo3 and sys_vars.max_sp_recursion_depth_func to stop failing commit c37107380abf8f4c04c270ee7afdf8e16042c943 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 23 16:24:32 2016 +0100 cleanup: LEX_USER::pwtext and LEX_USER::pwhash Was: * LEX_USER::password was storing sometimes plaintext password and sometimes password hash * LEX_USER::auth was storing sometimes password hash and sometimes plugin authentication string Now: * LEX_USER::pwtext stores the password in plain-text * LEX_USER::pwhash stores the password hash * LEX_USER::auth stores the plugin authentication string commit 1fea7e785f2de734fb3e278c9c0df2776f565c06 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 23 16:08:24 2016 +0100 cleanup: create LEX_USER::reset_auth() as this is used quite often commit b01e2ff1cd5885eddbfcb2792222ed39548dbdd0 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 21 22:10:44 2016 +0100 MDEV-9385 Devel package wants ownership of /usr/share/pkgconfig on CentOS/RHEL add /usr/share/pkgconfig to the rpm ignored list commit 5a5f18f3f7f5c98800c6370836bc407deb0e5c02 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 21 21:58:30 2016 +0100 MDEV-9205 PAM user map plugin does not work with LDAP groups allow more characters in a valid user/group name: * POSIX allows dashes '-' and dots '.' * also the name may end with a dollar sign '$' for our purposes it's enough to allow [-.$] anywhere in the name commit a2330c820af56d69e19f07f9cc9deb655fc67174 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 25 17:04:09 2016 +0100 MDEV-8208 Sporadic SEGFAULT on startup different fix. remove old ones, wait for THD to be fully initialized before continuing with the server startup process. This reverts commits db2e21b, 13615c5, 3f515a0, 70113ee. commit 744e605de05354bdb18f9241daa8331687492f6b Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Dec 26 09:40:49 2015 +0100 cleanup: wsrep helper to create a thread commit 0fab28ceddb61ce9caf15f6449d3d500577e3892 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 22 20:25:29 2015 +0100 cmake: better auto *.i targets in Makefiles commit 8fb34ea8c1ed6cbc01df54c5167fc927805561ba Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 25 14:10:09 2016 +0100 - Fix to MDEV-9446 (using Json UDFs when CONNECT is not installed) modified: storage/connect/ha_connect.cc modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/mysql-test/connect/t/json_udf2.inc commit da0991c6daaa650ec224fe4028975eaf6db02ba7 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Jan 21 14:03:24 2016 +0400 MDEV-7875 Duplicate maria_add_gis_sp script in the sources. Now both are generated by the cmake from the scripts/maria_add_gis_sp.sql.in commit ff8d4009a7743b99c1c13831172b08041a4b272e Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Jan 24 12:31:11 2016 +0300 MDEV-9457: Poor query plan chosen for ORDER BY query by a recent 10.1 Undo the change in test_if_skip_sort_order() that set ref_key=-1 when a variant of index_merge is used (was made in fix for MDEV-9021). It turned out that test_if_cheaper_ordering() call below assumes that ref_key=-1 means "no index is used", that is, "an inefficient full table scan is done". This is not the same as index_merge, index_merge can actually be quite efficient. So, ref_key=MAX_KEY denotes the fact that some index is used, not any given index. commit 825f51d1aab51d363dc07ec9fe0829af33063883 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Dec 16 19:33:41 2015 +0100 MDEV-9118 ANALYZE TABLE for Engine independent status fetchs blob/text columns without use Do not include BLOB fields by default. commit 45920d3d4a8ee28af8ca64b281db95ae3876bb70 Merge: 4bb62e91f6f 42d9f3d87bc Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Jan 20 21:29:37 2016 +0100 Merge pull request #151 from frozencemetery/my_name Fix spelling of my name commit 42d9f3d87bc77ce501f7831a3a07c1ead3ab2389 Author: Robbie Harwood <rharwood@redhat.com> Date: Wed Jan 20 13:24:30 2016 -0500 Fix spelling of my name commit 4bb62e91f6f93871106118f3ce47add4c109e208 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Jan 20 14:35:11 2016 +0100 Do not require server RPM for client plugins commit 67cf76ad9b17f2825ac8759ead4928ed3d0f9ce7 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Mon Jan 18 19:30:46 2016 +0100 MDEV 4691- address review comments commit 059c0c8b371589359f3fc6d3979de1a5006dce63 Merge: e7a89b46d4e f602c3938c2 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jan 19 07:59:02 2016 +0200 Merge pull request #149 from grooverdan/10.1-static-analysis-innodbchecksum innodbchecksum: add fclose and handle errors commit f602c3938c22c23416104020a908f686032b091b Author: Daniel Black <daniel.black@au.ibm.com> Date: Tue Jan 19 14:19:31 2016 +1100 innodbchecksum: add fclose and handle errors commit ddd62ba24aa0c6f35b86a53ab6c3c97c67689ee6 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jan 18 23:00:40 2016 +0100 - Change SQL_NTS to 0 when the string is NULL modified: storage/connect/odbconn.cpp commit e7a89b46d4ece1351cc60d8bafb8bf90ca9d8cc8 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sun Jan 17 22:57:37 2016 +0200 Revert "[Code cleanup] Refactor duplicate code within myisam and maria sort.cc" This reverts commit 727f92fe00ebfa1e81f3cc6c1a73af520f42a0bd. commit acc837981fc31a3f5f28c392d6f821f0929b12a6 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sun Jan 17 22:57:27 2016 +0200 Revert "Fixed compilation failure on MacOSX" This reverts commit df32495c85d75b736ee8d251d07b70b3682dda4d. commit 275f7d7d828c117a3e1ad7b1f5932ce2edaa09ad Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sun Jan 17 22:33:36 2016 +0200 Remove warning in my_addr_resolve ISO C90 does not allow mixed declarations and code. commit b2bd10d4d614924ff22746ce3a49b4e5f755ddc9 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sun Jan 17 22:23:21 2016 +0200 [MDEV-9427] Server does not build on OpenSUSE 42.1 Changed code to comply to C90 standard. commit 6d3ffd2e3a76873acb4f232f52ccca6a75bf737d Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Fri Dec 11 09:16:42 2015 +0200 Fixed a crash during stacktrace printing if addr2line failed to start. In order to get all the input from addr2line we must read in a loop, until the response is complete. Also, in case that the response is malformed, we must not end up reading invalid memory. commit df32495c85d75b736ee8d251d07b70b3682dda4d Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Thu Dec 10 03:56:31 2015 +0200 Fixed compilation failure on MacOSX Due to a hack that has propagated to the maria storage engine, undefined behaviour would result by bypassing the initialization code of variables after my_thread_init(). By refactoring the nested logic into a separate function, this problem is resolved. commit 727f92fe00ebfa1e81f3cc6c1a73af520f42a0bd Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Wed Dec 9 23:36:16 2015 +0200 [Code cleanup] Refactor duplicate code within myisam and maria sort.cc Setting read and write methods for the SORT_PARAM struct based on variable length key is done within a single function. commit 38bcb4464eadc4e2a22e835ef009cbd1f4ae8846 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Jan 15 14:24:11 2016 +0100 After-merge fix. commit 2f88b14acd9c7ddc0337dd56a1d6ce1a156fe4ce Merge: 55d61ec878f 06b2e327fcb Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Jan 15 13:01:19 2016 +0100 Merge branch 'tmp' into tmp-10.1 Conflicts: sql/slave.cc commit 55d61ec878f94cfbdafee43599809dda98803a9f Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Jan 14 13:31:08 2016 +0100 MDEV-4961 SSPI/GSSAPI/Kerberos authentication plugin commit 3e20a0d8f414124d040fda5a4981cecf533f62a2 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jan 9 19:51:51 2016 +0100 - Fix MDEV-9239. Meanwhile, make all references to the database in XTAB Schema (was sometimes in XTAB Catalog) modified: storage/connect/mycat.cc modified: storage/connect/mycat.h modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabtbl.cpp modified: storage/connect/tabutil.cpp commit 111acb721ff7237ceb5f5c8fae8c10857ed7c36f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jan 5 18:50:54 2016 +0200 MDEV-9359: encryption.create_or_replace fails sporadically in buildbot: failing assertion: mutex->magic_n == MUTEX_MAGIC_N Make sure that encryption threads mutex is initialized before starting encryption threads. commit 56e0de0411315d348290aa257fce45cde9b22861 Merge: 1bb66ea88c4 ae7b39a13a3 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Dec 30 20:56:52 2015 +0100 Merge branch '10.0' into 10.1 commit 1bb66ea88c4679d6bd3ad1472d75983e66f679ae Merge: 4282ac48c6f 4d3bc261525 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Dec 29 18:44:13 2015 +0400 Merge remote-tracking branch 'origin/10.0' into 10.1 commit 4282ac48c6ffb2af8cbe67c8f5a6a07e3c492b98 Merge: 30b2447f7d9 7529870c7e5 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Dec 29 15:22:33 2015 +0400 Merge remote-tracking branch 'origin/10.0' into 10.1 commit 3e76d54b98e328768b1999344c0affc7a8f04b69 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Dec 27 19:37:28 2015 +0100 - Fix MDEV-9322. modified: storage/connect/json.cpp commit 30b2447f7d930b4f1a16f56f5213b2f54de9cf8c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sun Dec 27 15:40:34 2015 +0400 MDEV-9128 - Compiling on IBM System Z fails Provided IBM System Z have outdated compiler version, which supports gcc sync builtins but not gcc atomic builtins. It also has weak memory model. InnoDB attempted to verify if __sync_lock_test_and_set() is available by checking IB_STRONG_MEMORY_MODEL. This macro has nothing to do with availability of __sync_lock_test_and_set(), the right one is HAVE_ATOMIC_BUILTINS. commit 0f10a5c97ab79daa7350b227981924c1313c3c2a Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Thu Dec 24 21:46:38 2015 +0100 Fix annoying repetitive tokudb build warning, if MariaDB is build on non-Linux x64 system commit 000eba94f50da12f154b734f2a36f5f37ecd6b4f Merge: 8efdfc8b58a 89a264809d6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 23 10:42:55 2015 -0500 Merge branch '10.0-galera' into 10.1 commit 8efdfc8b58a84f8e8d62f0bb8b31f5b763664c06 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 23 16:22:48 2015 +0100 update results innodb 32-bit funcs_1 embedded commit 923b6dc888d727272a66290f60bc61ab76f1fff1 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 23 15:59:56 2015 +0100 remove HA_ERR_INFO, use ER_ALTER_INFO commit 89a264809d660fb5a4e7d43e9324b1f529a3a1d7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 23 09:51:32 2015 -0500 MDEV-9224: postfix - thd can be null in reload_acl_and_cache() commit 8d9fbaaba60d1e044de0856201cc6989b380e2b0 Author: Monty <monty@mariadb.org> Date: Wed Dec 23 13:46:32 2015 +0200 Fixed that ccache can be used again (broken by TokuDB patches) For now, only if ccache is installed with symlinks in /usr/lib64/ccache commit deef90eb753bfe132be2e3b46536a29dde93de8a Author: Monty <monty@mariadb.org> Date: Wed Dec 23 11:57:42 2015 +0200 Don't send error 0 to my_printf_error() Fixed by adding HA_ERR_INFO as a informational warning to by used by MyISAM This is used to inform when we create a backup copy of the data file. Also improved informational messages when creating backup copies of data and index files commit e6c0f25f04c0dd6be7cd3973bf1a58dff213f985 Merge: fe4047dc390 70113ee170c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 22 15:09:29 2015 -0500 Merge branch '5.5-galera' into 10.0-galera commit fe4047dc39090f626408d91999dd4a8f0869ab13 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 22 15:02:18 2015 -0500 MDEV-9224 : Database lockup on flush in galera A deadlock can occur when the wsrep applier thread while executing FLUSH TABLES waits for MDL lock owned by other local transactions, which in turn are waiting for commit order if their seqno comes after one assigned to FLUSH TABLES. Fixed by making sure that the wsrep applier thread while executing FLUSH TABLES does not wait for table share(s) to be removed from table definition cache. commit 70113ee170cbace52d01afdb3ddd4ea5bfa92ebd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 22 14:58:02 2015 -0500 MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353 Addendum: Save thd's server_status & option_bits before setting the thread specific pointer. commit 27e6fd9a596847a1a4c618d16ed43f6885dfe73a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 22 14:51:26 2015 +0400 MDEV-9095 - [PATCH] systemd capability for --memlock Adjust systemd files to enable CAP_IPC_LOCK to allow rootless mlockall (triggered by memlock option). This is amended version of a patch originally submitted by Daniel Black. commit 87e6873ce91831c247331a8964c3267952efe95a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Dec 21 14:40:41 2015 +0400 MDEV-9081 - Debian: insecure debian-sys-maint password handling Set umask so that newly created file is not readable by others. This is a quick fix to close security gap. To be replaced by MDEV-8375 - passwordless root login. commit c597ed01112c2f6549c59e6548d4ff53803487df Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Dec 16 17:29:26 2015 +0400 MDEV-9209 - [PATCH] scripts: Do not prepend the prefix to absolute paths Allow absolute paths for INSTALL_*DIR. commit d8e127f9f4eb634be2b84de3384709060db70b43 Merge: 02781512605 d58a770201a Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 22 15:19:51 2015 +0100 Merge branch '10.1' into bb-10.1-serg commit 02781512605e311e1ae45fedb154555ed3ed2cba Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 22 11:59:15 2015 +0100 fix galera.lp1438990 test binlog_savepoint_rollback() should not try to truncate a binlog unless binlog_savepoint_set has actually remembered the position to truncate to. commit 7697bf0bd7e5b50c1071742ac90539be71f6eabe Merge: 0686c34d22a 080da551ea1 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 22 10:32:33 2015 +0100 Merge branch 'github/10.0-galera' into 10.1 Note: some tests fail, just as they failed before the merge! commit 0686c34d22a5cbf93015012eaf77a4a977b63afb Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 14 22:51:54 2015 +0100 MDEV-8605 MariaDB not use DEFAULT value even when inserted NULL for NOT NULLABLE column NOT NULL constraint must be checked *after* the BEFORE triggers. That is for INSERT and UPDATE statements even NOT NULL fields must be able to store a NULL temporarily at least while BEFORE INSERT/UPDATE triggers are running. commit ad5db17e882fea36dcae6f6e61996b5f9bf28962 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 16 12:12:01 2015 +0100 cleanup * move common code to a new set_bad_null_error() function * move repeated comparison out of the loop * remove unused code * unused method Table_triggers_list::set_table * redundant condition (if (table) after table was dereferenced) * add an assert commit de7636e1470848bb5d92437b7c6c7b9c4d6caedc Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 21 21:30:15 2015 +0100 32-bit test fixes commit dfb58a3782972bacb515d2a414714b748ed6f147 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 20 12:33:58 2015 +0100 innodb/xtradb: init scrub mutex even in read-only mode because it's locked for innodb part of SHOW STATUS, which can happen in read-only mode too. commit ab64d674e8825625020ec8107a9434e10a91e897 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 20 12:31:49 2015 +0100 fix innodb-get-fk test incorrect option name and doing ALTER TABLE under read-only: the test "passed" in 10.0 only because $restart_parameters was first implemented in 10.1 commit 752349d8afad4a3c4cdf122a9a1cc388f96777f1 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Dec 20 12:27:37 2015 +0100 update disabled.def for connect engine commit a2bcee626d4ef2836e38e4932305871390164644 Merge: 1788bfe93a7 4fdf25afa81 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 21 21:24:22 2015 +0100 Merge branch '10.0' into 10.1 commit d58a770201acae10bdae7e840db043368cb48ba0 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Dec 21 16:07:07 2015 +0400 MDEV-7540 Information Schema SPATIAL_REF_SYS contents don't match the expected contents. Table content filled appropriately. Thare are still just two records as we don't have geodetics yet. commit 080da551ea171f8a43633ab27b56875938643dd0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Dec 21 16:36:26 2015 +0200 MDEV-8869: Potential lock_sys->mutex deadlock In wsrep BF we have already took lock_sys and trx mutex either on wsrep_abort_transaction() or before wsrep_kill_victim(). In replication we could own lock_sys mutex taken in lock_deadlock_check_and_resolve(). commit 1788bfe93a745582d938a608d5959b7d2e6b2f23 Merge: 7e8e83029f0 e57876eacf9 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 21 14:36:24 2015 +0100 Merge branch 'connect/10.1' into 10.1 commit afc2fb1bf8aaa8559f602bf7ff7859e039a378ee Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Fri Dec 18 23:41:08 2015 +0200 MDEV-8627: SHOW GRANTS does not work for a replicated role The bug was caused by accessing uninitialized fields within the LEX related to ssl by mysql_show_grants() -> get_current_user() -> has_auth() function. commit ab9a488dec79f325d73dddd11d7ee120108a9f36 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Dec 20 19:24:03 2015 -0500 MDEV-9141 : [PATCH] Add CA validation to wsrep_sst_xtrabackup-v2.sh - Add CA validation to wsrep_sst_xtrabackup-v2.sh. - Also added a few {} around tpem for consistency. - Abort if encryption is requested but socat is not ssl-enabled. Patch contributed by : Klaas Demter commit 8dfd157bb2c560f0ee7496216cc3f0895788bdf0 Merge: dad555a09c8 3f515a09ff1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Dec 19 19:19:32 2015 -0500 Merge branch '5.5-galera' into 10.0-galera commit dad555a09c8d590132c77c192a18d7fc1f8fe91e Merge: 18173ddfc40 90ea0145856 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Dec 19 14:24:38 2015 -0500 Merge tag 'mariadb-10.0.23' into 10.0-galera commit 7e8e83029f04a568bb0a85f7ffd573c178af4b81 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Dec 18 13:18:35 2015 +0100 document %M format commit 8d34a29663b985803677f1a1e9d9d1dd672eb103 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Dec 18 08:37:56 2015 +0100 aria_read_log: silence expected safemalloc warnings commit 97d2c9bf39f661c4100562b08943ab7aae248099 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 17 22:44:11 2015 +0100 MDEV-9214 Server miscalculates the number of XA-capable engines Relax the number-of-XA-engines check on recovery. Allow *more* engines to be present than absolutely necessary, extra engines cannot affect ACID guarantees of the recovery process. As a bonus, 10.0->crash->10.1 upgrade won't complain about wsrep being a new XA storge engine. commit 392d55790132aa7c4cf12208c49d922926007d81 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 16 19:33:53 2015 +0100 MDEV-9183 MariaDB 10.1 crash on `mysqld --verbose --help` plugin_init() works like this: 1. init MyISAM 2. load plugins from mysql.plugin, if it's a MyISAM table 3. init all not initialized plugins 4. all done, if step 2 loaded mysql.plugin, otherwise: 5. load plugins from mysql.plugin 6. init all not initialized plugins now, with --help --verbose, step 3 will not actually initialize them, and if mysql.plugin is unreadable, step 6 will try to initialize existing plugins again. Fix: when skipping initialization because of --help, change plugin status from PLUGIN_IS_UNINITIALIZED. commit 03245ec02e2f16df488098427aaeb635de9ab4c0 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Dec 18 08:37:24 2015 +0100 bump the version commit 5b94ea71c3812a24549485bc8e9f74b52a92b728 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Dec 18 20:29:17 2015 +0100 MDEV-9044 Binlog corruption in Galera unit test for the IO_CACHE bug commit 58b54b7d1a4ce4e3a9537c058bb5ba300c88c0de Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 7 14:01:52 2015 -0500 MDEV-9044 : Binlog corruption in Galera While refreshing the IO_CACHE, do not update its parameters (read_pos, read_end & pos_in_file) if there is nothing left to read. commit 428e09a789a17211de9b4f0a2c4c1226d5dcf993 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Dec 18 11:22:58 2015 +0200 Fix buildbot failure seen on p8-rhel71. Currently we support file block sizes 512K-4K. commit 206039b8baf8d58478afc774578276d733eca58a Merge: 69147040a66 e4e2d9dd3c4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Dec 18 10:11:02 2015 +0200 Merge pull request #135 from grooverdan/crc32_conditional Do not build optimised power crc32 on bigendian commit e4e2d9dd3c48e983e05b73501b00638ef4404308 Author: Daniel Black <daniel.black@au.ibm.com> Date: Fri Dec 18 16:48:38 2015 +1100 Do not build optimised power crc32 on bigendian commit 69147040a66b90e8c861ce11a13f208d2a0680a2 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Dec 17 19:45:42 2015 +0200 MDEV-9236: Dramatically overallocation of InnoDB buffer pool leads to crash Part I: Add diagnostics to page allocation if state is not correct but do not assert if it is incorrect. commit 670bc0b352187e1b62752b317971c037d783e8db Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Dec 17 09:24:54 2015 +0200 Improve validation. If page type is not valid, try to print more information from the page (note that page could be corrupt). commit 3f515a09ff13d5ee242de121b0162dd4b39db219 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 16 20:07:12 2015 -0500 MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353 As a fix for MDEV-8208, for initial wsrep threads, the invocation of init_for_queries() was moved after plugins were initialized. Due to which, OPTION_BEGIN bit of wsrep applier THD (originally set in wsrep_replication_process) got reset due to implicit commit within init_for_queries(). As a result, events from a multi-statement transaction from another node were committed separately by the applier thread, which leads to an assertion as they all carry same seqno. Fixed by making sure that variable.option_bits are restored post init_for_queries(). Also restored server_status. Added a test case. commit 953d5680a3c050273a8f29253f7386984679f92b Merge: 1ac6640210b 60f09cd2b79 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Dec 16 09:34:24 2015 +0200 Merge pull request #133 from grooverdan/power-crc32 MDEV-9288: Use POWER8 accelerated crc32 commit 60f09cd2b7913ae2f0807de03233d18a09876454 Author: Daniel Black <daniel.black@au.ibm.com> Date: Wed Dec 16 11:12:05 2015 +1100 MDEV-9288: portablity for compling on non-power platforms Also removed surperflous stdio include. commit 1ac6640210bb337ecdfa9f8b818cc3c6156dbdcc Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Dec 15 20:37:33 2015 +0200 MDEV-9129: Server is restarting in the loop after crash Analysis: We have reserved ROW_MERGE_RESERVE_SIZE ( = 4) for encryption key_version. When calculating is there more space on sort buffer, this value needs to be substracted from current available space. commit 477c84d51e9b386baadc053e017c019aaac68fc8 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Dec 15 11:33:41 2015 +0200 Add new sysvar. commit 5b5c1106669af916b872f709755dc9fb870fe262 Merge: efeb9057367 6ddd775314c Author: Sergey <svoj@mariadb.org> Date: Tue Dec 15 13:08:30 2015 +0400 Merge pull request #132 from iangilfillan/10.1 10.1 man pages commit efeb905736724f7792b4b533ca5f04425098b5d5 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Dec 15 09:46:53 2015 +0200 Rename test files. commit 82bec8bfdf87b75e0a055a4739a69f5090ed699d Author: Alexander Barkov <bar@mariadb.org> Date: Tue Dec 15 11:04:51 2015 +0400 MDEV-9265 SuSE patches: Suspicious implicit sign extension commit 16f0d996c338f2b999b745d3b070393643f267cd Merge: 44b107da90a 804a59e408b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Dec 15 08:53:57 2015 +0200 Merge pull request #125 from grooverdan/MDEV-8923_innodb_buffer_pool_dump_pct MDEV-8923: port innodb_buffer_pool_dump_pct from MySQL WL#6504 InnoDB buffer pool dump/load enchantments This patch consists of two parts: 1. Dump only the hottest N% of the buffer pool(s) 2. Prevent hogging the server duing BP load From MySQL - commit b409342c43ce2edb68807100a77001367c7e6b8e Add testcases for innodb_buffer_pool_dump_pct. Part of the code authored by Daniel Black. commit 2538c7cf89aca60c56d4e6f9fad84723c2a3b015 Author: Daniel Axtens <dja@axtens.net> Date: Fri Nov 27 15:18:48 2015 +1100 Use POWER8 accelerated crc32 - Make accelerated checksum available to InnoDB and XtraDB. - Fall back to slice-by-eight if not available. The mode used is printed on startup. - Will only build on POWER systems at the moment until CMakeLists are modified to only add the crc32_power8/ files when building on POWER. running MySQL-5.7 unittest/gunit/innodb/ut0crc32-t Before: 1..2 Using software crc32 implementation, CPU is little-endian ok 1 Using software crc32 implementation, CPU is little-endian normal CRC32: real 0.148006 sec normal CRC32: user 0.148000 sec normal CRC32: sys 0.000000 sec big endian CRC32: real 0.144293 sec big endian CRC32: user 0.144000 sec big endian CRC32: sys 0.000000 sec ok 2 After: 1..2 Using POWER8 crc32 implementation, CPU is little-endian ok 1 Using POWER8 crc32 implementation, CPU is little-endian normal CRC32: real 0.008097 sec normal CRC32: user 0.008000 sec normal CRC32: sys 0.000000 sec big endian CRC32: real 0.147043 sec big endian CRC32: user 0.144000 sec big endian CRC32: sys 0.000000 sec ok 2 Author CRC32 ASM code: Anton Blanchard <anton@au.ibm.com> ref: https://github.com/antonblanchard/crc32-vpmsum Signed-off-by: Daniel Black <daniel.black@au.ibm.com> commit e57876eacf9c74fa3452c793672f220ee8c8135d Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Dec 14 23:49:17 2015 +0100 - Fix MDEV-9279. Replacing exit(1) in yy_fatal_error by a longjmp. modified: storage/connect/fmdlex.c modified: storage/connect/plgdbutl.cpp commit 6ddd775314c21e70555953ebcf2db0e2fdfcdadf Author: iangilfillan <github@greenman.co.za> Date: Mon Dec 14 23:16:27 2015 +0200 10.1 man pages commit 18173ddfc4081407832d9a6703d1b8356b7defe9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 14 11:33:52 2015 -0500 MDEV-9162 : MariaDB Galera Cluster memory leak on async slave node As galera node (slave) received query log events from an async replication master, it partially wrote the updates made to replication state table (mysql.gtid_slave_pos) to galera transaction writeset post TOI. As a result, the transaction handle, thus created within galera, was never freed/purged as the corresponding trx did not commit. Thus, it kept piling up for every query log event and was only reclaimed upon server shutdown when the transaction map object got destructed. Fixed by making sure that updates in replication slave state table are not written to galera transaction writeset and thus, not replicated to other nodes. commit 4437f51682b22caaf2cf0b00de1bf6fa3edf6557 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Dec 14 10:10:09 2015 +0200 MDEV-8869: Potential lock_sys->mutex deadlock In wsrep brute force (BF) we have already took lock_sys and trx mutex either on wsrep_abort_transaction() or before wsrep_kill_victim(). commit 2ce0043bf32d547d3438afd09a6917aaad5370ea Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Dec 13 18:43:37 2015 +0100 - Copy error message from G to g when using temporary storage for parsing. modified: storage/connect/tabjson.cpp commit 673cc065988c45fb42fa0b1a5a25ef90451f4e48 Merge: 32393e2253d 32879b95803 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Dec 11 19:19:21 2015 +0100 Merge branch 'ob-10.1' into 10.1 commit 32879b95803f1606812009b6f865f7600042a1d8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Dec 11 18:43:54 2015 +0100 Update version number commit ca07ee85ea28d4b820498535508c6b23f089c22c Merge: 278ff1661a9 d67aacb4fbb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Dec 10 13:00:08 2015 -0500 Merge tag 'mariadb-5.5.47' into 5.5-galera commit 44b107da90a106c128dca278d04c68d804e51497 Author: Monty <monty@mariadb.org> Date: Thu Dec 10 12:39:54 2015 +0200 Fixed a bug in galera + some failing galera tests - Added missning setting of table->rpl_write_set in record_gtid(), required by galera - Removed output of WSREP_PATCH_VERSION from galera_defaults, as this can change over time - Limit galera_many_tables_pk and galera_many_tables_nopk to 900, as on many systems the default open table limit is 1024 commit 33f0cf71196d3d2869ccfcbf1c41a0a6709fe8df Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 9 12:24:53 2015 -0500 MDEV-9227 : Both CentOS service names mysql and mariadb exist? As 10.1 has systemd support, there is no longer need to set _SYSTEMCTL_SKIP_REDIRECT/SYSTEMD_NO_WRAP. commit 218da97d5d8e42de68d38aee25d5367569a35c4c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Nov 27 13:58:30 2015 +0400 MDEV-9172 - Analyze patches for IBM System z Extended my_timer_cycles() to support s390. Some compiler tunings for RHEL/SLES RPM packages on s390. commit 32393e2253dfa884168b3267f4e03ca5a9b3e647 Merge: ad916ef33c1 a18a3fbdd11 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Dec 9 00:02:04 2015 +0100 Merge branch 'ob-10.1' into 10.1 commit a18a3fbdd113c2cdd7f66669fb16a8069c28675c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Dec 9 00:00:08 2015 +0100 - Serialize: Protect again eventual longjmp's. Always return NULL on error. Adding also the file length. modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp - JSONCOL::WriteColumn Add types SHORT and BIGINT as accepted modified: storage/connect/tabjson.cpp - TDBJSN: Make this type use a separate storage for Json parsing and retrieve this memory between each rows. This is necessary to be able to handle big tables. See MDEV-9228. modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h commit 1ad5a8dfb7513a35d1dc007fbbbbc714ee3a865e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Dec 5 20:51:40 2015 +0100 Fix memory error when a plain string argument is parsed. Parsing memory, not added in CalcLen, is added in CheckMemory. Adding also the file length. modified: storage/connect/jsonudf.cpp commit 0ec89291f139a881471020a216b52333e965156e Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Dec 4 01:02:27 2015 +0100 Remove warning on Linux modified: storage/connect/filamzip.cpp Avoid calling the wrong AddValue (Windows compiler error ???) modified: storage/connect/json.h Fix looping bug in JARRAY::AddValue for arrays having one value. Fix potential crash in JVALUE::SetValue modified: storage/connect/json.cpp Many changes to fix bugs, enhance memory handling and modify Jpath. In JSNX some functions have been re-written or added to handle new Jpath. BMX was re-defined to avoid a different size between Windows an Linux. Jbin memory was fixed to use the proper memory when adding values. Default pretty value is now 0 instead of 2. Filename is stored in BSON when IsJson == 2. BSON size is added to memlen in CalcLen when applicable. The order or parameter was switch in Json_Object_Grp. File name argument must be a constant (temporary?) Json_Set_Item now returns file name when applicable. modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h Include "mycat.h" modified: storage/connect/mycat.cc Udf_json test revisited and fixed for Linux modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/mysql-test/connect/t/json_udf2.inc commit f3e5329846a99339d8b69e27b2470956bcf1ed29 Author: Christian Loos <cloos@netcologne.de> Date: Thu Dec 3 13:31:33 2015 +0100 switch from myisam_recover to myisam_recover_options myisam_recover is only an alias for myisam_recover_options. Use the option name instead of the alias is more correct. This also avoids an note about the use of an alias instead of the option name on every server start. commit 089a586b43bba6fa74538bca8f0a361c0a984e33 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Dec 2 18:33:54 2015 +0100 Windows : Fix crash with "uninitialized variable keyname used" by C runtime debug check. commit 804a59e408be8806846b8d200a0387cb84e2d9a2 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Sun Nov 29 18:10:58 2015 +1100 MDEV-8923: innodb_buffer_pool_dump_pct add test cases Add testcases for innodb_buffer_pool_dump_pct commit a816df70098ce319b0b174752b77351ba927f3a2 Author: Vasil Dimov <vasil.dimov@oracle.com> Date: Sun Nov 29 18:08:42 2015 +1100 MDEV-8923 Port innodb_buffer_pool_dump_pct WL#6504 InnoDB buffer pool dump/load enchantments This patch consists of two parts: 1. Dump only the hottest N% of the buffer pool(s) 2. Prevent hogging the server duing BP load From MySQL - commit b409342c43ce2edb68807100a77001367c7e6b8e commit 3c0e9d31b3e6494931deb09f5c93b05a96df8471 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Nov 25 15:50:19 2015 +0300 Fix a typo (this is not a user-visible bug as currently there are no engines that don't support HA_READ_PREV) commit b88c67d5f23c6beca5604b31919ab45906dd9b39 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Nov 24 14:24:23 2015 -0500 Update galera suite global_suppressions. commit 310c718cff0fbc5182eab7e77ed26fe567166fca Author: Alexander Barkov <bar@mariadb.org> Date: Tue Nov 24 22:47:42 2015 +0400 MDEV-9178 Wrong result for CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED) Also, fixing compilation warnings in ctype-mb.ic (Windows). commit 2f8c84fd16ced8f0615b43e83890e60dd2b53479 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Nov 24 14:16:48 2015 +0100 MDEV-7588 Add thd_wait_begin/thd_wait_end to wait_for_binlog_endpos commit 73fc19bbcda1fe14a77b518a70b35fd783775c1c Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Nov 24 14:11:16 2015 +0100 Fix warning about unused variable if FD_CLOEXEC is not defined commit 22b594267c223ea281704e43cbbbacd5938d11a1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 23 16:23:10 2015 -0500 MDEV-9033: Incorrect statements binlogged on slave with do_domain_ids=(...) Post-fix: The test case pushed with the fix had each node acting as slave to the other two nodes with different set of filters on server_id's. The slave's gtid_slave_pos is updated after it processes the events received from master nodes irrespective of whether the events were filtered or not. Thus, sync_with_master_gtid.inc could unblock even on filtered events. As a result, sync_with_master_gtid.inc would fail to block until the desired changes have been replicated. Fixed by simplifying the topology. Also, modified CHANGE MASTER commands to ignore based on gtid_domain_id instead of server_id. commit edf6354bd6389ce1ca79591fe79deef4df6eca95 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Nov 18 15:51:20 2015 +0400 MDEV-9128 - Compiling on IBM System Z fails Provided IBM System Z have outdated compiler version, which supports gcc sync builtins but not gcc atomic builtins. It also has weak memory model. InnoDB attempted to verify if __sync_lock_test_and_set() is available by checking IB_STRONG_MEMORY_MODEL. This macro has nothing to do with availability of __sync_lock_test_and_set(), the right one is HAVE_ATOMIC_BUILTINS. commit f00d7657f8abf9d080c9c54e4d6057ed075b9eb9 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Nov 17 13:13:47 2015 +0400 MDEV-7806 - thread_pool_size is not auto-sized thread_pool_size is auto-sized before my_getopt(). But my_getopt starts from resetting all options to their default values. So the auto-sized value is lost. Fixed by moving thread_pool_size auto-sizing after my_getopt(). commit 8a860fda0c1b0c9fda2fcddc0d3392a20d76a9d8 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 22 16:15:57 2015 +0100 Remove commented lines. modified: storage/connect/value.cpp Avoid warning on redefined XSTR modified: storage/connect/tabxml.cpp commit 1d239d8c94106561a017c7534674003042180015 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 22 14:49:51 2015 +0100 Make changes required by version 10.1.9 (see Sergei's mmail): Use PlgDBSuballoc in JbinAlloc to avoid unsupported longjmp's. modified: storage/connect/ha_connect.cc modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/tabjson.cpp modified: storage/connect/value.cpp Add new UDF functions jsoncontains, jsoncontains_path, json_set_item, json_insert_item, json_update_item, jbin_set_item, jbin_insert_item, jbin_update_item modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h commit 370a2cbe96e026fdb8966d8e58e7c93f75597cb8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 20 19:49:16 2015 -0500 Fix syntax error in wsrep_sst_common.sh. commit 4d1a4bc3e5de0c5911abcc9d70730595b2d9e05d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 20 12:35:28 2015 -0500 Increase default MTR_PORT_GROUP_SIZE to 20. Some Galera tests can require more than 10 ports. commit 75afa93eb1c568c39f0e7296459aef745288f2bc Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 20 12:32:31 2015 -0500 Fix galera.galera_as_slave_nonprim test. commit 0d8eb20cb0a9972121e8e5e7b6bbd1fcc5ff8177 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 20 12:31:22 2015 -0500 Remove duplicate code. commit 2fc3dc393d396647a220b286780f31d244ac2c53 Merge: e52c753ab9c 1e156e1436f Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 20 09:31:13 2015 +0100 Merge branch '10.1' into bb-10.1-serg commit e52c753ab9c3315ca4b5a645b66da807ec6d7821 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 20 09:15:30 2015 +0100 cleanup commit df25018c2ab16927ce778aebf506467f3797f729 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Nov 19 12:52:55 2015 -0500 MDEV-6264: CentOS missing lsof as dependency for MariaDB-server (10.1) wsrep.cmake should be included before cpack_rpm.cmake as it defines WITH_WSREP, required by cpack_rpm.cmake to conditionally include galera helper tools in server package's requires list. commit 87c306802b9f431dd5fd70f10bf946c52e843b42 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 21:20:14 2015 +0100 update test results commit 1e156e1436f931625b7a5573584a786388979de2 Author: Monty <monty@mariadb.org> Date: Fri Nov 20 10:00:06 2015 +0200 Fixed compile warnings on Solaris commit 981b4747538c742932561d278919fc4b57bd37eb Author: Monty <monty@mariadb.org> Date: Fri Nov 20 09:57:58 2015 +0200 Updated configure.pl to new plugin syntax --with-plugin-name=xxxx --with-plugins= now uses =AUTO instead of =1 commit fdba672b6fa9f27a2fdbfd03c82c5da725d4204c Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 18:13:01 2015 +0100 Post-merge fixes for Connect engine 1. define connect_EXPORTS, this causes the engine to use MariaDB versions for timestamp<->struct tm conversion instead of TZ-dependent libc versions. 2. remove check_access() that was removed once, but re-appeared during a complex merge. 3. disable a totally broken test 4. update test results 5. skip odbc_firebird test when no firebird DSN is available commit e3d37bfebf818fba7d65fbd89f721dae4864bc0c Merge: 7f19330c595 ad916ef33c1 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 18:09:06 2015 +0100 Merge branch 'connect/10.1' into 10.1 commit 7f19330c595e3183d079fe2c18eecc74740e8f83 Merge: 4046ed12bcd f4421c893b5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 17:48:36 2015 +0100 Merge branch 'github/10.0-galera' into 10.1 commit 4046ed12bcddfd831c510b022cb7af224be9457b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 17:04:19 2015 +0100 rbr and savepoint in a subtatement Apply MySQL fix for bug#76727: https://github.com/mysql/mysql-server/commit/69d4e72c Bug#20901025: SLAVE ASSERTION IN UNPACK_ROW WITH ROLLBACK TO SAVEPOINT IN ERROR HANDLER commit 33ab30dfe22002a7f03662837d60d7cc6503ce64 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 16:39:40 2015 +0100 fix tokudb compilation with bundled zlib commit d4017d498f5c2c52e2bd8ac989d8b3ef1f7b0d93 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 17 13:39:04 2015 +0100 fix for windows builders commit c99fba267842e5150a71835032efb716808dbfef Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 16 22:13:28 2015 +0100 compilation warning commit beded7d9c9592ca8fdfc367f7c64f89c35995c44 Merge: af71da5d2f9 2553f143fde Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 15:52:14 2015 +0100 Merge branch '10.0' into 10.1 commit af71da5d2f90c82b2357e808640003907c488bc2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 19 14:01:16 2015 +0100 remove duplicated like commit f47124c9ef58d0f0e02d6c0ce616a7397420f99b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 18 02:11:20 2015 -0500 Incorrect statements binlogged on slave with do_domain_ids=(...) In domain ID based filtering, a flag is used to filter-out the events that belong to a particular domain. This flag gets set when IO thread receives a GTID_EVENT for the domain on filter list and its reset at the last event in the GTID group. The resetting, however, was wrongly done before the decision to write/filter the event from relay log is made. As a result, the last event in the group will always pass through the filter. Fixed by deferring the reset logic. Also added a test case. commit 836275bb203a47104eb7f28aa409924b91abc801 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Nov 17 00:42:18 2015 +0400 MDEV-4829 BEFORE INSERT triggers dont issue 1406 error. Turn the 'abort_on_warning' on for assigning value to fields. commit 905613f825f28f561072d6babd307a010de7cf86 Author: Monty <monty@mariadb.org> Date: Tue Nov 17 18:19:59 2015 +0200 Fixed wrong tests found by buildbot commit 19d99faf1e480f47229eb7fcb64643f7ed91d583 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon Nov 16 15:41:09 2015 +0100 MDEV-8734 mysqlbinlog --start-position isn't bigint fix it only for local operations. commit c0216f1d02e63686f986fa8f352fdf6de61249a7 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Nov 17 09:45:55 2015 +0200 MDEV-9099: Test encryption.innodb_encryption_discard_import fails on buildbot commit f4421c893b50f05078f14d33c47d21f52f59f8a7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 16 12:39:56 2015 -0500 Fix for some failing tests. commit c78fc8b1ea95dfab4dbf17678143d650ef645263 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 16 12:35:06 2015 -0500 MTR: rsync process is left running if pid file is removed MTR drops the datadir in the event of a test failure. In case mysqld is running as a Galera node and a failure occurs while the SST is in progress, the rsync pid file gets removed as part of the cleanup and wsrep_sst_rsync, which relies on this file, fails to kill the rsync. Fixed by using the cached $RSYNC_REAL_PID to kill rsync daemon. commit 3228ad33f0ae8e2045449c3e67bcd1fbf5ed6543 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 13 19:21:45 2015 +0100 MDEV-8973 Build failure on missing alloca.h in *BSD family alloca() is in stdlib.h commit 0c5f36d5791d40f11d95e667c2ae000c21814218 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 13 18:41:11 2015 +0100 MDEV-8969 groonga is compiled even with -DPLUGIN_MROONGA=NO first add mroonga plugin (MYSQL_ADD_PLUGIN) then add dependent targets (add_subdirectory(groonga)) commit 12c32bd9892efef16d170e6cc8c9633e988e7025 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 13 18:41:58 2015 +0100 MDEV-8962 TokuDB tries to build on OS X, even when disabled in compile flag first add tokudb plugin (MYSQL_ADD_PLUGIN) then add dependent targets (ADD_SUBDIRECTORY(ft-index)) commit 296338147c75c273335e749b0c5427e196f0e683 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 13 17:53:16 2015 +0100 MDEV-8453 Alter table not returning engine errors remove ~15 years old print_lock_error() function, use handler::print_error() instead commit daf3551cce65e7f80123838f1c3b731da209ee25 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 11 15:48:08 2015 +0100 add missing DBUG_RETURN-s commit 2e0ac168272e074bc60e6760715d8186df92bd8a Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 10 17:01:14 2015 +0100 remove obsolete workaround The workaround is not needed anymore - mariadb requires bison 2.x. And removing all __attribute__ in sql_yacc.yy breaks new DBUG_ENTER. commit da957310d04bd4714d01d00f9848666690af6479 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 10 16:57:44 2015 +0100 compiler warning (no return in non-void function) commit 29dd634a4c0b9c3579cf9d318ed64d748d848b1d Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 10 16:57:15 2015 +0100 dbug: correct trace for DBUG_RETURN(func()); -- gcc only when func1 calls func2 from DBUG_RETURN, dbug shows the trace as | > func1 | < func1 | > func2 | < func2 because DBUG_LEAVE happens before func2(). Change that to invoke DBUG_LEAVE when the local variable goes out of scope. This uses gcc specific __attribute__((cleanup)). commit 8f60656fd58610a7ed0b65321d229b44ab618f9a Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 6 16:43:40 2015 +0100 MDEV-9039 Can't upgrade MariaDB to to 10.1.8 version from 10.0.21 Don't mark the SEQUENCE engine as XA-capable. The engine never registers itself for any transaction, so it doesn't matter whether it is XA-capable or not. The only effect of being "XA-capable" is breaking the "number of XA-capable engines" check of TC_LOG_MMAP. commit a716433da306558c2588a58b7cd562f6e0c534ba Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 3 20:59:36 2015 +0100 MDEV-7298 plugins.cracklib_password_check test fails remove the test that depended on the current cracklib dictionary commit 4165961d54c7047f9574982edeb55885884d27a9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 16 01:07:06 2015 +0200 disable innodb on sol10-64 because buildbot config invokes BUILD/compile-solaris-amd64 with the --extra-args=--without-plugin-innodb argument, but BUILD/compile-solaris-amd64 doesn't take arguments and doesn't invoke configure.pl, so this extra-args is lost. commit dcb7996cb7f07a8d7cafc9b564c382359b412fe2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Nov 15 17:24:47 2015 -0500 Fix/disable failing tests. commit 0dfa0eef596ee677b55976793d632dc9b36928c7 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Sun Nov 15 10:44:20 2015 +0100 MDEV-8957 [PATCH] Useless ssl_ctx_set_tmp_dh call in libmysql Accepted patch of Georg: do not setup Differ-Hellman parameters on client. commit d85490afab99e31a2221043a7c1d546a57901995 Merge: 1774230c242 e46c8bbf627 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Sat Nov 14 10:19:53 2015 +0100 Merge branch 'bb-10.1-knielsen' into 10.1 commit 1774230c242c1efc47594383c49ec13dff4df183 Author: Monty <monty@mariadb.org> Date: Fri Nov 13 19:47:31 2015 +0200 Fixed regexp to fix buildbot failures commit e46c8bbf627c7d6dfd24794371c3e5f22cdea9bb Merge: 8f2e05f41cf d5d87c98c04 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Nov 13 15:32:55 2015 +0100 Merge branch 'mdev7818-4' into bb-10.1-knielsen Conflicts: sql/sql_parse.cc commit 8f2e05f41cf3b92bdb4c409e542ef126d5fe8f95 Merge: 2828c2be554 ba02550166e Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Nov 13 14:24:40 2015 +0100 Merge branch 'mdev7818-4' into 10.1 Conflicts: mysql-test/suite/perfschema/r/stage_mdl_global.result sql/rpl_rli.cc sql/sql_parse.cc commit 1e63a81a3b833efbc0726cb357000e9457ade5f9 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 13 15:07:45 2015 +0200 Follow-up for a change MDEV-9040: fixed the 32-bit rdiff commit 2828c2be554b62646fc990ac28b4aef20cd9b9d2 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 13 03:23:22 2015 +0200 MDEV-9124 mysqldump does not dump data if table name is same as view earlier on While querying INFORMATION SCHEMA, check for a table's engine only used table name, but not schema name; so, if there were different rows with the same table name, a wrong one could be retrieved. The result of the check affected the decision whether the contents of the table should be dumped, and whether a DELAYED option can be used. Fixed by adding a clause for table_schema to the query. commit a430df3aba59c57b0756c25b1586d880d19286df Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Tue Nov 10 17:47:39 2015 +0100 Fix compile error on Windows Using __attribute__ needs my_attribute.h include commit 3f24cf2dbdc3885f47a3ea84fc6383d3007cc996 Author: Monty <monty@mariadb.org> Date: Tue Nov 10 13:47:28 2015 +0200 Don't delete non existing .TMD and .OLD files for Aria internal temporary tables (Simple speedup) commit 65151e0cd1d054f32616288a767a77755683295e Author: Monty <monty@mariadb.org> Date: Tue Nov 10 13:42:35 2015 +0200 Change stage_copying_to_tmp_table to stage_creating_tmp_table like in MySQL. (We where using stage_copying_to_tmp_table twice) commit 2f63e2e2a0575d60572b8fdef55f90173c36b10b Author: Monty <monty@mariadb.org> Date: Tue Nov 10 13:40:15 2015 +0200 MDEV-8426 mysqlbinlog: "Corrupted replication event was detected. Not printing the value" with binlog-row-image=minimal" Merged Rows_log_event::print_verbose_one_row() and log_event_print_value() with MySQL 5.7 Added flush after writing of Table_map_log_event() to fix wrong order of lines in output. This causes a lot of changes in some test results. commit 78771189e769cf5f1444c2c51a3813d45ac120e2 Author: Monty <monty@mariadb.org> Date: Mon Nov 9 15:07:13 2015 +0200 Ignore MySQL 5.7 log events not relevant for MariaDB - XA - Transaction_context_event (used by MysQL group replication) - View change event (used by MysQL group replication) commit 78ffeaa988916ce6295fd1a0617c5fa707d5bcc9 Author: Monty <monty@mariadb.org> Date: Fri Nov 6 14:42:43 2015 +0200 Fix that one can run rpl_binlog_errors with --debug commit 05ed9fec03f1ff03bf44f2de1484cbe142763ced Author: Monty <monty@mariadb.org> Date: Fri Nov 6 13:18:40 2015 +0200 Use MEM_CHECK_DEFINED to check if blocks contain uninitialized data Fixed failure in tests when running optimized code - Some assert() was using code that had to be executed Fixed copying of some uninitialized data (fixed valgrind warning) commit e3868ee07273b1ea2c495d92891fd7d1ed1eea9e Author: Monty <monty@mariadb.org> Date: Fri Nov 6 13:02:19 2015 +0200 Don't store vcol bitmaps in TABLE if table doesn't have virtual fields. (Makes TABLE a bit smaller) commit 93d1e5ce0b841bedbc071da85995f15611ed3d34 Author: Monty <monty@mariadb.org> Date: Thu Nov 5 22:09:58 2015 +0200 table->write_set was changed if binary logging was used, which caused the changes in query execution plans. Fixed by introducing table->rpl_write_set which holds which columns should be stored in the binary log. Other things: - Removed some not needed references to read_set and write_set to make code really changing read_set and write_set easier to read (in opt_range.cc) - Added error handling of failed unpack_current_row() - Added missing call to mark_columns_needed_for_insert() for DELAYED INSERT - Removed not used functions in_read_set() and in_write_set() - In rpl_record.cc, removed not used variable error commit cb4737cb4e7df6c43de9d47483f17f8e2e7fa24b Author: Monty <monty@mariadb.org> Date: Mon Nov 2 10:35:59 2015 +0200 Fixed compiler warning commit 7cd2095cde11af4ac0478c5ff9a221a832e23586 Author: Monty <monty@mariadb.org> Date: Fri Oct 23 18:44:13 2015 +0300 Sage cleanup in heap storage engine Removed old not needed code withing #if Changed 0x%lx to %p commit 7ec655850397a0edfcea8c1fd82650824297e564 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 6 14:38:03 2015 -0500 MDEV-9021: MYSQLD SEGFAULTS WHEN BUILT USING --WITH-MAX-INDEXES=128 The bitmap implementation defines two template Bitmap classes. One optimized for 64-bit (default) wide bitmaps while the other is used for all other widths. In order to optimize the computations, Bitmap<64> class has defined its own member functions for bitmap operations, the other one, however, relies on mysys' bitmap implementation (mysys/my_bitmap.c). Issue 1: In case of non 64-bit Bitmap class, intersect() wrongly reset the received bitmap while initialising a new local bitmap structure (bitmap_init() clears the bitmap buffer) thus, the received bitmap was getting cleared. Fixed by initializing the local bitmap structure by using a temporary buffer and later copying the received bitmap to the initialised bitmap structure. Issue 2: The non 64-bit Bitmap class had the Iterator missing which caused compilation failure. Also added a cmake variable to hold the MAX_INDEXES value when supplied from the command prompt. (eg. cmake .. -DMAX_INDEXES=128U). Checks have been put in place to trigger build failure if MAX_INDEXES value is greater than 128. Test modifications: * Introduced include/have_max_indexes_[64|128].inc to facilitate skipping of tests for which the output differs with different MAX_INDEXES. * Introduced include/max_indexes.inc which would get modified by cmake to reflect the MAX_INDEXES value used to build the server. This file simply sets an mtr variable '$max_indexes' to show the MAX_INDEXES value, which will then be consumed by the above introduced include file. * Some tests (portions), dependent on MAX_INDEXES value, have been moved to separate test files. commit ad916ef33c1e779da6940cce0f6e64b1b380bd6d Merge: e7fa7e08584 0a852591dba Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 8 14:56:48 2015 +0100 Merge branch 'ob-10.1' into 10.1 commit 0a852591dbaee4c33ab87d92d70a56cab225a2ca Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Nov 8 14:54:56 2015 +0100 PATCH-P0-FIX-UPSTREAM: Fix possible buffer overflow (MDEV-8317) Maintainer: Michal Hrusecky <Michal.Hrusecky@opensuse.org> (modified by O. Bertrand --> adding and using the XSTR macro) modified: storage/connect/tabxml.cpp commit d6b430c91b6ef6acd0b5adab6106915599c1abcc Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Sat Nov 7 13:40:44 2015 +1100 MDEV-8995: systemd - 16K open-files-limit by default commit 99283ba455411f7476c4ec89f72f5fbe1b1c1580 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 6 20:02:45 2015 -0500 MDEV-8974: boostrap systemd service for galera is confusing Fix the conditions for systemd scripts with '@' in path. commit 125cf485b16f14b9da6acc8d55de8ab7b26ad967 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Nov 6 17:52:57 2015 +0200 Fixed engine test results in accordance with changes made in scope of commit 6b20342651bb5207b6c125d2d11b664a1bebcc41 commit 4e421687c20ca7ffc14c9c073d96ac97b7248848 Merge: b80cc31ab46 0b8144a4728 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 6 16:35:00 2015 +0300 Merge pull request #112 from openquery/MDEV-8981 MDEV-8981: Analyze stmt - cycles can overflow commit b80cc31ab462a8250f170f48e4bcf3cf4fb2eef8 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Nov 5 13:57:24 2015 +0400 MDEV-9082 - Debian: mysql_install_db is called on upgrade A comment in debian/mariadb-server-10.1.postinst says: "can safely run on upgrades with existing databases". While this is true there're a few reasons not to do that: - it increases installation time (it has to run rather heavy mysqld multiple times) - as well as it increases mysqld downtime - it may fail if database has some plugin specific configs (see MDEV-8437) - there should be no need to run this script on upgrade: they should be handled by mysql_upgrade to - RPM postin doesn't call it if database directory exists Also postinst is not supposed to create database directories: let mysql_install_db do that intead. commit 7f5e005d164bef02de3a524d19391d135af46408 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Nov 4 20:13:15 2015 +0400 MDEV-9080 - Debian: incorrect empty password check in postinst There was code that was supposed to "catch upgrades from previous versions where the root password wasn't set". But it is wrong in many regards: - it is supposed to be executed against running server, but at this point server should be down, which makes this code no-op - if the above is fixed, root password will be requested twice (initial root password request + this one) - it asks for a password only once, while "initial root password request" asks twice (password + password verification) - it may give false positive if unix socket based authentication is in effect Removed this code since it didn't work for quite a while (at least since mysql-5.1) and nobody cared about it. commit 60ad33984090af2262d17232ceab1c1c9231fd24 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Nov 3 14:02:49 2015 +0400 MDEV-8437 - plugin variables conflict with bootstrap There is no strong need to change password column: the only side effect is that 4.0 -> 10.1 upgrades may get root/debian-sys-maint passwords stored in old format. This should be perfectly acceptable, since all password at this point are stored in old format. commit 8e40f9b713f1af4901783f08e1d0488c2ad0fa0e Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Nov 3 12:08:23 2015 +0400 MDEV-8437 - plugin variables conflict with bootstrap Removed redundant attempt to create mysql.plugin table: - original code was supposed to INSTALL some plugins: INSERT INTO plugin VALUES ('innodb', 'ha_innodb.so'), ('federated', 'ha_federated.so'), ('blackhole', 'ha_blackhole.so'), ('archive', 'ha_archive.so'); - original code was supposed to fail if mysql.plugin exists: The query sequence is supposed to be aborted if the CREATE TABLE fails due to an already existent table in which case the admin might already have chosen to remove one or more plugins. - mysql.plugin must've been created by preceeding mysql_install_db anyway commit 5079d69d48e2c1b763d23bdb294297e6d6da43a2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Nov 5 21:52:19 2015 -0500 MDEV-8975: 10.1 Fails To Join Existing Galera Cluster During the process of guessing the IP address, if bind-address is INADDR_ANY, mysqld should proceed with address specified via wsrep_node_address or use one from network interfaces. Patch contributed by darkain (pull#115). commit 25f8738112b05f33cfa45eabfebf6edfc80e6d8a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Nov 5 09:42:23 2015 +0200 MDEV-9040: 10.1.8 fails after upgrade from 10.0.21 Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following number indicate that a field contains a reference to an externally stored part of the field in the tablespace. The length field then contains the sum of the following flag and the locally stored len. This was incorrectly set to define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX) When it should be define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF) Additionally, we need to disable support for > 16K page size for row compressed tables because a compressed page directory entry reserves 14 bits for the start offset and 2 bits for flags. This limits the uncompressed page size to 16k. To support larger pages page directory entry needs to be larger. commit e947a526970d31150cf3e9803a796706c6be3da2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 4 21:58:07 2015 -0500 Update global_suppressions. commit 2399f1aee77d9f9558f4d65979448d44a98f8879 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 4 21:56:46 2015 -0500 Fix for build failure. commit f9e320c82daec5acc21884c2b09a139e19632c45 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 4 15:00:34 2015 -0500 MDEV-9026: Revert patch for MDEV-6069 Post-fix: Reverting the patch for MDEV-6069 brought some ALTERs with ENGINE=MYISAM back into the mysql_system_tables_fix.sql script. As a result, running mysql_upgrade with global enforce_storage_engine=INNODB (or any other non-MyISAM engine, for that matter) would fail. Fixed by locally unsetting enforce_storage_engine in the upgrade script. commit 1216429cfdb0e2015cc98ab0145228a7837722d7 Author: Vladislav Vaintroub <wlad@mariadb.com> Date: Wed Nov 4 13:17:40 2015 +0100 MDEV-8738 Application Verifier stop during server shutdown The verifier exception is caused by using thread local storage key after key was deleted. my_free() used current_thd within malloc size callback, which does pthread_get_specific(THR_THD), but THR_THD is already deleted at this point. The fix moves pthread_key_delete() to a later point in shutdown. commit 95289e5b665d6a3e37f938d0db978d0d0166e493 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Nov 3 11:55:30 2015 -0500 Revert "MDEV-6069: Remove old logic for 3.23-to-higher upgrades from upgrade SQL scripts" This reverts commit 5e6f12366abb02143ef57b6ff99285d81e3b3a36. commit d68b0836723cff2f92d90fc244c6f640f2319859 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Nov 3 11:54:37 2015 -0500 Revert "MDEV-6069: Remove old logic for 3.23-to-higher upgrades from upgrade SQL scripts" This reverts commit f8381d9382b02a53fc3a9fd0f8457c5668e9491c. commit 6189951003fd4ce1c925516b3b77475a2eb14889 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Nov 3 16:03:25 2015 +0200 MDEV-9063: encryption.innodb-log-encrypt produces warnings in error logs on builds with bundled SSL Test used aes_ctr that is not available everywhere when aes_cbc is fine also for this test. commit a574407444fc3ea93ca88afa93dc18154251bf74 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 2 23:19:37 2015 -0500 MDEV-9007: Bootstrap does not work in CentOS start script Some modifications in galera_new_cluster : * Do not use absolute path for systemctl * Fix parameter substitution syntax commit d8ecc2a0115f7179a30d772f104bd4cb5b15be20 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Sun Oct 25 11:22:12 2015 +1100 MDEV-9007: systemd - service mariadb bootstrap Now this error out and refers to galera_new_cluster. commit a2c3549404cbdc55aaaa8537739853d7369aa79a Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Oct 15 15:38:45 2015 +0200 MDEV-427: systemd - use galera_new_cluster instead of bootstrap Use galera_new_cluster instead. systemctl start mariadb@bootstrap will generate error message, use_galera_new_cluster.conf is the name of the file that will generate this error. Output: Job for mariadb@bootstrap.service failed. See "systemctl status mariadb@bootstrap.service" and "journalctl -xe" for details. ● mariadb@bootstrap.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb@.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/mariadb@bootstrap.service.d └─use_galera_new_cluster.conf Active: failed (Result: exit-code) since Thu 2015-10-15 19:27:52 CEST; 5s ago Process: 24334 ExecStart=/usr/bin/false (code=exited, status=1/FAILURE) Process: 24330 ExecStart=/usr/bin/echo Please use galera_new_cluster to start the mariadb service with --wsrep-new-cluster (code=exited, status=0/SUCCESS) Main PID: 24334 (code=exited, status=1/FAILURE) Oct 15 19:27:52 spaceman systemd[1]: Starting MariaDB database server... Oct 15 19:27:52 spaceman systemd[1]: mariadb@bootstrap.service: main process exited, code=exited, status=1/FAILURE Oct 15 19:27:52 spaceman systemd[1]: Failed to start MariaDB database server. Oct 15 19:27:52 spaceman systemd[1]: Unit mariadb@bootstrap.service entered failed state. Oct 15 19:27:52 spaceman systemd[1]: mariadb@bootstrap.service failed. commit 7877438f3152bb2bdc17ed6cdea94838fdd47be0 Author: Elena Stepanova <elenst@montyprogram.com> Date: Tue Nov 3 03:25:38 2015 +0200 Increased the version number commit 641644a8629b9b437a1886cf19451f31a0181860 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Nov 1 20:37:23 2015 +0400 MDEV-8992 MariaDB crashes when accessing table with GIS features. we don't test for not-existing gis extra in FRM. commit 4d1511296288782df0e3d9373396724e250b24c1 Merge: 17b0b45b1de d775ecdd010 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Oct 31 18:07:02 2015 -0400 Merge tag 'mariadb-10.0.22' into 10.0-galera commit 3e043b30ac03f0c7473da5bf1a433d4db84da7bd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Oct 30 12:10:54 2015 -0400 MDEV-8991: bind-address appears twice in default my.cnf Add comment about bind-address mentioned under galera section. commit 81d35841bd05085d61f3562201b802ca53802941 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Oct 30 13:12:30 2015 +0200 MDEV-9011: Redo log encryption does not work Redo log encryption used too short buffer when getting encryption keys. commit 3e98383787da6428fc9c451a8113fa21a5e8ad79 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Oct 30 08:37:40 2015 +0200 Fix test failures seen on buildbot. commit 923827e2ccd8574b2741a55f3bef1a91ac48a074 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Sun May 17 15:10:45 2015 +0200 MDEV-7949: Item_field::used_tables() takes 0.29% in OLTP RO Part 2: removed hack workaround for bug we do not have. commit fb4358f4324cfb9cec5c1f7c52ffa90839a2fe69 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed May 13 16:17:22 2015 +0200 MDEV-7949: Item_field::used_tables() takes 0.29% in OLTP RO small sixes of used_tables() usage commit 937aa7ad774e0d73a2e97d46bfdaba006ff7fe1d Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 29 09:58:11 2015 +0100 MDEV-9010 Encryption preset file contains different configuration preset then documentation * clarify the comment in the preset file * make boolean --aria-encrypt-tables option to work without an argument commit 239e0c571e4fa23ef67310029178269ad03912a5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 29 10:11:07 2015 +0100 MDEV-8551 compilation fails with 10.1.6 Restore changes that were lost in a merge. Originally from commit 66fd45a Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 8 21:06:56 2015 +0200 MDEV-7398 mysqld segfaults on FreeBSD 10.1 i386 when built with clang 3.4 commit 9164a243112ef2df46ed2d63234552dc658c112a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 29 10:35:37 2015 +0200 Test debug_key_management fails sporadically in buildbot. Problem is that we expect key_version to be increasing so before we reset debug_key_management plugin key_version disable encryption. commit 0fe5eb5cae7cf7da90c8f46997bb331ce2253ac6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 29 08:21:28 2015 +0200 MDEV-9032: MariaDB 10.1.8 crashes at startup Add diagnostics when externally stored field is freed but rollback ctx is not what we expect. commit 1108c1ca5c1d71bb9ca39a463a4f0465b23350b6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Oct 28 14:30:30 2015 +0200 MDEV-8950: encryption.innodb_encryption_discard_import fails sporadically in buildbot At least some of the failures where due to fact that TMPDIR contained old file. commit f2ab9abbd621e3b261146d7bb769d6b844b5fb10 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Oct 28 09:14:22 2015 +0200 MDEV-9000: storage/xtradb/fil/fil0pagecompress.cc fails to compile on i686-linux Incorrect parameter type was used. Fixed by casting data types to correct ones. commit e7fa7e085843788e1fb565842bcb9a84e6b9d156 Merge: de197212960 abe87bb0110 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Oct 25 21:19:45 2015 +0100 Fix error and warnings raised by gcc on Linux: Define O_RDONLY in jsonudf.cpp Correct wrong deinit function names Make Locate functions use the variable more Avoid signed/unsigned warning in ha_connect.cc GetIntegerTableOption Initialize oom in tabodbc MakeInsert modified: storage/connect/ha_connect.cc modified: storage/connect/jsonudf.cpp modified: storage/connect/tabodbc.cpp commit abe87bb011069ca9354b183dc72b2566b13ee8be Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Oct 25 21:11:04 2015 +0100 Fix error and warnings raised by gcc on Linux: Define O_RDONLY in jsonudf.cpp Correct wrong deinit function names Make Locate functions use the variable more Avoid signed/unsigned warning in ha_connect.cc GetIntegerTableOption Initialize oom in tabodbc MakeInsert modified: storage/connect/ha_connect.cc modified: storage/connect/jsonudf.cpp modified: storage/connect/tabodbc.cpp commit de19721296076497967d0c3b38d07e8a3b08cd6e Author: Buggynours <bertrandop@gmail.com> Date: Sun Oct 25 17:46:20 2015 +0100 Fix of error and warnings when compiling on linux modifié : storage/connect/ha_connect.cc modifié : storage/connect/jsonudf.cpp nouveau fichier : storage/connect/mysql-test/connect/r/odbc_firebird.result modifié : storage/connect/mysql-test/connect/t/json.test nouveau fichier : storage/connect/mysql-test/connect/t/odbc_firebird.test modifié : storage/connect/tabodbc.cpp supprimé : storage/connect/Makefile commit 0b8144a4728e357965b2e3027535148870f0d0fd Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Fri Oct 23 23:23:36 2015 +1100 MDEV-8981: Analyze stmt - cycles can overflow A 64bit counter can overflow within the time of a query so lets take it that the measurement is the small value rather than an order 1e12 millisecond query. tested with: int main() { ulonglong start = ULONGLONG_MAX - 30; ulonglong end = 600; ulonglong cycles = 10000; cycles += end - start; if (unlikely(end < start)) cycles += ULONGLONG_MAX; printf("cycles %llu\n", cycles); } commit 8a09280dc17c40c398c4c023108d70395b1ba0b6 Author: Michael Widenius <monty@mariadb.org> Date: Thu Oct 22 17:01:46 2015 +0300 Removed not needed note when doing mysqld --version commit c3ebd7867de1302e5749dc098f5661bc96ff348a Author: Michael Widenius <monty@mariadb.org> Date: Thu Oct 22 17:00:58 2015 +0300 Remove THD argment from Log_event->net_send() and Protocol::pack_info() as THD is already available in Protocol commit 0bf2b1c13a810342d80626e9716acd73c3f00397 Author: Michael Widenius <monty@mariadb.org> Date: Mon Oct 12 12:53:03 2015 +0300 Ignore tokudb tool commit e498d326257b2491c9e4f3ba44e57e32085a389d Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 22 09:11:23 2015 +0400 Adding "const" qualifier to arguments of date2my_decimal() and ErrConvString::ErrConvString(String *). commit bdc03e0579cc5b7fbf07928eeace72a4715cdf52 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 22 08:11:31 2015 +0400 MDEV-7195 AVG() loses precision in INT context The fix for MDEV-8918 previously fixed the problem reported in MDEV-7195. Adding a test case from MDEV-7195 only. commit 1816eca57c6f29d3ff8230c65232fc2e0df8574f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Oct 21 19:26:35 2015 +0200 Fix MDEV-8882 modified: storage/connect/tabodbc.cpp commit 17b0b45b1de41a1b188c5de6c3e9d8e6ecc48a72 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Oct 21 09:20:54 2015 +0300 Code cleanup. commit 2445b1b212a45d4b80271664fc135967208a62f4 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Oct 20 18:49:33 2015 +0200 Typo commit f3e362464bb67c02236a2ecb7526fb0c046e8474 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Oct 20 13:41:14 2015 +0300 MDEV-8869: Potential lock_sys->mutex deadlock Analysis: We are alreading holing lock_sys mutex when we call thd::awake. This could lead mutex deadlock if trx->current_lock_mutex_owner is not correctly set. Fix: Make sure that trx->current_lock_mutex_owner is correctly set. commit 76701c6d3426db99f80978718bd0f6628ce85e6a Merge: 3ec139a4afc 52a910395a1 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 19 14:17:36 2015 +0300 Merge pull request #105 from philip-galera/10.0-galera-mysql-wsrep-gh202 refs codership/mysql-wsrep#202 Fix bad cherry-pick (and the compiler warnings it generated) commit 52a910395a18088af5988883989274066bb212d8 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Oct 19 04:14:51 2015 -0700 refs codership/mysql-wsrep#202 Fix bad cherry-pick (and the compiler warnings it generated) commit 3ec139a4afc7e9d367902deb546b941ca25a51d0 Merge: 4d33f9dca02 43b2a451fe6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 19 12:05:25 2015 +0300 Merge pull request #104 from philip-galera/10.0-galera-mysql-wsrep-gh202 Refs codership/mysql-wsrep#202 Added schema info into wsrep messages commit 43b2a451fe62e7a1172fa3d611039b3d11c1dd36 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Oct 19 01:56:04 2015 -0700 refs codership/mysql-wsrep#202 Added schema info into wsrep messages Added schema info to wsrep messages above debug level. commit 7cd9af694ff81bb79cf85b0342038d7e26c46999 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Oct 18 15:55:32 2015 +0200 Fix MDEV-8926 modified: storage/connect/ha_connect.cc modified: storage/connect/mysql-test/connect/r/datest.result modified: storage/connect/mysql-test/connect/t/datest.test commit 100be0b6ee9cbb905ad8443c4712dbdf990ab798 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Oct 17 17:23:11 2015 +0200 Update JSON UDFs to version 1.04.0004 modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/std_data/biblio.json modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/tabjson.cpp commit 7e29f2d64fb463559a7c9c178ffe899b9bcab113 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 15 18:25:54 2015 +0400 MDEV-8948 ALTER ... INPLACE does work for BINARY, BLOB commit 199378028430dd8e84ec10b111851d255000c2f1 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Oct 13 00:04:51 2015 +0200 fix build on sol10-64 commit 7454f1c54cd310455ecc49a5c9af82fad96be66f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 15 08:49:58 2015 +0200 fix events_1 test for October 2015 commit 278ff1661a9fcf690b6b7604eb889fd287e6246a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Oct 15 05:47:06 2015 -0400 Add warnings to galera test suppression list. commit 534e4247c39fa9f3c53b7a808bd0cf0691d3bfaa Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 14 23:21:36 2015 +0200 fix lowercase* tests labrador commit 2a471e8e98478ba3618d2556b0059e3bf06767d9 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 14 15:29:57 2015 +0200 fix func_hybrid_type crash in --ps --embedded create_embedded_thd() must reset current_thd before returning, otherwise client [de-]allocations will be happening in that stray THD context commit b867ade5916941c25a714068a913c4b75aabe868 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Oct 14 18:33:16 2015 +0400 Removing Used_tables_and_const_cache from "class udf_handler". It was used only temporary, during udf_handler::fix_fields() time, and then copied to the owner Item_func_or_sum object. Changing the code to use the Used_tables_and_const_cache part of the owner Item_sum_or_func object directly. commit 3723c70a304566d867b6fb22f1b102d389d66321 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Wed Oct 14 07:46:31 2015 +0200 MDEV-426: systemd PermissionsStartOnly=true by default mariadb-service-convert during migration can create a file containing ExecStartPre=/usr/sbin/sysctl -q -w vm.drop_caches=3 if the users my.cnf contains [mysqld_safe] flush_caches. This sysctl entry change requires root access. No existing ExecStartPre requires execution requires execution as another user. There is a comment in the mariadb{,@}.service.in that indicates mysqld_install which would require -u mysql to explicity change user to mysql from root since PermissionsStartOnly=true. Otherwise the following error would be generated: Oct 14 07:38:38 spaceman systemd[1]: Starting MariaDB database server... -- Subject: Unit mariadb.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit mariadb.service has begun starting up. Oct 14 07:38:38 spaceman sysctl[10089]: sysctl: permission denied on key 'vm.drop_caches' Oct 14 07:38:38 spaceman systemd[1]: mariadb.service: control process exited, code=exited status=255 Oct 14 07:38:38 spaceman systemd[1]: Failed to start MariaDB database server. commit 079cc48e063adc3c132404cbab178fbf66750160 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Wed Oct 14 07:32:34 2015 +0200 MDEV-426: systemd mariadb-sevice-convert - abs paths Systemd config files need absolute paths. LimitCore was ment to be LimitCORE Oct 14 07:28:04 spaceman systemd[1]: [/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf:7] Unknown lvalue 'LimitCore' in section 'Service' Oct 14 07:28:04 spaceman systemd[1]: [/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf:9] Executable path is not absolute, ignoring: sync Oct 14 07:28:04 spaceman systemd[1]: [/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf:10] Executable path is not absolute, ignoring: sysctl -q -w vm.drop_caches=3 commit 82fb035eccdd26adb0751b243075a3bd7efd9366 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Wed Oct 14 07:05:42 2015 +0200 MDEV-426: mariadb-service-convert to use MYSQLD_OPTS During the review process OPTIONS was converted to MYSQLD_OPTS. In the script mariadb-service convert, the ExecStart of the system also uses this setting. commit ddb93b427e4336a931d6d472b74c29c49eb36b93 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 14 05:14:06 2015 -0400 WSREP_TO_ISOLATION_BEGIN should be called with the table list. commit 8d2d947ac124b488abae5aff835a0d7c23e0302b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Oct 13 15:42:53 2015 -0400 Fix galera_var_dirty_reads test. commit fd68a7dac625be8ba64745474d85f689ddeb9ea0 Merge: 13615c5e18e 16c4b3c68b0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Oct 13 14:42:36 2015 -0400 Merge tag 'mariadb-5.5.46' into 5.5-galera commit 950e6f5b4335fcd30658a6abda53b12077ac75d3 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sun Oct 11 10:32:44 2015 +0200 Fixed Fedora 22 package build failure. Since MariaDB packages have absolute paths, they are marked as not relocatable by setting CPACK_RPM_PACKAGE_RELOCATABLE. According to logics of recent CPackRPM it is not enough: one needs to set CPACK_PACKAGE_RELOCATABLE additionally. commit 6346d1de2fdaa8a8359082871eac49402cb0e472 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Sep 28 15:08:09 2015 +0400 MDEV-427/MDEV-5713 Add systemd script with notify functionality After review/QA fixes. commit 20c2ae39db3dd0ec4c337a9b0bd2bf4481b61e49 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Sep 17 22:16:19 2015 +1000 MDEV-427/MDEV-5713 Add systemd script with notify functionality commit 92271c78b6c78b1a0248ce5d1c96326b930de610 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Sep 22 21:59:18 2015 +0200 MDEV-8087: Server crashed in Time_and_counter_tracker::incr_loops Problem: Procedure which uses stack of views first executed without most deep view. It fails but one view cached (as well as whole procedure). Then simultaniusely create the second view we lack and execute the procedure. In the beginning of procedure execution the view is not yet created so procedure used as it was cached (cache was not invalidated). But by the time we are trying to use most deep view it is already created. The problem with the view is that thd->select_number (first view was not parsed) so second view will get the same number. The fix is in keeping the thd->select_number correct even if we use cached views. In the proposed solution (to keep it simple) counter can be bigger then should but it should not create problem because numbers are still unique and situation is very rare. commit e19a6f3dca7509eb8e042796a9311dba937ad9d7 Merge: 0b4c3ad8181 dfb74dea300 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Oct 12 10:03:04 2015 +0200 Merge branch 'bb-10.1-serg' into 10.1 commit 0b4c3ad8181b909a3af04847e229900b1e9c5232 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Oct 12 10:49:37 2015 +0400 Moving Used_tables_and_const_chache from Item_func to Item_func_or_sum and thus reusing Used_tables_and_const_cache for Item_sum instead of declaring the same members inside Item_sum. commit dfb74dea300f83880c11600dc726a9cae559f356 Merge: b785857d00a e7cb032e560 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Oct 12 00:37:58 2015 +0200 Merge branch '10.0' into 10.1 commit b785857d00a0fd9c98cb52823357bfad8fb18289 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Oct 11 11:53:02 2015 +0200 s/--silent/--silent-startup/ commit b4fad1f18da01fc70abb6f16180a93eda0217966 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Oct 11 07:57:40 2015 +0200 fix feedback plugin tests commit c4e336e01ebff51f9e338eeb2815a3417cf8004b Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Oct 10 14:19:02 2015 +0200 fix the encryption.filekeys_nofile test and move the error reporting where it belongs commit affff1aefc81ea0a3cb778a6617504ccd1e905fc Author: Monty <monty@mariadb.org> Date: Fri Oct 9 13:08:41 2015 +0300 Less logging of not critial things during startup/shutdown: - Added --start option to mysqld which don't prints notes to log on startup This helps to find errors in configure options easier - Dont write [Note] entries to log after we have abort the server This makes it easier to find what went wrong - Don't by default write out Changed limits for max_open_files as this didn't really change from anything the user gave us - Dont write warnings about not using --explicit_defaults_for_timestamp (we don't have plans do depricate the old behaviour) commit 602c803bd9c80e88d4e2a611422ad2da0033a111 Author: Monty <monty@mariadb.org> Date: Fri Oct 9 13:02:55 2015 +0300 Don't enable file_key_management_plugin by default (as this gives warnings in the log) Better warning from file_key_management plugin if filename is not given commit c696fc74cf72f240a999406fa229db5111198f62 Author: Monty <monty@mariadb.org> Date: Fri Oct 9 13:01:07 2015 +0300 Fixed compiler warnings and errors commit b0935fc5dafbd4a6c9adeeec4647a9616abf4b7b Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Oct 7 15:52:26 2015 +0500 MDEV-8842 add group support to pam_user_map module. Added to the pam_user_map module. commit 3757bc5e895289a6d69e6382bccb11c021e7144c Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Oct 5 14:46:12 2015 +0500 MDEV-8431 Feedback plugin needs an option for http proxy. 'feedback_http_proxy' system variable added to specify the proxy server as host:port. Not a dynamic one. commit 16ad1fc54027c4607f9edd14b02f776b41393f16 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 8 20:48:46 2015 +0400 MDEV-8921 Wrong result for CAST(AVG(double_column) AS SIGNED) commit 7091b7852d27e6c8a1875b2acc0d1adbfb29984f Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 8 19:19:21 2015 +0400 MDEV-8918 Wrong result for CAST(AVG(bigint_column) AS SIGNED) - Moving Item_xxx_field declarations after Item_sum_xxx declarations, so Item_xxx_field constructors can be defined directly in item_sum.h rather than item_sum.cc. This removes some duplicate code, e.g. initialization of the following members at constructor time: name, decimals, max_length, unsigned_flag, field, maybe_null. - Adding Item_sum_field as a common parent for Item_avg_field and Item_variance_field - Deriving Item_sum_field directly from Item rather that Item_result_field, as Item_sum_field descendants do not need anything from Item_result_field. - Removing hybrid infrastructure from Item_avg_field, adding Item_avg_field_decimal and Item_avg_field_double instead, as desired result type is already known at constructor time (not only at fix_fields time). This simplifies the code. - Changing Item_avg_field_decimal::val_int() to call val_int_from_decimal() instead of doing { return (longlong) rint(val_real()); } This is the fix itself. commit 174a0b9eb70d33965677d375472db0694f6047fd Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 8 12:09:05 2015 +0400 Clean-up: Item_sum_variance and Item_variance_field had hybrid type infrastructure, though in fact they always return REAL result. Removing hybrid type artifacts. commit de1a48e7d914c58cf01b5bda10fea21ea3ec4e28 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 8 08:59:58 2015 +0400 A clean-up for a few recent result set metadata related bug fixes: - MDEV-8875 Wrong metadata for MAX(CAST(time_column AS DATETIME)) - MDEV-8873 Wrong field type or metadata for LEAST(int_column,string_column) - MDEV-8912 Wrong metadata or type for @c:=string_or_blob_field Adding Item_hybrid_func as a common parent for Item_func_hybrid_field_type, Item_func_min_max, Item_func_user_var. This removes some duplicate code. commit 87777249017b691ac9a114ae134afa7bbf8d8591 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Oct 7 20:19:29 2015 +0400 MDEV-8912 Wrong metadata or type for @c:=string_or_blob_field commit 8afe96f011eb8037a92b4b3aab16118b0771ad50 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Oct 7 11:42:23 2015 +0400 MDEV-8910 Wrong metadata or field type for MAX(COALESCE(string_field)) commit bed4e847950eef50930b44632eea43416e7b37d1 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Aug 18 13:28:17 2015 +0200 MDEV-8380: Subquery parse error backport mysql parser fixes 0034963fbf199696792491bcb79d5f0731c98804 5948561812bc691bd0c13cf518a3fe77d9daf920 commit d6371d3a8eccedb056708b9d8abae9cc4db3ed4e Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Oct 6 18:03:10 2015 +0300 Combined fix for MDEV-7267 and MDEV-8864 The problem was that GROUP BY code created Item_field objects that referred to fields in the temp. tables used for GROUP BY. Item_ref and set_items_ref_array() call caused pointers to temp. table fields to occur in many places. This patch introduces Item_temptable_field, which can handle item->print() calls made after the underlying table is freed. commit 21adad000a00a62357c0da63ff9ae98850475618 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Oct 6 15:40:26 2015 +0300 MDEV-8901: InnoDB: Punch hole is incorrecty done also to log files causing assertion and database corruption Analysis: Problem is that punch hole does not know the actual page size of the page and does the page belong to an data file or to a log file. Fix: Pass down the file type and page size to os layer to be used when trim is called. Also fix unsafe null pointer access to actual write_size. commit 90f2c822469a4f88f882ba8974e790f0fb0b2702 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Oct 5 16:09:21 2015 +0500 MDEV-7817 ALTER TABLE {ADD|DROP} INDEX IF [NOT] EXISTS does not get written into binlog if nothing to do. Just log the ALTER statement even if there's nothing to do. commit 3c47809bc27486984bc56712b3db019d0720f30a Author: Alexander Barkov <bar@mariadb.org> Date: Tue Oct 6 00:48:46 2015 +0400 Clean-up: changing switch(result_type()) followed by a test for temporal types in case of STRING_RESULT to switch(cmp_type()). commit 56cd7d0cd02c5fd97a0db5f7e879dc05d44c6ea4 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Sep 19 12:58:41 2015 +0200 compilation failure on windows commit 6b0b1941bfa80b367eaab1f324ff18bfe8d8cb73 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 16 12:48:24 2015 +0200 fix installation location for policy files commit 3407438ea62aae31f0e77a77a94ebcb1a6434f9b Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Oct 4 09:53:05 2015 +0200 fixes for buildbot commit e302602ac09abbac1d968f02fa01ef1df536b750 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu May 28 22:42:32 2015 +1000 plugin: qc_info test - hide output so result isn't a binary file commit d4557934ec1d00d5c36f8e7b1b127a4dafee4e39 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Mon May 18 22:03:01 2015 +1000 plugin - qc_info - add Query Cache flags commit 3abfe76e2d80934c62f04cebdf94a053d393287f Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Oct 3 08:22:17 2015 +0200 remove unused group_by_handler::init() method The assumption is that the engine should not need to evaluate HAVING on the table->record[0] - the engine either can evaluate HAVING internally before writing it to the table->record[0], or it should leave it to the server, that will evaluate HAVING(table->record[0]). Similarly the engine should not need to evaluate ORDER on the table->record[0]. Either it returns the data already sorted, or the server will sort the table. commit 21175bb31610cdfe7f25b981edc760e46aa08c43 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 2 18:40:38 2015 +0200 Don't use flags in the group_by_handler class instead pass the whole query down and let the engine return unsupported parts back commit 8dff1aa5dc3335587b64ebf52ef2f8d5af2a0488 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 2 13:06:30 2015 +0200 bug: move one_storage_engine checking loop down to the point where all tables are already known (and subqueries converted to joins, if needed) commit c93ac0a1c68ed73cc4a59a475a8d576122557001 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 2 14:38:06 2015 +0200 cleanups and simplifications commit 7ca8b4bbfa3fc1ac12bbfc20530426fa534b9142 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 2 10:19:40 2015 +0200 move internal API out from group_by_handler into a Pushdown_query object commit 9ca3d9ea9cc3518706dc8e0e0ac89a58c34dc260 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Oct 2 10:19:34 2015 +0200 remove unused method commit e8daa41885b50094285f82f2a95e882b3dcab153 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Oct 5 09:47:45 2015 +0200 typos in comments, minor stylistic edits commit cf50e13fbd1b4d27a3542fe2751216d274eb7493 Author: Monty <monty@mariadb.org> Date: Fri Oct 2 10:18:27 2015 +0200 MDEV-6080: Allowing storage engine to shortcut group by queries This task is to allow storage engines that can execute GROUP BY or summary queries efficiently to intercept a full query or sub query from MariaDB and deliver the result either to the client or to a temporary table for further processing. - Added code in sql_select.cc to intercept GROUP BY queries. Creation of group_by_handler is done after all optimizations to allow storage engine to benefit of an optimized WHERE clause and suggested indexes to use. - Added group by handler to sequence engine and a group_by test suite as a way to test the new interface. - Intercept EXPLAIN with a message "Storage engine handles GROUP BY" libmysqld/CMakeLists.txt: Added new group_by_handler files sql/CMakeLists.txt: Added new group_by_handler files sql/group_by_handler.cc: Implementation of group_by_handler functions sql/group_by_handler.h: Definition of group_by_handler class sql/handler.h: Added handlerton function to create a group_by_handler, if the storage engine can intercept the query. sql/item_cmpfunc.cc: Allow one to evaluate item_equal any time. sql/sql_select.cc: Added code to intercept GROUP BY queries - If all tables are from the same storage engine and the query is using sum functions, call create_group_by() to check if the storage engine can intercept the query. - If yes: - create a temporary table to hold a GROUP_BY row or result - In do_select() intercept normal query execution by instead calling the group_by_handler to get the result - Intercept EXPLAIN sql/sql_select.h: Added handling of group_by_handler Added caching of the original join tab (needed for cleanup after group_by handler) storage/sequence/mysql-test/sequence/group_by.result: Test group_by_handler interface storage/sequence/mysql-test/sequence/group_by.test: Test group_by_handler interface storage/sequence/sequence.cc: Added simple group_by_engine for handling COUNT(*) and SUM(primary_key). This was done as a test of the group_by_handler interface commit d8df2b946442e6f4bd7dd73570a603ae3e2d21f0 Author: Monty <monty@mariadb.org> Date: Fri Oct 2 10:18:40 2015 +0200 Bugs, found by valgrind commit ae2cdc17980301e95f218f69154818bc6a13975b Author: Monty <monty@mariadb.org> Date: Sun Sep 27 21:28:48 2015 +0200 fix comments commit 8ed5fde3e1d2f49d140c166ef1e142215f90f572 Author: Monty <monty@mariadb.org> Date: Sun Sep 27 21:28:07 2015 +0200 bug in JOIN_TAB::cleanup() that caused freed memory to be accessed commit 4193fa7ae2886b2a3f3effa43c7ebf791f63943d Author: Monty <monty@mariadb.org> Date: Sun Sep 27 21:30:18 2015 +0200 Simple optimization commit 7e3127966646bca50ae6b8ba44c9aed0a261c482 Author: Monty <monty@mariadb.org> Date: Sat May 16 18:00:32 2015 +0300 Speed up some innodb tests Fixed compiler warnings sql/sql_view.cc: Ensure that merged_for_insert is properly reset (Left of an old patch) commit b2b07b33cf55b39db87a00789936113cc290f678 Author: Monty <monty@mariadb.org> Date: Mon May 11 23:11:05 2015 +0300 Don't write DROP TEMPORARY TABLE to binary log if we didn't write the CREATE TEMPORARY TABLE statement. - Enable old code from one of my older changesets that didn't make into 10.0 - Fix test cased that failed as they expected DROP TEMPORARY TABLE in the log. commit d2f6166ec5bc6c36f61f83b673b5b5dcd05edf12 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Oct 5 16:47:34 2015 +0300 MDEV-8830: Weird output in the error log Remove debug printout that was accidentally left in place commit 23d4c95b5049f8a7d1015f8dc1f0de37f691ecf4 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Oct 5 16:16:13 2015 +0400 MDEV-8896 Dead code in stored_field_cmp_to_item() commit 9337173915fd777cb074311b48f4e2c37e691f8e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 5 09:27:33 2015 +0300 MDEV-8893: Test encryption.innodb_encryption_filekeys fails on buildbot commit 608ad38a0d124fac1f8ec09b9c6e2fa3229a6eac Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Oct 4 11:57:57 2015 +0200 Temporary changes for making compile to work commit ba0b6685510f4a271da8d386ff75bfd83d3156c2 Author: Alexander Barkov <bar@mariadb.org> Date: Sun Oct 4 09:37:57 2015 +0400 A clean-up for MDEV-7950: - Turning get_mm_tree_for_const() from a static function into a protected method in Item. - Adding a new class Item_bool_func2_with_rev, for the functions and operators that have a reverse function and can use the range optimizer for to optimize "value OP field" as "field REV_OP value". Deriving Item_bool_rowready_func2 and Item_funt_spatial_rel from the new class. - Removing Item_bool_func2::have_rev_func(). commit 100d77e69d8af37909b3e29c8299e2c3792c8b1b Author: Alexander Barkov <bar@mariadb.org> Date: Fri Oct 2 14:48:32 2015 +0400 Clean-up: removing the unused "Item_result cmp_type" parameter from the methods: - Item_bool_func::get_func_mm_tree() - Item_bool_func::get_mm_parts() - Item_bool_func::get_ne_mm_tree() commit 322bc6e8c900b28c7d06f91f9b91b4f719825fc7 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Oct 2 12:14:50 2015 +0400 Adding "virtual bool Field::can_optimize_range(...)" and moving the code from Item_bool_func::get_mm_leaf() into Field_xxx::can_optimize_range(). This reduces the total amount of virtual calls. Also, it's a prerequisite change for the pluggable data types. commit 5e7f100bf55e65f4a4f38dbe6d79a0db70b4acf8 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 1 13:50:11 2015 +0300 MDEV-8523: InnoDB: Assertion failure in file buf0buf.cc line 5963 (Failing assertion: key_version == 0 || key_version >= bpage->key_version) commit 6b36fb96f1c1074c570477324056b82bbd1e3e6c Author: Alexander Barkov <bar@mariadb.org> Date: Fri Oct 2 08:54:25 2015 +0400 Clean-up: sharing duplicate code in Item_field::val_bool_result() and Item_ref::val_bool_result(). commit 38f3b99d469ab90f07287577d05e48928de720d4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Oct 1 20:36:25 2015 -0400 MDEV-8831 : enforce_storage_engine doesn't block table creation on other nodes Check if the engine is supported/allowed before replicating the statement. commit accf9b56754d977929b172dc1733cd75ba64be7a Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 1 20:01:35 2015 +0400 MDEV-5694 GREATEST(date, time) returns a wrong data type commit a84fae27d9badef8cc89b1369a90cfef1dc3c715 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Oct 1 11:35:18 2015 +0400 MDEV-8836 - Server crashed in my_copy_8bit on querying I_S.PROCESSLIST Fixed race condition in code filling INFORMATION_SCHEMA.PROCESSLIST.INFO_BINARY. When loading query string/length of another connection one must have LOCK_thd_data locked. commit e1cbca185139eed0ba3cf47807967b25f5a76ea1 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 1 14:21:12 2015 +0400 MDEV-657 LP:873142 - GREATEST() does not always return same signness of argument types. The patch for MDEV-8871 also fixed the problem reported in MDEV-657. Adding the test case from the bug report. commit b50c607056e1d4b25e274a8ab87a7e8e4c918c45 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Oct 1 14:07:42 2015 +0400 MDEV-4848 Wrong metadata or column type for LEAST(1.0,'10') MDEV-8873 Wrong field type or metadata for LEAST(int_column,string_column) commit 3266216f2c8f90c866b371fbd4a8bf6b0c628996 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Oct 1 08:16:14 2015 +0300 MDEV-8727: Server/InnoDB hangs on shutdown after trying to read an encrypted table with a wrong key Analysis: When a page is read from encrypted table and page can't be decrypted because of bad key (or incorrect encryption algorithm or method) page was incorrectly left on buffer pool. Fix: Remove page from buffer pool and from pending IO. commit cb2c799bd064a6204b35d102efb5409decc2cb5b Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 30 16:04:24 2015 +0400 MDEV-8860 Wrong result for WHERE 2016 < SOME (SELECT CAST(time_column AS DATETIME) FROM t1) MDEV-8875 Wrong metadata for MAX(CAST(time_column AS DATETIME)) commit cc9cfecab78bde9376e4406bf24506e92fdaaeac Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 30 12:37:34 2015 +0400 MDEV-8865 Wrong field type or metadata for COALESCE(signed_int_column, unsigned_int_column) Item_func_hybrid_field_type did not return correct field_type(), cmp_type() and result_type() in some cases, because cached_result_type and cached_field_type were set in independent pieces of the code and did not properly match to each other. Fix: - Removing Item_func_hybrid_result_type - Deriving Item_func_hybrid_field_type directly from Item_func - Introducing a new class Type_handler which guarantees that field_type(), cmp_type() and result_type() are always properly synchronized and using the new class in Item_func_hybrid_field_type. commit 09b87d6293b4b41321ba98366d5d7ade9ad681d3 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 30 10:05:16 2015 +0400 MDEV-8871 Wrong result for CREATE TABLE .. SELECT LEAST(unsigned_column,unsigned_column) commit c13f4091f57ebe89281f11affac49d191db77e4f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 29 15:15:28 2015 +0300 MDEV-8815: InnoDB should refuse to start if crash recovery fails instead of asserting Added error handling to crash recovery so that we stop instead of asserting. commit a4e5902039db10e5661c8475790aff84e67dff09 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 28 19:12:05 2015 +0400 MDEV-8862 Wrong field type for MAX(COALESCE(datetime_column)) commit c5922c5701e68bf6d1d2efa974bb21b1af53fa47 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 28 13:59:44 2015 +0300 MDEV-8821: Failing assertion: !page || page_type != 0 in file log0recv. cc line 1404 Alloc creating crypt_data to empty page at crash recovery and redo. commit 3cc6e5b7f235cc8ca9c274f848702cdc0ea14ed9 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 28 12:51:02 2015 +0400 MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings commit 54db387410b2a4f2bd6a1eacd5979a974b4f5389 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Sep 22 16:39:05 2015 +0400 MDEV-8682 - CSV engine does not properly process "", in quotes Added per-table boolean IETF_QUOTES variable to CSV storage engine. It allows to enable IETF-compatible parsing of embedded quote and comma characters. Disabled by default. This patch is based on Percona revision: https://github.com/percona/percona-server/commit/b32fbf02766f8db00f9ff4e6dc05a1df97c10ff7 Note that original patch adds server variable, while this patch adds per-table variable. commit bca5894d519fc1aa1d2619257ee772060eeaf36a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Sep 27 19:20:43 2015 -0400 Adjust warning suppression over a recent change in galera library. commit 6927459e5b61a6ca88245872cc3c2c5daa30dddf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 25 13:56:02 2015 -0400 MDEV-8208: Sporadic SEGFAULT on startup Addendum: * Before calling THD::init_for_queries(), flip the current_thd to wsrep thread so that memory gets allocated for the right THD. * Use wsrep_creating_startup_threads instead of plugins_are_initialized as the condition for the execution of THD::init_for_queries() within start_wsrep_THD(), as use of latter could still leave some room for race. commit 59037d962985ca46ccce379ed8b373b57a9e38f0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 16 23:20:57 2015 -0400 MDEV-8208: Sporadic SEGFAULT on startup Problem: When mysqld starts as a galera node, it creates 2 system threads (applier & rollbacker) using start_wsrep_THD(). These threads are created before plugin initialization (plugin_init()) for SST methods like rsync and xtrabackup. The threads' initialization itself can proceed in parallel to mysqld's main thread of execution. As a result, the thread initialization code (start_wsrep_THD()) can end up accessing some un/partially initialized structures (like maria_hton, in this particular case) resulting in segfault. Solution: Fixed by calling THD::init_for_queries() (which accesses maria_hton) only after the plugins have been initialized. commit 4d33f9dca027e1f66f9898146533e8c1d612f2d1 Merge: eac8e43541a 13615c5e18e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 25 14:57:56 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 13615c5e18eed62fa2dee80402dfebe3e74053c4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Sep 25 13:56:02 2015 -0400 MDEV-8208: Sporadic SEGFAULT on startup Addendum: * Before calling THD::init_for_queries(), flip the current_thd to wsrep thread so that memory gets allocated for the right THD. * Use wsrep_creating_startup_threads instead of plugins_are_initialized as the condition for the execution of THD::init_for_queries() within start_wsrep_THD(), as use of latter could still leave some room for race. commit 30711c6650fc7e2f166f29d0bc59eeab64dadb3e Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 25 21:33:50 2015 +0400 MDEV-8806 Numeric CAST produce different warnings for strings literals vs functions commit 26e4403f649839e82dd26f7a6b31165063eb2871 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Sep 24 14:02:18 2015 +0300 MDEV-8819: Failing assertion: block->page.space == page_get_space_id(page_align(ptr)) in file buf0buf.cc line 2551 Add error handling on page reading and do not try to access empty pages. commit 9554342d16a6567329cf6269129f9db4ea0be8c7 Merge: 5448df084b8 4070ce00dc9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 25 10:24:14 2015 +0200 Merge branch '10.1' into pull-request-97 Merge downstream Debian packaging (MDEV-6284) commit 4070ce00dc95e320c68e9d9b623893b034fb913e Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 25 07:18:04 2015 +0400 MDEV-8635 Redundant warnings on WHERE decimal_column='ax' The fix for MDEV-8466 earlier fixed MDEV-8635 as well. Adding a test only. commit 125001881dac9425e9aee12bd64003ee0b220580 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 24 16:31:45 2015 +0300 Fix typos in JSON MRR output commit 7016621596d4700a8cf2c228f958edf8d8932d38 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 24 15:43:01 2015 +0300 MDEV-8829: Assertion `0' failed in Explain_table_access::tag_to_json - Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases. commit 428f03c0b5cb9b0d85a7d70772dbf2b430672e83 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 24 15:48:02 2015 +0400 MDEV-8839 COLUMN_GET() produces warnings with no data commit e5418942609833edb681d16c4e2705f8c338bfee Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 23 20:59:54 2015 +0400 Fixing a failure in "mtr --ps xml", introduced by the patch for MDEV-8466 and MDEV-8468. Using --enable_prepare_warnings and --disable_prepare_warnings around the affected query, to have the same warning in regular and --ps mtr runs. commit 3ad035f66b74284f515b2786f7d4553dba5c14a2 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 23 20:42:28 2015 +0400 MDEV-8658 DATE(zerofill_column) and DATE(COALESCE(zerofill_column)) return different results MDEV-8660 TIME(int_zerofill_column) returns a wrong result commit b9da3ba45e6a6bad152203f56af47abe79e550ad Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Sep 23 19:28:20 2015 +0300 Follow-up for MDEV-6756 - fix the ps-protocol version of the tests commit 70effb6be823bd244e8ba6f3ba210b72fecfb7e0 Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Sep 23 19:15:29 2015 +0300 Follow-up for MDEV-6756 - fix the embedded version of the test commit 138e7bffaf2a0fad2dcee7a52e5afacb2f62c33d Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Sep 23 19:06:21 2015 +0300 Follow up for disabling encrypt_tmp_files and encrypt_binlog by default commit 5c62dd21e8f56dde8ab853542979ba245b1dbae0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Sep 23 12:32:47 2015 +0300 MDEV-8832: Encryption meta data should not be stored when ENCRYPTED=DEFAULT and innodb-encrypt-tables=OFF commit 212698b152609a7b17b45f9499fd650229985558 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 23 13:04:28 2015 +0400 MDEV-8253 EXPLAIN SELECT prints unexpected characters Item_string::clone_item() creates a new Item_string that points exactly to the same buffer that the original one does. Later, Item_string::print() uses c_ptr() for the original Item_string, which reallocs the original buffer, and the clone remain with the old freed buffer. Refactoring the code not to use c_ptr() in Item_string::print(). commit 180c44e0f600dc9e220887e213679f0d60f29a68 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Sep 23 10:15:38 2015 +0300 MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID Folloup: Made encryption rules too strict (and incorrect). Allow creating table with ENCRYPTED=OFF with all values of ENCRYPTION_KEY_ID but create warning that nondefault values are ignored. Allow creating table with ENCRYPTED=DEFAULT if used key_id is found from key file (there was bug on this) and give error if key_id is not found. commit 7cbecadf9b59d06f4d9a9e776f99418b273c2ebc Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Sep 17 17:01:00 2015 +0400 MDEV-8664 - plugins.show_all_plugins --embedded fails in buildbot Failed attempt to load dynamic library with STB_GNU_UNIQUE symbol may corrupt internal dynamic linker data sructures. This looks like libdl bug: https://sourceware.org/bugzilla/show_bug.cgi?id=14577 In embedded mode "show plugins soname" fails to dlopen ha_mroonga.so (which has STB_GNU_UNIQUE) due to undefined reference to wsrep_forced_binlog_format. It crashes later in subsequent call to dlopen() from pthread_exit(). Disabled plugins.show_all_plugins until dlopen() bug is fixed. commit 0cf39f401c111f873fa595573a23b209d1f28534 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 22 15:03:59 2015 +0300 MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID Analysis: Problem sees to be the fact that we allow creating or altering table to use encryption_key_id that does not exists in case where original table is not encrypted currently. Secondly we should not do key rotation to tables that are not encrypted or tablespaces that can't be found from tablespace cache. Fix: Do not allow creating unencrypted table with nondefault encryption key and do not rotate tablespaces that are not encrypted (FIL_SPACE_ENCRYPTION_OFF) or can't be found from tablespace cache. commit 5c9c8ef1eac0a3868a57ed8fda8bda8cd2453b37 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Sep 22 14:01:54 2015 +0400 MDEV-3929 Add system variable explicit_defaults_for_timestamp for compatibility with MySQL commit 89af0f11a83188cb2bfbfed0b54c00d718734995 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 21 11:24:08 2015 +0300 MDEV-8770: Incorrect error message when importing page compressed tablespace Added decompression and after page update recompression support for import. commit d54bc3c0d1ed50b3c5aa3a22b2cb653851315e8a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Sep 21 20:49:31 2015 -0400 Cleanup: remove dead code which could also lead to race. commit 9d5767cf43e1243e039b20c1853f5b7812587f2d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Sep 21 20:47:05 2015 -0400 Post-merge fix. commit e96f3c79b92f77df2edcd46867e2ef2d2880c2fe Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 22 00:57:29 2015 +0300 MDEV-8779: mysqld got signal 11 in sql/opt_range_mrr.cc:100(step_down_to) Post fix: initialize a variable commit a575d90fe1f5680cc35339d4c903003d886aaea5 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Sep 21 21:14:18 2015 +0200 Fold all json UDF names to lower case modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/value.cpp commit 22cc8f990bae759b564fdd1b403b8c67a4b59333 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 21 19:04:32 2015 +0400 Changing a number of functions to aggregate argument character sets and collations from the global name space into private and protected methods in Item_func_or_sum. commit 9b9e36ed4926edd896aa274e15286f64cfec4313 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Sep 20 21:31:02 2015 +0300 MDEV-8779: mysqld got signal 11 in sql/opt_range_mrr.cc:100(step_down_to) The crash was caused by range optimizer using RANGE_OPT_PARAM::min_key (and max_key) to store keys. Buffer size was a good upper bound for range analysis and partition pruning, but not for EITS selectivity calculations. Fixed by making these buffers variable-size. The sizes are calculated from [pseudo]indexes used for range analysis. commit 139ce6cb18301145ec1a5466c4d33825aec0020a Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon Sep 21 15:15:23 2015 +0200 fix for 32bit system. Not meaninful for this test but volatile parameters replaced. commit c8db0df2daa807044d980e5aaa13084ae2b1efe6 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 21 16:18:20 2015 +0400 Removing "DTCollation Arg_comparator::cmp_collation". Using a CHARSET_INFO pointer instead. commit 2dc32c02ab687683ef8d29115d3f89a660231c51 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 21 15:52:50 2015 +0400 Removing "DTCollation user_var_entry::collation", using a CHARSET_INFO pointer instread, as the "derivation" and "repertoire" parts of DTCollation were not really used by user_var_entry. commit afa17734395f842f728e2539145854d3eb7cd9a8 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 21 12:40:07 2015 +0400 Moving Item_args::arg_count from "public" to "protected". commit 1956340247eaa14138e2af0b0e2db29cc6bd14e8 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 21 12:21:46 2015 +0400 Removing global function agg_item_charsets_for_string_result(). Moving agg_arg_charsets_for_string_result() and agg_arg_charsets_for_string_result_with_comparison() inside "protected" section in Item_func_or_sum. commit f727fb45d4aa6cb3b483366f7b6ab7bbb2a5923c Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Sun Sep 20 20:22:22 2015 +0200 Fix to make os_thread_id it compiled on windows. commit d39a2f7d119996350230c0ae3ff10531a33038c7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Sep 19 09:08:58 2015 -0400 Update mandatory wsrep configuration options commit 161db7c18fd87ba9151a60568b82da8497e95b56 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Sep 19 11:30:18 2015 +0300 MDEV-8773: InnoDB innochecksum does not work with encrypted or page compressed tables commit b75c003372d6f35b230d0bd9af3cd4a1d8227bde Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 18 23:03:35 2015 +0400 MDEV-8816 Equal field propagation is not applied for WHERE varbinary_column>=_utf8'a' COLLATE utf8_general_ci AND varbinary_column='A'; 1. Removing the legacy code that disabled equal field propagation in cases when comparison is done as VARBINARY. This is now correctly handled by the new propagation code in Item_xxx::propagate_equal_fields() and Field_str::can_be_substituted_to_equal_item (the bug fix). 2. Also, removing legacy (pre-MySQL-4.1) Arg_comparator methods compare_binary_string() and compare_e_binary_string(), as VARBINARY comparison is correcty handled in compare_string() and compare_e_string() by the corresponding VARBINARY collation handler implemented in my_charset_bin. (not really a part of the bug fix) commit 9c6405fefaf7311b31591ab445660e8f34d64295 Merge: f4fe1383210 79140b03839 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Sep 18 18:39:08 2015 +0200 Commit resolved conflicts commit da3ec3d421c345bbd4b6ddfe0e1e08ed192c0a97 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Sep 9 16:29:50 2015 +0200 MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVING Printing non-trivial HAVING added. commit 79140b03839a6b46a92736bd2ce03cefd43a5058 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 18 13:30:44 2015 +0400 MDEV-8793 Wrong result set for SELECT ... WHERE COALESCE(time_column)=TIME('00:00:00') AND COALESCE(time_column)=DATE('2015-09-11') MDEV-8814 Wrong result for WHERE datetime_column > TIME('00:00:00') commit f789158ddfa90933678dc927a05719ba692d0854 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 17 19:49:49 2015 +0400 The patch for MDEV-8466 revealed a bug in str2my_decimal, which did not return a correct "end_of_num" pointer in case of character sets with mbminlen>1 (ucs2, utf16, utf16le, utf32). The bug caused sporadic test failures on BuildBot, as well "uninitialized memory read" errors in valgrind builds. commit c83810f402d65c7dee2cf15fd38b8bf6281610f0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Sep 17 12:38:06 2015 +0300 Fix test failures seen on buildbot where file_key_management plugin is linked statically and dynamic plugin is not available. commit 7dd137c4ac0352595cb3aa5c718afba46bf2baf2 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Aug 12 23:09:48 2015 +0200 MDEV-6756: map a linux pid (child pid) to a connection id shown in the output of SHOW PROCESSLIST Added tid (thread ID) for system where it is present. ps -eL -o tid,pid,command shows the thread on Linux commit d9b25ae3db8584bde809c0ab3230cbe151fa489b Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 17 11:05:07 2015 +0400 MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty strings MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces commit db2e21bf3ea32115e25bc6d9f67249042f16cadb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 16 23:20:57 2015 -0400 MDEV-8208: Sporadic SEGFAULT on startup Problem: When mysqld starts as a galera node, it creates 2 system threads (applier & rollbacker) using start_wsrep_THD(). These threads are created before plugin initialization (plugin_init()) for SST methods like rsync and xtrabackup. The threads' initialization itself can proceed in parallel to mysqld's main thread of execution. As a result, the thread initialization code (start_wsrep_THD()) can end up accessing some un/partially initialized structures (like maria_hton, in this particular case) resulting in segfault. Solution: Fixed by calling THD::init_for_queries() (which accesses maria_hton) only after the plugins have been initialized. commit c69cf93bfb3a221d9106f3695aa16e11f7e8b7fb Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Sep 16 17:24:34 2015 +0400 MDEV-8673 - [PATCH] Missing Sanity Check for strndup() in MariaDB 10.0.2x Contributed by Bill Parker. Added check for strndup() return value. commit 173e48695031ef17c69957751539060a0df1d6c7 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Sep 16 13:01:04 2015 +0300 MDEV-8576: Bootstrap should ignore --enforce-storage-engine option Allow enforce-storage-engine="" option and use that on mysql_install_db when doing bootstrap. commit bb52905432779d1648241baa5945c61617f2d58f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 15 18:58:08 2015 -0400 MDEV-8034 : wsrep_node_address can't be IPV6 Updated address parsing logic to include IPv6 format. commit fd1b2e486a9a81ffb5416e7a0a0d85d15598c77c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 15 17:07:41 2015 -0400 MDEV-8803: Debian jessie 8.2 + MariaDB 10.1.7 + GaleraCluster * Merge fix for issue #127 from mysql-wsrep (commit : a0ba0d7) * Also, cherry-picked a similar fix for OpenSUSE (commit : 7790cb1) commit 653aadcd59f4ac94750d9ebf398d6e44029ebe3f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 15 16:27:04 2015 -0400 MDEV-8804: bootstrap command missing in debian init script Add 'bootstrap' to debian init script. commit f4fe138321092c8dcd02caf22bdbad9698ee6829 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Sep 15 20:42:51 2015 +0200 Fix assert error for where clause with UDF's was fixed in HA_CONNECT::CondFilter moving res= pval->val_str(&tmp) but this was wrong. Now res is only used for strings. Change version number modified: storage/connect/ha_connect.cc Add some new UDF's modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h Fix change in tests json_udf modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf.test commit 31cf362c21b24ebda9d3997a401750ec94a19d5c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 15 08:49:55 2015 -0400 MDEV-7873: rpl.rpl_domain_id_filter fails sporadically in buildbot #2 Fix the test case : switch to save_master_gtid.inc & sync_with_master_gtid.inc to sync slave with master. commit 6cc1befcf26b2dc43e5cd7ad85d29c576073b1c5 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 15 14:11:33 2015 +0300 Fix test to do proper cleanup. commit 9e6f3df51a1f53f336c8c02b85c3ce0de42ce5d7 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 15 09:35:38 2015 +0300 MDEV-8799: Server crashes in btr_defragment_add_index, encryption.innodb-bad-key-change5 and alike fail in buildbot Problem was unsafe access to NULL pointer. Added additional checks to avoid access to NULL pointer. commit 3a0df3cf3c0e7ab4c2532668df2a7bd003388527 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Sep 15 10:11:52 2015 +0400 MDEV-8372 Use helper methods introduced in MDEV-7824 all around the code commit eac8e43541afdbc60b7e6c954d310db9b37db2d5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Sep 14 15:43:16 2015 -0400 Avoid caching wsrep threads (fixed the erroneous condition). commit a401c11c4e0c8cb7223a1f53366083e843afc9bd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Sep 14 15:26:50 2015 -0400 Fix failing test cases * Also modified name regex to include '#' as a valid symbol for tests under disabled.def. commit 3079bd43af6d74f8dfb715d423bf4f8f890382d4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 14 16:28:16 2015 +0300 Fix release build compile failure. commit 4d3f680c957b3e55fb65d207fd1362271d8f8068 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 14 14:11:23 2015 +0300 MDEV-8772: Assertion failure in file ha_innodb.cc line 20027 when importing page compressed and encrypted tablespace using incorrect keys Add error handling to decryp function when decrypt fails during import. commit 5448df084b885ab744711888037bcc83bc2545f0 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 14 12:02:20 2015 +0200 restore CRLF file ending in the test data commit ddaddf1019f07f00ba419988f69f8cb9ebd3e169 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 14 12:15:27 2015 +0300 MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting encrypted table using incorrect keys Add error handling when getting block from encrypted table and decryption fails. commit e3e2bbe5e0bb35bf10d9b7b29ce7b1157dbd8535 Merge: aaf6334b649 f8754d652e7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 14 10:58:38 2015 +0200 MDEV-6284 Merge downstream Debian/Ubuntu packaging into upstream MariaDB Merge branch 'ottok-ok-debpkg-10.1' into 10.1 commit 71b14446013e2ff4e7f918c70fca95d0795f80e4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 14 11:01:14 2015 +0300 MDEV-8768: Server crash at file btr0btr.ic line 122 when checking encrypted table using incorrect keys Add error handling to btr_validate_index when index root block can't be read because block decryption fails. commit d581ef5b2c68465815d78548357e3e104e39f5d6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 14 08:27:14 2015 +0300 MDEV-8764: Wrong error when encrypted table can't be decrypted. Add a new error message when table is encrypted but decryption fails. Use this new error message on InnoDB/XtraDB. commit 27ec0e159b05155ee92aaabe9466d78ef3a26712 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Sep 14 03:15:04 2015 +0300 Increase the version number commit 80089a60e5e38a3c38e23b8379ed1b5f592b0475 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Sep 14 03:12:54 2015 +0300 Follow-up for MDEV-8675 and MDEV-8676 type_spatial_indexes test is now be re-enabled, and the new result file can be used for creating engine-specific rdiffs commit 6cc2e7ea5d129b2aec2cc503c849ca0e835e519e Author: Alexander Barkov <bar@mariadb.org> Date: Sun Sep 13 23:32:10 2015 +0400 MDEV-8795 Equal expression propagation does not work for temporal literals commit 9b577edd50e29452c0ac58d3c73a871dc20dc37a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Sep 12 13:16:05 2015 +0300 MDEV-8577: With enforce-storage-engine mysql_upgrade corrupts the schema: ALTER TABLE should either bypass enforce-storage-engine, or mysql_upgrade should refuse to run Allow user to alter contents of existing table without enforcing storage engine. However, enforce storage engine on ALTER TABLE x ENGINE=y; commit 1e9ab68e4a5944ff90b8652f5225a8a7b594753a Merge: 96f4a906cea 528729fc5da Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Sat Sep 12 00:44:20 2015 +0200 Merge. commit 96f4a906cea4f11a70b1f8ffa30f27bfa397095d Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 11 23:26:02 2015 +0400 MDEV-8675 Different results of GIS functions on NULL vs NOT NULL columns commit aaf6334b6492ff915070378a61ed6e97881abfda Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 11 15:48:34 2015 +0400 MDEV-8709 Row equality elements do not get propagated The problem was fixed earlier by one of the MDEV-8728 subtasks. Adding a test case only. commit 9158212a276cc7cef7907d38ac754773a320a1ec Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 11 15:41:53 2015 +0400 MDEV-8369 Unexpected impossible WHERE for a condition on a ZEROFILL field Disable IDENTITY_SUBST propagation for ZEROFILL columns, as discussed with Sergei. commit df9b8aee5879fa2b6e47ed02fff4e6fbb45f720f Merge: 6f302d9f6cb 51eaa7fe53e Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Sep 11 12:01:48 2015 +0200 Merge MDEV-8193 into 10.1 Conflicts: sql/rpl_rli.cc commit 6f302d9f6cb1eafc018d9ca010dc40f15cb19390 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 11 11:35:15 2015 +0400 MDEV-8755 Equal field propagation is not performed any longer for the IN list when multiple comparison types commit 0302efca7f522038f86a1b1dea3b7b1dd3759f86 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Sep 11 09:20:40 2015 +0400 MDEV-8705 Wrong result for SELECT..WHERE latin1_bin_column='a' AND latin1_bin_column='A' MDEV-8712 Wrong result for SELECT..WHERE latin1_bin_column=_latin1'a' AND latin1_bin_column='A' commit ceac34404b9cbb32886781986acedc2af0de7f25 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 10 09:57:08 2015 -0400 lp:1372840 - test case commit 4aebba3aeba2d413268455c3c8c7cbfd04e2f94f Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 10 17:13:35 2015 +0400 MDEV-8740 Wrong result for SELECT..WHERE year_field=10 AND NULLIF(year_field,2011.1)='2011' MDEV-8754 Wrong result for SELECT..WHERE year_field=2020 AND NULLIF(year_field,2010)='2020' Problems: 1. Item_func_nullif stored a copy of args[0] in a private member m_args0_copy, which was invisible for the inherited Item_func menthods, like update_used_tables(). As a result, after equal field propagation things like Item_func_nullif::const_item() could return wrong result and a non-constant NULLIF() was erroneously treated as a constant at optimize_cond() time. Solution: removing m_args0_copy and storing the return value item in args[2] instead. 2. Equal field propagation did not work well for Item_fun_nullif. Solution: using ANY_SUBST for args[0] and args[1], as they are in comparison, and IDENTITY_SUBST for args[2], as it's not in comparison. commit 8e553c455c4740a51d2a7d0e23c3c79863b5df22 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 10 15:01:44 2015 +0400 MDEV-8785 Wrong results for EXPLAIN EXTENDED...WHERE NULLIF(latin1_col, _utf8'a' COLLATE utf8_bin) IS NOT NULL commit 4278d6d402b7ff7eeafe264f600cceb7b614792a Author: Alexander Barkov <bar@mariadb.org> Date: Thu Sep 10 14:04:52 2015 +0400 MDEV-8786 Wrong result for SELECT FORMAT=JSON * FROM t1 WHERE a=_latin1 0xDF commit f479b5a16e0bb32d628e46e417d1d84e0a6a4e79 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 10 00:29:06 2015 -0400 Update WSREP_PATCH_REVNO commit f9510717a4a9c00d24b91edbe6d358f9e4665058 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Sep 8 22:11:56 2015 -0700 Galera MTR Tests: fix typo in the galera_as_slave_nonprim test, in suite/galera/galera_3nodes_as_slave.cnf commit b3ec0a85893365bbd9051fa1bb27d14a50f755af Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Sep 8 05:04:47 2015 -0700 Galera MTR Tests: a test for async slave + non-prim commit db66d2f92d029212265f0bbc3dd2076189ebdf3d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 10 00:20:49 2015 -0400 refs codership/mysql-wsrep#188 - setting error code for slave, if mysql slave node dropped from cluster commit 2012a810ab07e0e283fef6736a13c57b4b0cedf0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Sep 10 00:14:24 2015 -0400 refs codership/mysql-wsrep#181 - Galera related errors in mysql slave applying will now cause slave to abort commit c915d8caa6980001f5a2ee92dfb8db81bd6d40d8 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Sep 1 00:57:20 2015 -0700 Galera MTR Tests: attempt to work around codership/mysql-wsrep#179 commit 25bbfe883975f6d14b620a149a636542dff894a0 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Aug 31 02:16:43 2015 -0700 Galera MTR Tests: Instruct xtrabackup SST's socat to use 1024-bit DH keys to avoid 'error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small' commit b6f8033073f7076b8c2c1dfff04f2844ccf64179 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Aug 31 02:15:37 2015 -0700 Galera MTR Tests: Tests around do-* and ignore-* binlog options commit f7885fb6312c1431f1dabf5b92e4afe8cdd7cde2 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Aug 27 00:54:26 2015 -0700 Correct WSREP_PATCH_VERSION for 5.6 is 11 commit 52c9235e6266089a5a9f98523b678ef6beb07b24 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Aug 25 06:15:20 2015 -0700 Galera MTR Tests: Add known Galera and mysql-wsrep Valgrind issues to valgrind.supp commit 371dc336ea3210c00d4f37d6b77f9757f7eb2ec9 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Aug 24 06:56:30 2015 -0700 refs codership/mysql-wsrep#90 MTR test case for mysql-wsrep#90 commit e5b595e9d17485c612bd00784f5846113815dc5c Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Aug 14 05:14:53 2015 -0700 Galera MTR Tests: fix typo in suite/galera/galera_2nodes_as_slave.cnf commit ee22ac3808101d912a1b110d5613c165bcf1aad7 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Aug 14 01:16:25 2015 -0700 Galera MTR Tests: Various test stability fixes (take #5) commit 7d73931cbcc03e4b6f0939f29be7e998585b555e Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Aug 12 06:40:59 2015 -0700 Galera MTR Tests: Various test stability fixes (take #4) commit ff76214a46f8f97e1539d11fd9512620f28c2602 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Aug 12 05:32:18 2015 -0700 Galera MTR Tests: Various test stability fixes (take #3) commit fd0aaad5479ee447aa7d0f5f71f23c26faf6cbc8 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Aug 12 01:03:21 2015 -0700 Galera MTR Tests: Various test stability fixes (take #2) commit 997119dafefc1cf0d016d0b0da7989151d3e4f81 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Aug 11 04:22:38 2015 -0700 Galera MTR Tests: Various test stability fixes. commit 182b237d4090aad846cda78c85c5596f1f544b2a Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Aug 7 21:15:02 2015 -0700 Galera MTR Tests: remove variable output from galera_gra_log.test (take #2) commit c9d4581e8a0ce05e6c9c19bd55bde3ea463bbd2d Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Aug 6 20:55:30 2015 -0700 Galera MTR Tests: remove variable output from galera_gra_log.test commit 2316a4e19ff9b5ac388bf888a8ac6aa8154eed1f Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Aug 6 00:34:00 2015 -0700 Galera MTR Tests: Tests for GRA*.log files, replication bundle, preordered events, forced binlog format commit a1a7414b1d448be38463d23c5f91b0280e603e09 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Aug 3 03:20:52 2015 -0700 Galera MTR Tests: An end-to-end test with restoring a node from xtrabackup; a test for restoring the primary component via pc.bootstrap commit 1e2906892a1403734c246082cc90ac2cf9d91053 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Jul 23 04:30:07 2015 -0700 Galera MTR Tests: Valgrind suppression for codership/galera#306 commit 3893b5c6daf960281e56b4e3cfd141c2814563fd Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Jul 23 04:29:40 2015 -0700 Galera MTR Tests: mark all tests operating on large data sets with --source include/big-test.inc to help with Valgrind commit 83579c2ff326a1033e2ac854766409be06476e78 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jul 10 07:17:20 2015 -0700 Galera MTR Tests: fixes for mysqldump SST/IST tests commit 10f5c08f4bdbefc910f66126d6732a2e9e875075 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Jul 8 01:52:45 2015 -0700 Refs codership/QA#47. Additional tests for FTWRL. commit 6104a27c98ce1664214f4edf3d8840320d35cb9b Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Jul 7 06:01:00 2015 -0700 Galera MTR Tests: increase lock wait timeout in suite/galera/t/galera_many_rows.test commit 4a630ce6ad50bc81c91a018eaad7ca7fb0046040 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Jul 7 06:00:22 2015 -0700 Galera MTR Tests: A test for xtrabackup with key+cert encryption. commit edd9bd3ea7438f0b9e9c1c9bd368ddb360ceee29 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Jul 7 03:42:03 2015 -0700 Fixes codership/mysql-wsrep#153 use --defaults-extra-file with mysqldump SST commit 5d531f07bfb39dce84cb1e42c36f8b01e331e37f Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Jul 1 03:13:04 2015 -0700 Galera MTR Tests: Use SET GLOBAL when setting wsrep_replicate_myisam, as it is a GLOBAL variable in MySQL Galera Cluster and SESSION in Percona XTraDB Cluster commit fbe739cbb15d6a50e5ec6494528fe0441667eb75 Author: Raghavendra D Prabhu <rprabhu@wnohang.net> Date: Mon Jun 29 16:42:58 2015 +0530 Bug#1421360: Add 'FLUSH TABLES' to Total Order Isolation execution. Before this, FLUSH TABLES and FLUSH TABLES t1 (REFRESH_TABLES hereafter) were executed locally, which also had implications for GTID. MySQL async replication does replicate FLUSH TABLES. Hence, this commit a) Adds REFRESH_TABLES to TOI. b) Skips LOCK-based REFRESH_TABLES from TOI, ie. FLUSH TABLES WITH READ LOCK and FLUSH TABLES FOR EXPORT. c) Executes them after reload_acl_and_cache. This is done since reload_acl_and_cache checks for thd->locked_tables_mode and does upgrade of MDL locks accordingly. A failure here means REFRESH_TABLES cannot run. i) This is also important since LOCK TABLES is not replicated in galera. d) Test galera_flush has been modified for i) wsrep_replicate_myisam SESSION variable. ii) Testing REFRESH_TABLES. iii) Testing REFRESH_TABLES + LOCK TABLES. e) Use different WSREP_TO_ISOLATION_BEGIN for global FLUSH TABLES and FLUSH TABLES <table,>. commit 5a002adb5fda82df8f6bfe7b4f49f07585e13c39 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri Jun 26 01:30:01 2015 -0700 Galera MTR Tests: various tests and test fixes commit f1a00ed51447f96c140f594784919800bda750d6 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Jun 17 05:14:36 2015 -0700 Galera MTR Tests: Use wsrep_sst_auth for tests that use xtrabackup + IST commit 2ea16b995de01f1f5347abee8a050c26eaef55ec Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Mon Jun 8 21:06:22 2015 +0300 This commit fixes - errno handling in wsp::env::append() method, where error could be returned by mistake - return code of sst_prepare_other() when pthread_create() fails - it was returning positive error code which by convention is treated as success. commit 0ccbbffb78a1ae266d5bcd322de10f21e08a34ea Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Mon Jun 8 12:23:53 2015 +0300 Slight cleanup improvement on a previous commit. commit bc796c29b35ed307fd721543f2171572093d88f4 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Jun 8 01:43:27 2015 -0700 Refs codership/mysql-wsrep#143 . Account for the case where the SST password is empty commit 86ee30cea95b4a3c8b34398e75e4fc62d0501616 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Sat Jun 6 01:08:41 2015 +0300 Refs codership/mysql-wsrep#141: this commit 1. Passes wsrep_sst_auth_value to SST scripts via WSREP_SST_OPT_AUTH envronmental variable, so it never appears on the command line 2. In mysqldump and xtrabackup* SST scripts which rely on MySQL authentication, instead of passing password on the command line, SST script sets MYSQL_PWD environment variable, so that password also never appears on the mysqldump/innobackupex command line. commit 197e9d2559907b97905f7d1536b481bba2e9ffe3 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue May 26 15:44:34 2015 +0300 Refs codership/mysql-wsrep#132 - fix for THD::m_digest initialization, according to Raghu commit 483078b1b17c97d90e5aa245ef366092fb28fbd3 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri May 15 02:15:58 2015 -0700 Fixes codership/QA#87 . An MTR test for SERIALIZABLE commit 4102d5258d0c12fcbc833bf415474aaa1a12ddb2 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon May 11 02:21:39 2015 -0700 Refs codership/mysql-wsrep#113 - tests around FLUSH TABLE, FLUSH TABLES, LOCK TABLE commit 2106fed865f6827418b16efcf6dd8368c3a092c5 Author: sjaakola <seppo.jaakola@iki.fi> Date: Sun May 10 21:49:36 2015 +0300 Refs codership/mysql-wsrep#113 - changed BF thread's MDL wait to never timeout - all explicit locks are now honored by BF threads commit f9805e4c984d251fec76f39bcd6a675e6cf5e6df Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Fri May 8 03:21:50 2015 -0700 Galera MTR Tests: tests for WAN restart, xtrabackup options and others. commit ef7b08978b9300d456217ae55b623ff9c5b30744 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Wed May 6 10:35:02 2015 +0300 Fixes codership/mysql-wsrep#122 - causal/casual typos fixed in wsrep code commit bace2a97527cf817257ea3ee4e801b640ba0bf9c Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue May 5 01:21:55 2015 -0700 Galera MTR Tests: add a test for socket.ssl_compression commit b5ef2bbc5ea3f21432eff2e98149b9a6612238b3 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Apr 28 23:34:47 2015 -0700 Re-enable tests previously disabled due to mysql-wsrep#114 commit 63c5bee535f0827721484c93a2ba8798437fadf5 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Apr 28 20:38:25 2015 +0300 Refs codership/mysql-wsrep#113 - Extended the protection of local FLUSH sessions to cover all exclusive MDL locks commit 417f778e53f6d3c111ef25976d7f1b2d532ca2a3 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Apr 28 00:55:50 2015 -0700 Galera MTR tests: disable innodb.innodb_stats_* due to mysql-wsrep#114 commit 6bb890c9b6655b409d0eb81725853415157b5b0c Author: sjaakola <seppo.jaakola@iki.fi> Date: Fri Apr 24 10:39:42 2015 +0300 refs codership/mysql-wsrep#114 - skipping TOI if not using wsrep provider commit c66609017b25bf066008a3dec9e3ecd00fc5ce8b Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Apr 21 16:22:53 2015 +0300 Refs codership/mysql-wsrep#113 Protecting non replicated FLUSH session from brute force aborts commit 045b31c8f45079f617ff6c8a1da09710979bc5f8 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Apr 20 05:58:24 2015 -0700 Test cases for codership/mysql-wsrep/110 commit dc9e32540744a0e44e6e80c36a82ea6ee1ef2657 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Mon Apr 20 13:18:21 2015 +0300 refs codership/mysql-wsrep#110 - clear table map events on SAVEPOINT Clear binlog table maps before writing SAVEPOINT query event into binlog cache. This enforces recreation of table map events for the following row event. commit d0e24c67998a8b887a4ec785669d4a0ae9355058 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Apr 1 02:52:24 2015 -0700 Galera MTR Tests: Attempt to remove rare sporadic failures in galera_transaction_replay.test by waiting for all transactions to get blocked before proceeding. commit f8b724db289a540bf4e2d8cba4deceb2e68c9587 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Mar 31 06:43:38 2015 -0700 Galera MTR Tests: Enable the use of --parallel for port-intensive Galera tests by additionally specifying --port-group-size=50 commit 9f716ae9d372926eddc4a14e41fab6dc4664417f Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Sun Mar 29 23:56:21 2015 -0700 Galera MTR: Disable rpl.rpl_rotate_logs binlog.binlog_index due to codership/mysql-wsrep#71 commit fa5f18d6734249aa326d6296c9b9c2338cb33b10 Merge: f533b2b462b 37ae601a876 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 9 20:51:39 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 37ae601a8766f37cdd919efc801133d2a8cfaf70 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Sep 9 18:54:14 2015 -0400 Update WSREP_PATCH_REVNO commit 760b0c4758ee463c8c97c1a756709d3d25506eed Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Aug 27 00:41:56 2015 -0700 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 12 commit bee94cc9f4ef58c5bb3d10393a9e92bcd32994f0 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Jul 7 22:34:25 2015 -0700 Fixes codership/mysql-wsrep#153 use --defaults-extra-file with mysqldump SST commit 55dfddff1d99db73f19cdbd1eff3222f2acd181d Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Tue Jun 9 17:02:26 2015 +0300 Fixing donate callback return code commit 0465e3a117f6c0c2e7c20441007c1e92d9c563ca Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Tue Jun 9 11:36:31 2015 +0300 Logging message cleanup commit d809fcc3011c8fa8cfd62aa6232f45469a829611 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Mon Jun 8 21:06:22 2015 +0300 This commit fixes - errno handling in wsp::env::append() method, where error could be returned by mistake - return code of sst_prepare_other() when pthread_create() fails - it was returning positive error code which by convention is treated as success. commit 1b1410c449c651739590dba3d61ea5494c149ed3 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Mon Jun 8 12:23:53 2015 +0300 Slight cleanup improvement on a previous commit. commit 62c25393767179b6ace73a94b07e9fe2cfff5ba2 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Jun 8 01:46:20 2015 -0700 Refs codership/mysql-wsrep#143 . Account for the case where the SST password is empty commit a7ea3ec34d7c542542dc11e324b1667fd9ba1a48 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Sat Jun 6 01:38:07 2015 +0300 Synced xtrabackup SST fixes from Percona tree (as of PXC 5.6.24-25.11 release). This fixes/adresses the following LP bugs: - LP1380697: wsrep_sst_xtrabackup-v2 doesn't stop when mysql is SIGKILLed. (full fix for this (as engineeered by Percona) requires Linux-specific patch that we don't carry, but keep xtrabackup scripts as close as possible) - LP1399134: Log the innobackupex/SST logs in SST to syslog if possible. (fixed) - LP1405668: Race condition between donor and joiner in PXB SST. (fixed) - LP1405985: Fail early if xtrabackup_checkkpoints is missing. (fixed) - LP1407599: wsrep_sst_xtrabackup-v2 script causes innobackupex to print a false positive stack trace into the log. (fixed) - LP1441762: IST Fails with SST script error. (fixed) - LP1451670: Fail when move-back fails in xtrabackup SST. (fixed) commit d78110e7fae1588afcb6bc5ea08be0d84ee18857 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Sat Jun 6 01:08:41 2015 +0300 Refs codership/mysql-wsrep#141: this commit 1. Passes wsrep_sst_auth_value to SST scripts via WSREP_SST_OPT_AUTH envronmental variable, so it never appears on the command line 2. In mysqldump and xtrabackup* SST scripts which rely on MySQL authentication, instead of passing password on the command line, SST script sets MYSQL_PWD environment variable, so that password also never appears on the mysqldump/innobackupex command line. commit 4f4f3a5e328524bf1b467a1885b0a21a4e995d9b Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Sat May 2 22:25:39 2015 +0300 Fixes codership/mysql-wsrep#118 commit 416b811a4a87ee642fa6ef8bf2c31e7768c597ec Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 8 21:56:25 2015 +0200 MDEV-8775 enabling encryption is too error-prone create a "preset" file to enable all encryption options at once commit 7bd2f20e880a5871635260c0a96448631c28b2c5 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 8 17:07:34 2015 +0200 make encrypt-binlog and encrypt-tmp-files to fail if no encryption --encrypt-binlog and --encrypt-tmp-files used to mean "encrypt XXX if encryption is available, otherwise don't encrypt", now they mean "encrypt or fail with an error". commit 39b46ae934bfa886314f918068d1e195970fe65e Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 9 15:39:09 2015 +0400 MDEV-8706 Wrong result for SELECT..WHERE time_column=TIMESTAMP'2015-08-30 00:00:00' AND time_column='00:00:00' commit 3fcd84c2891f4d2c881f13b53bc5a2401870b80a Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 9 08:11:43 2015 +0400 MDEV-8741 Equal field propagation leaves some remainders after simplifying WH ERE zerofill_column=2010 AND zerofill_column>=2010 commit 4cb6edba780085cbb82ef5fce2298f7df5fa0169 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 8 17:46:03 2015 -0400 Update failing galera tests commit 28ad6a7f28d1bdfb0d10530f8ab667213005807a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 8 17:43:48 2015 -0400 MDEV-8763: Galera tests failures with --ps-protocol (MDEV-8617: Post-fix for 10.1) * Reset THD's PS members before returning when node is not ready * Add CF_SKIP_WSREP_CHECK flag to COM_STMT_XXX commands * Skip TO replication of COM_STMT_PREPAREs for MyISAM * Updated tests commit 067ed23c274df9b03d2574e3183dfd36566ba54d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 8 21:01:58 2015 +0300 MDEV-8774: Test innodb.innodb_bug53290 failures on buildbot Problem was -O2 and __attribute__((nonnull)) when it should have been __attribute__((nonnull(1,2,3,4,5))) commit bbb238ce75f8a5bc60eecf0f1f6bde3e4e979aca Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 8 15:43:48 2015 +0200 disable main.max_statement_time test commit edb37ae3c7bc7b91fa776be9d22669a32d38267f Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 8 15:38:11 2015 +0200 disable encrypt_tmp_files and encrypt_binlog by default commit 2c1553e5456c2ea9940a07e7f99b6b5788db7b1b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Sep 8 16:08:08 2015 +0300 MDEV-8774: Test innodb.innodb_bug53290 failures on buildbot Fixed unsafe reference to null pointer. commit de269f2f1f4b4b787c01d25c9c3609351e4b6999 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Sep 8 16:02:29 2015 +0400 MDEV-8766 Wrong result for SELECT..WHERE LENGTH(time_column)=8 AND time_column=TIMESTAMP'2001-01-01 10:20:31' commit b119110a8211d613eb312428aee18c6e621dcb79 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Sep 5 16:24:11 2015 +0200 MDEV-8581 Unique prefix for default-tmp-storage-engine does not work remove old "to-be-implemented" definition of the default-tmp-storage-engine option. commit 509b836623852f461febea737dc7e32603d50344 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Sep 4 15:54:20 2015 +0300 MDEV-8708: InnoDB temp file encryption Added encryption support for online alter table where InnoDB temporary files are used. Added similar support also for tables containing full text-indexes. Made sure that table remains encrypted during discard and import tablespace. commit f8754d652e7b05655a9ac192b0e50c76a966d2c7 Merge: d6c5e7e2cc1 42574427e67 Author: Otto Kekäläinen <otto@seravo.fi> Date: Mon Sep 7 22:21:35 2015 +0300 Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1 commit 8a154ecde0baba4bf9fa3bb2bf6821efad4984aa Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Sep 7 18:53:25 2015 +0200 Add Json_Get_Item (and Bson_File?) functions modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h commit 42574427e67ac646b19f41b35563b9c1679eea77 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 7 17:43:53 2015 +0400 MDEV-8699 Wrong result for SELECT..WHERE HEX(date_column)!='323030312D30312D3031' AND date_column='2001-01-01x' commit 20291639994beaa070b7228eafa7be31eb1d7ff8 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 7 11:07:40 2015 +0400 MDEV-8742 Wrong result for SELECT..WHERE view_latin1_swedish_ci_field='a' COLLATE latin1_bin The fix for MDEV-8749 also fixed MDEV-8742. Just adding the test case from the bug report. commit bf7a2bb12cde9d4ec47e400ab645467783cbaf32 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 7 10:50:27 2015 +0400 MDEV-8704 Wrong result for SELECT..WHERE LENGTH(double_column)!=6 AND double_column=100e0 commit 5448e0a6dcf1918f818d162f08dee00e8d6c163e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Sep 7 08:34:04 2015 +0300 MDEV-8745: Bad InnoDB logging: "[Note] InnoDB: not started" commit e7dcec5471eb708b658c163813f0b67a32b564c3 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 7 08:55:55 2015 +0400 MDEV-8703 Wrong result for SELECT..WHERE LENGTH(decimal_10_1_column)!=3 AND decimal_10_1_column=1.10 commit 0736cddbd4af2bf15ad54c4d5d18dceed0a55868 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Sep 7 06:45:51 2015 +0400 Field_num::get_equal_const_item() appeared to be in a wrong file (item.cc). Moving to field.cc. commit 4be6eee8f10f9a195381faf7c47ff4f4ad714425 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Sep 7 02:22:35 2015 +0300 MDEV-8760 main.mysqlbinlog_row_big fails due to new default for max_allowed_packet Follow-up for MDEV-6066: new default value, the result file needs to be updated commit e6162888b8e73e86b613a01947e1d6915622a2b9 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Sep 7 02:18:49 2015 +0300 MDEV-8761 encryption.innodb-bad-key-change2 fails with static file_key_management plugin Suppress errors about not being able to load plugins from file_key_management library. Errors about the non-existing library are already suppressed globally. commit 675ca12ae432d00fff81293059f7c82c22e93152 Author: Elena Stepanova <elenst@montyprogram.com> Date: Sun Sep 6 21:01:59 2015 +0300 Follow-up for MDEV-6066 (new defaults from 5.6 and 5.7) New defaults for query cache caused wrong test output commit 1a36caf0e9f0abf8800335c46cf38a8486a744da Author: Alexander Barkov <bar@mariadb.org> Date: Sun Sep 6 18:49:17 2015 +0400 MDEV-8729 Wrong result for SELECT..WHERE HEX(enum_column)='61' AND enum_column='a ' commit 7915abffbfa79f9f89b3df0acc99ff8b19625b6b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Sep 6 15:51:48 2015 +0200 Add experimental Bson_Array function (not documented) Change names of functions not returning Json. modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/plugutil.c modified: storage/connect/value.cpp modified: storage/connect/value.h commit e0df116056237beb89faa3527938b7ec7b1e15ec Author: Alexander Barkov <bar@mariadb.org> Date: Sun Sep 6 13:25:47 2015 +0400 A clean-up after the patch for MDEV-8747 and MDEV-8749: removing IMPOSSIBLE_RESULT from Item_result, as it's not needed any more. The fact that an Item is not in a comparison context is now always designated by IDENTITY_SUBST in Subst_constraint. Previously IMPOSSIBLE_RESULT and IDENTITY_SUBST co-existed but actually meant the same thing. commit c108019a48451147b456aed0d988773eee32a55b Author: Alexander Barkov <bar@mariadb.org> Date: Sun Sep 6 01:30:46 2015 +0400 MDEV-8747 Wrong result for SELECT..WHERE derived_table_column='a' AND derived_table_column<>_latin1'A' COLLATE latin1_bin MDEV-8749 Wrong result for SELECT..WHERE derived_table_enum_column='number' AND derived_table_enum_column OP number commit 3d9abaf052400b24de93534ace30657e0f6cb6e4 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Sep 5 23:54:18 2015 +0400 MDEV-8752 Wrong result for SELECT..WHERE CASE enum_field WHEN 1 THEN 1 ELSE 0 END AND a='5' commit d6c5e7e2cc16fa63875ef9e5a63caf5c9f147e7c Merge: b9fee608712 67dbfab3d79 Author: Otto Kekäläinen <otto@seravo.fi> Date: Sat Sep 5 21:28:14 2015 +0300 Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1 commit 67dbfab3d7945886caf6ba8de6a17799e3db25aa Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Sep 5 14:30:42 2015 +0300 Fix test not to be run on embedded, because of restart. commit a0df8225eced15c8a3a03ca0d9129badf022b34c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Sep 5 07:18:57 2015 +0300 MDEV-8753: 10.1 build is broken: xtradb/handler/ha_innodb.cc:21430: error: redefinition of 'void ib_push_warning(trx_t*, ulint, const char*, ...)' Fixed bad merge. commit e04723d754ffff6c532190205d0f3a5a7033b310 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Sep 4 20:09:20 2015 +0300 MDEV-8750: Server crashes in page_cur_is_after_last on altering table using a wrong encryption key Analysis: Server tried to continue reading tablespace using a cursor after we had resolved that pages in the tablespace can't be decrypted. Fixed by addind check is tablespace still encrypted. commit 7e916bb86f512ff79f30d809b813608a625ec5ba Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Aug 31 19:47:14 2015 +0300 MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available Analysis: Problem was that in fil_read_first_page we do find that table has encryption information and that encryption service or used key_id is not available. But, then we just printed fatal error message that causes above assertion. Fix: When we open single table tablespace if it has encryption information (crypt_data) store this crypt data to the table structure. When we open a table and we find out that tablespace is not available, check has table a encryption information and from there is encryption service or used key_id is not available. If it is, add additional warning for SQL-layer. commit e1978234ebe6606c3ad5a0d1be6ce0f86fcf7642 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun Aug 16 09:53:27 2015 +0300 MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available Analysis: Problem was that in fil_read_first_page we do find that table has encryption information and that encryption service or used key_id is not available. But, then we just printed fatal error message that causes above assertion. Fix: When we open single table tablespace if it has encryption information (crypt_data) store this crypt data to the table structure. When we open a table and we find out that tablespace is not available, check has table a encryption information and from there is encryption service or used key_id is not available. If it is, add additional warning for SQL-layer. commit e9b6f95013b0db125c616269d747a0c365f5f5c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 16:30:11 2015 +0200 test failure commit 6246b4c9f11e8863c881d82bcf99b6fbc383a30c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 12:33:14 2015 +0200 update encryption plugin and service versions commit 096510d02c28a423726bd755885171c42928dc47 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 12:28:47 2015 +0200 fix dbug tags commit 7cd3c427da2681b64258d2df5ea6699a1ecb41c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 11:39:24 2015 +0200 document new encryption plugin api commit bc12d5fd4382ad021b77a875d4b7dbd5f2c38d1c Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 18:06:55 2015 +0200 MDEV-6066: Merge new defaults from 5.6 and 5.7 cosmetic fixes. test fixes. commit e3982cead235e9becb1abdbf0e73876c8a6e6b28 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Aug 11 18:45:38 2015 +0200 MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be stopped with no-zero size) commit 21daa7b9298d31ab1c6ddd1159dba29acea8d868 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon Aug 10 21:45:11 2015 +0200 MDEV-6066: Merge new defaults from 5.6 and 5.7 (autoset) --autoset- command line prefix added commit b85a00161e91080cb82b99e812c18eafb6467737 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 2 09:58:08 2015 +0200 MDEV-8264 encryption for binlog * Start_encryption_log_event * --encrypt-binlog command line option based on google patches. commit 41d68cabee1d9c2a8e8c7a006b17070392a85ed7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 31 16:35:37 2015 +0200 cleanup: Log_event::write() and MYSQL_BIN_LOG::write_cache() Introduce Log_event_writer() that encapsulates writing data to an IO_CACHE with automatic checksum calculation. Now all events properly checksum themselves as needed. Use Log_event_writer in MYSQL_BIN_LOG::write_cache() instead of copy-pasting its logic all over. Later Log_event_writer will also do encryption. commit 704ba5c514b030e4e1c20fe659d985d3bd493bf1 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 27 13:48:32 2015 +0200 cleanup: correct usage of semicolons in sql_yacc.yy commit c862c15bbafde6091375008f8981c0dde24fc9ee Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Aug 25 17:29:58 2015 +0200 cleanup: [partial] removal of llstr() now when my_vsnprintf() supports %llu for a few years already. commit fff6f4278b3b7e11f7e579b01ccb15001bed07d9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 28 02:34:03 2015 +0200 Revert f1abd015, make a smaller fix commit f1abd015dcec3c1347e96e6197db8fd05c021537 Author: Andrei Elkin <aelkin@mysql.com> Date: Thu Nov 12 17:10:19 2009 +0200 Bug #47210 first execution of "start slave until" stops too early commit 1720fcdcbcbdc2e9f4d7eb37d8cdf97be501b007 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 24 13:09:03 2015 +0200 cleanup DBUG, DBUG_DUMP_EVENT_BUF introduce DBUG_DUMP_EVENT_BUF, remove few unused DBUG_EXECUTE_IF's simplify few DBUG_PRINT's remove few redundant #ifndef DBUG_OFF's commit 781e18ec4d1282ff7d43e753fecf705609204b87 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 30 11:18:48 2015 +0200 test cleanup: use --replace_result correctly * replace binlog positions where they are calculated (instead of --disable_query_log) * don't replace binlog positions when they're hard-coded anyway commit 55d7871f987d759b888d4bffc3a729e67d1788da Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 21 23:20:35 2015 +0200 test cleanup: remove Format_description_log_event size dependency 1. use include/show_binlog_events.inc instead of SHOW BINLOG EVENTS 2. use include/show_relaylog_eventc.inc too 3. in all other places where a number might appear in the result file, include binlog_start_pos.inc, calculate the position like pos=`select $binlog_start_pos + 100`; and use replace_result $pos <pos> commit 8aa473c4b9957c7c365cf50ade520ff397d6afb1 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 21 23:16:54 2015 +0200 fix show_relaylog_events.inc to work for multisource and fix SHOW RELAYLOG 'src_name' EVENTS to respect src_name commit 274a47a50be586b72e1954a1cb3bc6fba402baa2 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 31 17:38:31 2015 +0200 cleanup: remove Slave_log_event (unused since 2002) commit 2d2286faf3085160dbe345fe403c11c712a358ff Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 30 15:03:55 2015 +0200 cleanup: use enum_binlog_checksum_alg, not uint8 * fix unireg.h includes * use enum_binlog_checksum_alg for binlog checksum variables, not uint8 commit 86b06a0e52b7583858df81fec8bd57cfe02b9999 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 00:44:34 2015 +0200 cleanup: simplify nested multiline ?(?:(?:)): commit 7b54dec1c68ee70a8b0a56b6fb9bc3aa27256438 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 31 16:23:01 2015 +0200 cleanup: comments commit 89e08bf300545f9fec5c3dcd700507293a2dab13 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 30 14:59:12 2015 +0200 cleanup: reformat * reformat long lines * remove useless 'const' * remove unneeded do { ... } while(false} wrapper * remove unneeded method commit 5018a6606f1c863b197812e3f3c1b8b18134c638 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 17 18:38:30 2015 +0200 cleanup: Log_event::read_log_event() There are three Log_event::read_log_event() methods: 1. read the event image from IO_CACHE into String 2. create Log_event from the in-memory event image 3. read the event image from IO_CACHE and create Log_event The 3rd was reading event image into memory and invoking the 2nd to create Log_event. Now the 3rd also uses the 1st to read the event image from IO_CACHE into memory, instead of duplicating its functionality. commit 08687f7ef3ccb59ca78a3d037e9db5a514145d64 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 2 17:03:19 2015 +0200 cleanup: my_checksum remove my_crc_dbug_check (gdb can do it itself). use 0 instead of my_checkum(0, 0, 0) - just as 10.0 does now. commit 66b9a9409c73e298d6ceb668783a7cdd5ee85a69 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 10:32:52 2015 +0200 New encryption API. Piece-wise encryption. Instead of encrypt(src, dst, key, iv) that encrypts all data in one go, now we have encrypt_init(key,iv), encrypt_update(src,dst), and encrypt_finish(dst). This also causes collateral changes in the internal my_crypt.cc encryption functions and in the encryption service. There are wrappers to provide the old all-at-once encryption functionality. But binlog events are often written piecewise, they'll need the new api. commit d94a982adbc21d74c0202f1ef64119baeb27c597 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 1 14:36:41 2015 +0200 my_crypt unittest commit e238d6c51319b6074dfe4a0a605e12ba6bee71f2 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 16 22:22:52 2015 +0200 String::release and String::reset methods Rename reassociate to reset and create an inverse method release. Method names are chosen to match std::unique_ptr methods. commit 4569a895f9b978a94c805ee2f2ae66bfb9a2ee70 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Aug 11 13:03:25 2015 +0200 simplify and unify my_safe_alloca usage commit b6776b3ca5498f8b9184f142056d2d0ce5e10fdc Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 1 18:54:23 2015 +0200 package new SELinux/AppArmor policies instead of old ones commit a0114b86274258af56803f6b6001174cc52eb26f Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 1 22:00:26 2015 +0200 cmake: don't repeat yourself make repeated cmake runs less verbose: * remove few not very useful MESSAGE's * only run pkg_check_modules() if there's no cached result * only print QQGraph messages on the first run commit e74f91dfd7986a63e73e72b8a1fbeaa2822d8f1e Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 1 21:58:10 2015 +0200 cmake: always use the same function to test for compiler flags Fix all cmake tests (including plugin) to use MY_CHECK_AND_SET_COMPILER_FLAG. And fix that function to be compatible with cmake 3.0. This way flag checks are correctly cached (even in cmake 3.0) and properly reused. commit efbd4bb039060e9cc7a82467c36307367f4013ec Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 13 09:22:01 2015 +0200 cmake: fix warnings when PLUGIN_MROONGA=NO commit d33c8831e8279cf03df8dd5ea063eeb53d369725 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 4 08:47:29 2015 +0200 more 32-bit fixes commit 1a599c79ff9ff1d637b55147f74c0d6818e4ebbd Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 21:51:45 2015 +0200 test fixes for 32bit commit b9fee60871264ea56a5582ca7a436aabdabea6fc Author: Otto Kekäläinen <otto@seravo.fi> Date: Thu Sep 3 19:09:08 2015 +0300 Revert "Make galera-3 a Recommends instead of Depends in Debian packaging" This reverts commit 6bd94cf54274d54521ece1e50d534777122ff29e. Without galera as a compulsory dependency, test suite will not pass due to failing: wsrep.pool_of_threads wsrep.binlog_format wsrep.mdev_6832 wsrep.mdev_7798 commit 8f6aac81d7363a3187dfa77cbc9d3141a7b2fc78 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 17:11:18 2015 +0200 fix innodb.innodb_uninstall test to cleanup after itself It caused the following main.innodb_load_xa to fail. commit ce8d4d39acfabc254024ddec9a81cf2852aa6861 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 16:32:17 2015 +0200 cleanup: comment commit a5b0a32ac3f8278a197add2efa636c6252ce6096 Merge: 09307c443c1 f533b2b462b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 16:32:00 2015 +0200 Merge branch '10.0-galera' into 10.1 commit 09307c443c173fc2756169290b6ce0ba2f679b9a Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 12:58:53 2015 +0200 clang warning commit 530a6e74819ec14b5fdc42aa588b236ecb9f2fcd Merge: 5088cbf4ed7 4b41e3c7f33 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 3 12:58:41 2015 +0200 Merge branch '10.0' into 10.1 referenced_by_foreign_key2(), needed for InnoDB to compile, was taken from 10.0-galera commit 5088cbf4ed7224698678f3eaf406361c6e7db4b8 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 2 15:56:24 2015 +0400 MDEV-8671 Wrong result for SELECT..WHERE varchar_column=' 1' AND (varchar_column XOR '1') commit 9624b08cf3149701b91538933fb7dc862a7f922e Merge: c104e90eaa1 0671430252c Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Sep 2 14:47:44 2015 +0300 Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1 commit 0671430252c597ff623a79cd954afb07eff47e91 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Sep 2 11:11:24 2015 +0200 After-merge fix. commit ef82cb7c2cbcd5897c444276c20aed2d96a941a6 Merge: 4f37a861c97 09bfaf3a13d Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Sep 2 10:53:37 2015 +0200 Merge MDEV-8725 into 10.1 commit 4f37a861c977e333f79c114cdae0e6c3b355bd45 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 2 11:51:07 2015 +0400 The fix for MDEV-8723 unintentionally broke vcol_supported_sql_funcs_myisam and vcol_supported_sql_funcs_innodb. Moving the test for using CHARSET(), COLLATION(), COERCIBILITY() in virtual column from vcol_supported_sql_funcs_xxx to vcol_blocked_sql_funcs_xxx, as these functions are not supported in virtual columns any longer. Discussed with Sanja on IRC. commit aa1002a35cefcc1851cbfb6b6b60463bda6f9aa3 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Sep 2 08:20:49 2015 +0400 MDEV-8723 Wrong result for SELECT..WHERE COLLATION(a)='binary' AND a='a' commit c104e90eaa183a0247de0de1b88dc30bdf98475b Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Sep 2 04:26:50 2015 +0300 Unify virtual-* package definitions with official Debian packaging Plus minor other fixes to debian/control file, wrap-and-sort, versioned mariadb-common dependency etc. All changes based on comparison with mariadb-10.0 packaging in official Debian repositories. commit 7b344bf940fb7a8b53ead6c860f6ef1cd71d1f43 Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Sep 1 23:06:12 2015 +0300 Add MariaDB 10.0 stanzas next to MariaDB 5.5 in debian/control file This should make the provides/breaks/replaces/conflicts lines work properly when upgrading from mariadb-10.0 to mariadb-10.1 commit cc08c134f7790816966d8e08a07fd6213a0cfa80 Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Sep 1 23:01:43 2015 +0300 Add MySQL 5.6 stanzas next to MySQL 5.5 in debian/control file This should make the provides/breaks/replaces/conflicts lines work properly when upgrading from mysql-5.6 to mariadb-packages. commit 68810129a0c185f22eaa35f2d917f052ea78748b Author: Alexander Barkov <bar@mariadb.org> Date: Tue Sep 1 22:48:17 2015 +0400 MDEV-8695 Wrong result for SELECT..WHERE varchar_column='a' AND CRC32(varchar_column)=3904355907 commit 4f0255cbf9df7b0dca507cbdcc753ae7821a47a4 Author: Monty <monty@mariadb.org> Date: Tue Sep 1 18:40:54 2015 +0300 Fixed errors and bugs found by valgrind: - If run with valgrind, mysqltest will now wait longer when syncronizing slave with master - Ensure that we wait with cleanup() until slave thread has stopped. - Added signal_thd_deleted() to signal close_connections() that all THD's has been freed. - Check in handle_fatal_signal() that we don't use variables that has been freed. - Increased some timeouts when run with --valgrind Other things: - Fixed wrong test in one_thread_per_connection_end() if galera is used. - Removed not needed calls to THD_CHECK_SENTRY() when we are calling 'delete thd'. commit 56aa19989f5800df8a398173727558bfb3ea1251 Author: Monty <monty@mariadb.org> Date: Mon Aug 31 12:57:46 2015 +0300 MDEV-6152: Remove calls to current_thd while creating Item Part 5: Removing calls to current_thd in net_read calls, creating fields, query_cache, acl and some other places where thd was available commit 8ea9b8c0b168b3e5aad08886477d8726531abcd5 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Sep 1 19:24:58 2015 +0400 MDEV-8722 The patch for MDEV-8688 disabled equal field propagation for temporal column and BETWEEN and IN Item::cmp_context was inconsistently used in combination with cmp_type() and result_type() in different places of the code. Fixed to use cmp_type() in all places where cmp_context is involved, to avoid unexpected results for temporal data types (which have result_type()==STRING_RESULT and cmp_type==TIME_RESULT). commit bd3864efe47aa9ed7bd32e2df4324fd413a2db7b Merge: b007dfb101a a3c24ee7393 Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Sep 1 13:50:04 2015 +0300 Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1 commit a3c24ee7393ef08559b2a559909b42a400bfe692 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Aug 31 18:18:10 2015 +0400 MDEV-8707 Wrong result for SELECT..WHERE varchar_column=DATE'2001-01-01' AND varchar_column='2001-01-01' commit b007dfb101ab0b1939e90a75bd24abf718218055 Author: Otto Kekäläinen <otto@seravo.fi> Date: Mon Aug 31 09:18:30 2015 +0300 Typofix: preceeding -> preceding commit e87e26af7d8bbaa3b37008fd29cc61a897abbf94 Merge: 6bd94cf5427 44a99777bfd Author: Otto Kekäläinen <otto@seravo.fi> Date: Mon Aug 31 09:07:09 2015 +0300 Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg commit 6bd94cf54274d54521ece1e50d534777122ff29e Author: Otto Kekäläinen <otto@seravo.fi> Date: Sun Aug 30 22:59:27 2015 +0300 Make galera-3 a Recommends instead of Depends in Debian packaging Having galera-3 as a Depends stops installation of proceeding on systems where package galera-3 is not available. The server can run fine withouth galera enabled, therefore a more slack relationship is more appropriate. commit 44a99777bfd98b5217fb8a90f318c03f8135bbc3 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Aug 29 23:08:15 2015 +0400 MDEV-8698 Wrong result for SELECT..WHERE a BETWEEN 'a' AND 'c' COLLATE latin1_bin; commit 787adc61669db9db5e73c2162baccdb9129e32e2 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Aug 29 21:41:37 2015 +0400 MDEV-8680 Wrong result for SELECT..WHERE a IN ('a' COLLATE latin1_bin,'b') AND a='a' The fix for MDEV-8688 fixed MDEV-8680 as well. Just adding a test case. commit f071a12498e47921ce2dcc472ff6dafaf16d4d61 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Aug 29 19:26:30 2015 +0400 MDEV-8688 Wrong result for SELECT..WHERE varchar_column IN (1,2,3) AND varchar_column=' 1'; commit 09fb51255aea93025d782641906a552040d008c9 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Aug 29 18:45:04 2015 +0400 Clean-up: removing duplicate code: removing Item_func_in::compare_collation() and Item_func_between::compare_collation(), and adding Item_func_opt_neg::compare_collation() instead. commit b4e56a5658bf316f3c73af2b62a4c6843222474a Author: Alexander Barkov <bar@mariadb.org> Date: Sat Aug 29 16:31:11 2015 +0400 Moving common members of Item_func_in and Item_func_between to their parent Item_func_opt_neg. A pre-requisite patch for a number of upcoming equal field propagation related bug fixes. commit 3ba2a958beaf8ce5b4db23739b310ebad606d993 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Aug 28 17:03:09 2015 +0400 MDEV-8694 Wrong result for SELECT..WHERE a NOT LIKE 'a ' AND a='a' Note, the patch for MDEV-8661 unintentionally fixed MDEV-8694 as well, as a side effect. Adding a real clear fix: implementing Item_func_like::propagate_equal_fields() with comments. commit 3bca8db4f90cd9a505b99009c44594c0fb1ec353 Author: Monty <monty@mariadb.org> Date: Thu Aug 27 10:07:32 2015 +0300 MDEV-6152: Remove calls to current_thd while creating Item - Part 4: Removing calls to sql_alloc() and sql_calloc() Other things: - Added current_thd in some places to make it clear that it's called (easier to remove later) - Move memory allocation from Item_func_case::fix_length_and_dec() to Item_func_case::fix_fields() - Added mem_root to some new calls - Fixed some wrong UNINIT_VAR() calls - Fixed a bug in generate_partition_syntax() in case of errors - Added mem_root to argument to new thread_info - Simplified my_parse_error() call in sql_yacc.yy commit 3cb578c001b2feabd2410f281d20eb6566371453 Author: Monty <monty@mariadb.org> Date: Mon Aug 24 14:42:07 2015 +0300 MDEV-6152: Remove calls to current_thd while creating Item - Part 3: Adding mem_root to push_back() and push_front() Other things: - Added THD as an argument to some partition functions. - Added memory overflow checking for XML tag's in read_xml() commit a273f016a1a8af8d3b60af804675cd4fd706132e Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Aug 12 23:03:45 2015 +0200 Fix spelling errors commit ba340d8c47657774ba6d69bfc918dbebaaef6086 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Aug 26 23:17:34 2015 +0400 Making Item_field::can_be_substituted_to_equal_item() private. commit 1b6b44b6b52e9f86bb32669a68bd7c067bc63d49 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Aug 26 22:32:01 2015 +0400 MDEV-8661 Wrong result for SELECT..WHERE a='a' AND a='a' COLLATE latin1_bin MDEV-8679 Equal field propagation is not used for VARCHAR when it safely could commit c0b7bf2625a305eae54e3065edffcd7a2da206b2 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Aug 26 18:07:34 2015 +0300 MDEV-8683: Bunch of tests fail in buildbot on new InnoDB variables commit 3ed384baf0f3bf6ffbb5badb0ccc301e028dd289 Merge: cf154cc9d23 f66ef6a05d1 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Aug 26 14:59:33 2015 +0300 Merge pull request #94 from ericherman/evict_table_metric Evict table metric commit f66ef6a05d151a884acbc861dbbe0288232317cd Author: Eric Herman <eric@freesa.org> Date: Wed Aug 26 11:50:47 2015 +0200 Add lru evict count for the idle loop (xtradb) commit b7abdcf5c7389d1b4b5b3acfcae15373861e03b8 Author: Eric Herman <eric@freesa.org> Date: Wed Aug 26 11:48:19 2015 +0200 Add lru evict count for the idle loop (innobase) port of work by dveeden: https://github.com/dveeden/mysql-server/commit/555ca34958a8ed191f34eeb2333e0d7c30e12fce commit df32920ba00a2b3615f3b6ed06d5bf4581fa254c Author: Eric Herman <eric@freesa.org> Date: Wed Aug 26 10:26:19 2015 +0200 Add eviction count for table cache lru cleanup (xtradb) commit 4f4373fe31542342849e1261f661b1c7795475a2 Author: Eric Herman <eric@freesa.org> Date: Wed Aug 26 10:02:06 2015 +0200 Add eviction count for table cache lru cleanup (innobase) This is a port of dveeden's work: https://github.com/dveeden/mysql-server/commit/e9d00e859e3854bf8f71873caa69c060e670350b (Mostly changes in linenumbers, a bit of whitespace fix-up.) commit cf154cc9d23aa050157d891443a16c90260fbd74 Author: Elena Stepanova <elenst@montyprogram.com> Date: Wed Aug 26 02:09:57 2015 +0300 MDEV-8676 Some storage_engine tests fail on 10.1 - foreign_keys: adjusted according to code changes; - type_spatial: adjusted according to code changes; - type_spatial_indexes (for MyISAM): disabled till MDEV-8675 is fixed commit f533b2b462b5b73630245172b627506d36f95b39 Merge: c6a0cbdac6d 472d66320d8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Aug 25 11:15:45 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 871259f171637dbcdae95115f82374ff0edfcd86 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Aug 25 16:15:22 2015 +0300 MDEV-8665: innodb.innodb_bug14147491 fails in buildbot on some debug builds Added MTR suppressions for database corruption that is intentionally caused in test. commit 27444871a8f30e49fd8f52acdade55e723cacae6 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Aug 25 11:46:31 2015 +0400 UNINIT_VAR() fixes Restored self-initialization version of UNINIT_VAR() for all gcc versions. Fixed UNINIT_VAR() usage: it is supposed to be used along with declaration. commit c18110bd52770eec7427ca4ef5174118a9db0872 Author: Elena Stepanova <elenst@montyprogram.com> Date: Sun Aug 23 00:57:57 2015 +0300 Increase the version number commit 175ef097e201367f0f5ea98886d8f014584aa586 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Aug 22 18:11:42 2015 +0200 Handle is_null and error arguments Fix wrong calling sequence for RESULT_INT and RESULT_REAL functions. modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h commit f741fcc9e52c30b5ddecdea95dac50d2a6110df1 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Aug 22 12:13:37 2015 +0200 Handle constant function and argument modified: storage/connect/jsonudf.cpp Record result of json test modified: storage/connect/mysql-test/connect/r/json.result commit 472d66320d8538f2d1850bb50caceed18181024a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Aug 22 01:18:02 2015 -0400 MDEV-8149: Random mtr test failures during warning check Do not replicate commands from check-warnings.test to other nodes in the cluster. commit 98ba2bf424eec2e47d7ed0284999a637131b0c07 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Aug 21 17:08:55 2015 +0400 Clean-up: moving compare_collation() from Item to Item_bool_func. commit 1bae0d9e5669c2d03209082142e892417e24d09a Author: Monty <monty@mariadb.org> Date: Thu Aug 20 15:24:13 2015 +0300 Stage 2 of MDEV-6152: - Added mem_root to all calls to new Item - Added private method operator new(size_t size) to Item to ensure that we always use a mem_root when creating an item. This saves use once call to current_thd per Item creation commit 31e365efae28ba3208e80511c4d18fe11a79541a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Aug 11 11:18:38 2015 +0400 MDEV-8010 - Avoid sql_alloc() in Items (Patch #1) Added mandatory thd parameter to Item (and all derivative classes) constructor. Added thd parameter to all routines that may create items. Also removed "current_thd" from Item::Item. This reduced number of pthread_getspecific() calls from 290 to 177 per OLTP RO transaction. commit 4ee28865f67c980848bb62f0009440be73ebee7c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 20 20:55:52 2015 -0400 MDEV-5146 : Bulk loads into partitioned table not working When wsrep is enabled, for any update on innodb tables, the corresponding keys are appended to galera's transaction writeset (wsrep_append_keys()). However, for LOAD DATA, this got skipped if binary logging was disabled or it was non-ROW based. As a result, while the updates from LOAD DATA on non-partitioned tables replicated fine as wsrep implicitly enables binary logging (if not enabled, explicitly), the same did not work on partitioned tables as for partitioned tables the binary logging gets disabled temporarily (ha_partition::write_row()). Fixed by removing the unwanted conditions from the check. Also backported some changes from 10.0-galera to make sure wsrep_load_data_splitting affects LOAD DATA commands only. commit ccd39b2dd3315ce6a7844676907097325b39c0b8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 20 09:55:54 2015 -0400 Backport partition tests from 10.0-galera. commit ffc0f5b3de2b322dc05a3646243e0028c6691a1c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Aug 19 17:52:33 2015 +0200 Add new UDF noconst. modified: storage/connect/noconst.c Fix a few bugs in json udf's. modified: storage/connect/jsonudf.cpp commit 98bebad67274a87517a94b204cd8684a2e48d8c6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Aug 18 17:03:28 2015 -0400 Fix for a typo. commit 69ce20c4bdcfc32b3e78a4108313031688204cb9 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Aug 18 12:03:29 2015 +0200 Add new json UDF Json_Object_List. modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h commit 4374da63f03abc472f68f42e4e93261a18bfe417 Merge: 5fe8b747e9e dfac82e44dd Author: Monty <monty@mariadb.org> Date: Tue Aug 18 11:27:00 2015 +0300 Merge /my/maria-10.1-default into 10.1 commit dfac82e44dd665ab218348765df2b519db4c10dc Author: Monty <monty@mariadb.org> Date: Tue Aug 18 11:17:54 2015 +0300 Fixed failing tests and compiler warnings - UNINIT_VAR() was required for 4.8.3 on openSUSE 13.2 commit 6b20342651bb5207b6c125d2d11b664a1bebcc41 Author: Monty <monty@mariadb.org> Date: Tue Aug 18 00:42:08 2015 +0300 Ensure that fields declared with NOT NULL doesn't have DEFAULT values if not specified and if not timestamp or auto_increment In original code, sometimes one got an automatic DEFAULT value in some cases, in other cases not. For example: create table t1 (a int primary key) - No default create table t2 (a int, primary key(a)) - DEFAULT 0 create table t1 SELECT .... - Default for all fields, even if they where defined as NOT NULL ALTER TABLE ... MODIFY could sometimes add an unexpected DEFAULT value. The patch is quite big because we had some many test cases that used CREATE ... SELECT or CREATE ... (...PRIMARY KEY(xxx)) which doesn't have an automatic DEFAULT anymore. Other things: - Removed warnings from InnoDB when waiting from semaphore (got this when testing things with --big) commit 92fd65832727162a003647b4c48344dc9567ce84 Author: Monty <monty@mariadb.org> Date: Fri Jul 17 16:27:41 2015 +0300 MDEV-8475 stale .TMM file causes MyiSAM and Aria engine to stop serving the table Issue was two fold (both in MyISAM and Aria) - optimize and repair failed if there was an old .TMM file around. As optimized and repair are protected against multiple execution, I decided to change so that we just truncate the file if it exists. - I had missed to check for error condition if creation of the temporary index file failed. This caused the strange behaviour that it looked as if optimized would have worked once. commit 5fe8b747e9e3440f2f746accca0eb11e287a6713 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Aug 17 15:53:43 2015 +0400 Adding EXPLAIN SELECT tests for: MDEV-7649 wrong result when comparing utf8 column with an invalid literal This is a preparatory patch for: MDEV-8433 Make field<'broken-string' use indexes commit c6a0cbdac6dbb7134164732bf7a6096d82e1f0a1 Merge: 5cf737c07a9 fe757e006c6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 14:59:43 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit fe757e006c676bc1cfb713f26fbd43e608531458 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 13:45:52 2015 -0400 Fix for some failing tests. commit 55cb3d8b44d6651e587190c49df1247b8ec02628 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Aug 14 17:07:50 2015 +0200 Add new json UDFs and make possible to use a json file name as json item. modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/t/json.test modified: storage/connect/tabjson.cpp Fix wrong calculation of Estimated Length when the table has virtual or special columns modified: storage/connect/reldef.h modified: storage/connect/tabdos.cpp Fix wrong handling of null values in ODBCCOL::ReadColumn modified: storage/connect/tabodbc.cpp Fix crash when SetValue_char is called with a negative length value. This can happen in odbconn.cpp when SQLFetch returns SQL_NO_TOTAL (-4) as length. modified: storage/connect/odbconn.cpp modified: storage/connect/value.cpp commit 78b80cb6baa3f9c4e58355888e8c6defab186440 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Aug 14 18:34:41 2015 +0400 Adding MY_CHARSET_HANDLER::native_to_mb(). This is a pre-requisite patch for: - MDEV-8433 Make field<'broken-string' use indexes - MDEV-8625 Bad result set with ignorable characters when using a prefix key - MDEV-8626 Bad result set with contractions when using a prefix key commit bfb6ea02321f963c2b5f5beb333283585d3d1be3 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Aug 14 11:09:06 2015 +0300 MDEV-8589: Non-default ENCRYPTION_KEY_ID is ignored upon reading a table Analysis: Problem was that when a new tablespace is created a default encryption info is also created and stored to the tablespace. Later a new encryption information was created with correct key_id but that does not affect on IV. Fix: Push encryption mode and key_id to lower levels and create correct encryption info when a new tablespace is created. This fix does not contain test case because, currently incorrect encryption key causes page corruption and a lot of error messages to error log causing mtr to fail. commit a80753594a37538a35df7c02ae80da624578dec4 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Aug 14 15:49:56 2015 +0300 MDEV-8591: Database page corruption on disk or a failed space, Assertion failure in file buf0buf.cc line 2856 on querying a table using wrong default encryption key Improved error messaging to show based on original page before encryption is page maybe encrypted or just corrupted. commit 7145ca477ce7e574a6780f0675c785d3ff75e279 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Aug 14 11:11:39 2015 +0400 Recording range_mrr_icp.result (forgotten in the patch for MDEV-8613) commit 5cf737c07a959fa3f03fb3c6d0a71ac442e59073 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 02:46:32 2015 -0400 MDEV-8464 : ALTER VIEW not replicated in some cases (Additional fix in 10.0-galera branch) THD's lex->definer initially holds "*current_user" for CURRENT_USER(). Use get_current_user() to get the real current user. commit 52f1543ef1e1dc48a26076788e18e223cb34d872 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 01:37:21 2015 -0400 Fix for a memory leak. commit e996304189999eae8aeaa6995a80bf486833ed87 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 01:31:38 2015 -0400 MDEV-8617: Multiple galera tests failures with --ps-protocol (Additional fixes in 10.0-galera branch) * Reset THD's PS members before returning when node is not ready. * Update galera_suspend_slave.test commit e99bc0d1e21a2048b8fda1719e778ee8ffd1adcc Author: Alexander Barkov <bar@mariadb.org> Date: Fri Aug 14 09:23:03 2015 +0400 Removing unused String_copier::copy_fix. Fixing misleading comments in String_copiers::well_formed_copy(). commit 8a18bb969432242b7431231ff9cd1fb6fc8a707f Merge: 91acc8b16fd c18e0dab8a2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 01:17:57 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit c18e0dab8a24db9d8f84fef328c27a28939a6ef5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 14 00:01:18 2015 -0400 MDEV-8617: Multiple galera tests failures with --ps-protocol In galera cluster, when myisam replication is enabled (wsrep_replicate_myisam=ON), DML statements are replicated in open_tables(). However, in case of prepared statements, for an INSERT, open_tables() gets invoked twice. Once for COM_STMT_PREPARE (to validate and prepare INSERT) and later for COM_STMT_EXECUTE. As a result, the command gets replicated twice. Same happens for REPLACE, UPDATE and DELETE commands. Fixed by adding a check to not replicate during 'prepare' phase. Also changed the order of conditions to make it more efficient. Lastly, in order to support wsrep_dirty_reads, made changes to allow COM_STMT_XXX commands to continue past initial check even when wsrep is not ready. commit 0750b2df37fb7d6d28e192e3046b4c406ff42779 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Aug 13 16:41:02 2015 +0400 MDEV-8613 Full table scan for WHERE indexed_varchar_column <=> 'bad-character' commit 60985e5375ae7e8143f0ae4f6c70f1833d268f76 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Aug 13 14:25:51 2015 +0400 MDEV-8610 "WHERE CONTAINS(indexed_geometry_column,1)" causes full table scan commit e998dffde7af2ac8b751b7d4ad22fd4bf08489f9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Aug 12 17:47:25 2015 -0400 MDEV-8598 : Failed MySQL DDL commands and Galera replication RENAME TABLE, unlike other DDLs, was getting replicated before the access check was performed. As a result, the command could get get replicated and thus executed on other nodes, even if it fails on the originating node due to permission issues. Fixed by moving the logic to check user privileges before replicating the command. commit 9d884fd3d3fadd5ad31ecfee915877b98258e546 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Aug 12 17:28:45 2015 +0400 MDEV-8599 "WHERE varchar_field LIKE temporal_const" does not use range optimizer commit 6e091dc7ff06f9ff0bbe834f6be338f5b695ed81 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Aug 12 14:43:17 2015 +0400 Splitting a static function get_func_mm_tree() into virtual methods in Item_bool_func descendants, which gives some advantages: - Removing the "bool inv" parameter, as its now available through "this" for Item_func_between and Item_func_in, and is not needed for the other Item_func_xxx. - Removing casts - Making a step to data types plugings commit 9a64262db2b5b7195fbfb048f814ca25a0b7a526 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Aug 12 10:52:12 2015 +0400 Removing RANGE_OPT_PARA::cond Its initialization in Item_func_xxx::get_mm_tree() is redundant: the pointer to the current function is passed to get_mm_tree() anyway. commit 86a3613d4e981c341e38291c9eeec5dc9f836fae Author: Alexander Barkov <bar@mariadb.org> Date: Mon Aug 10 11:46:41 2015 +0400 MDEV-8441 Bad SHOW CREATE TABLE output for a table with a virtual column commit 840aefc6a34a57c572fc6c37ea16648e8dd6a1e6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Aug 9 14:16:50 2015 -0400 MDEV-8590: Fix embedded build failure commit cd1a11ace3b4a4b034307590d58cc7a9d37004f6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Aug 8 15:04:15 2015 -0400 MDEV-7205 : Galera cluster & sql_log_bin = off don't work While sql_bin_log=1(0) is meant to control binary logging for the current session so that the updates to do(not) get logged into the binary log to be replicated to the async MariaDB slave. The same should not affect galera replication. That is, the updates should always get replicated to other galera nodes regardless of sql_bin_log's value. Fixed by making sure that the updates are written to binlog cache irrespective of sql_bin_log. Added test cases. commit 91acc8b16fdd8409765f32b5453851366552a709 Merge: 4c69dc81169 0403790722e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Aug 8 14:21:22 2015 -0400 Merge tag 'mariadb-10.0.21' into 10.0-galera commit 46ad86f6a35aff59ecb68a23dba228e5796e935a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Aug 8 12:49:20 2015 +0300 MDEV-8582: innodb_force_primary_key option does not force PK or unique key Analysis: Handler used table flag HA_REQUIRE_PRIMARY_KEY but a bug on sql_table.cc function mysql_prepare_create_table internally marked secondary key with NOT NULL colums as unique key and did not then fail on requirement that table should have primary key or unique key. commit 3307eaab68bf4818116a4fdd10b1a4f3427ea2ae Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Aug 8 10:39:01 2015 +0300 MDEV-8582: innodb_force_primary_key option does not force PK or unique key Analysis: Handler table flag HA_REQUIRE_PRIMARY_KEY alone is not enough to force primary or unique key, if table has at least one NOT NULL column and secondary key for that column. Fix: Add additional check that table really has primary key or unique key for InnoDB terms. commit 05bcb088bf52b3c23c358ae129278146d1dba213 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sat Aug 8 10:09:45 2015 +0300 MDEV-8583: Empty lines in encryption logging Removed extra line break. commit 18b0176a058d7e6cc9a4f6886f32460345df8d0c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Aug 7 15:21:20 2015 +0300 MDEV-8410: Changing file-key-management to example-key-management causes crash and no real error MDEV-8409: Changing file-key-management-encryption-algorithm causes crash and no real info why Analysis: Both bugs has two different error cases. Firstly, at startup when server reads latest checkpoint but requested key_version, key management plugin or encryption algorithm or method is not found leading corrupted log entry. Secondly, similarly when reading system tablespace if requested key_version, key management plugin or encryption algorithm or method is not found leading buffer pool page corruption. Fix: Firsly, when reading checkpoint at startup check if the log record may be encrypted and if we find that it could be encrypted, print error message and do not start server. Secondly, if page is buffer pool seems corrupted but we find out that there is crypt_info, print additional error message before asserting. commit 5b9dd459fb94d44b8852870e89a64d0f953f2eb3 Merge: af2f7ce3f91 fa51f70dc68 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Aug 7 17:02:51 2015 -0400 Merge tag 'mariadb-5.5.45' into 5.5-galera commit 3025c42605af4d3341d0df155525dc174fe10843 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Aug 7 17:41:35 2015 +0300 Make ANALYZE FORMAT=JSON show execution time for filesort element. commit 4c69dc8116950d6bf0b09bfbc31a86d89831a364 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Aug 6 00:36:40 2015 -0400 MDEV#7501 : alter table exchange partition is not replicated in galera cluster Added logic to replicate ALTER TABLE EXCHANGE PARTITION to other nodes in the cluster. commit afd59b575a75ebbc57f71ce2865fdff85e3e233b Merge: dbd205797b7 5ca061e65f4 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Aug 4 15:47:30 2015 +0200 Merge branch 'mdev8302-3' into 10.1 commit dbd205797b7ee4373972d9d2014bf24e5a01b094 Merge: 35a019837e0 9b9c5e890c1 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Aug 4 12:39:22 2015 +0200 Merge MDEV-8302 into 10.1 commit 82cecb1c983737191804dfd170cafdf436158f80 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jul 31 11:21:57 2015 -0400 MDEV-8240 : Unknown option 'table_type' when using Connect Engine on MGC Fix for 'reorder' compiler warning. commit 0abde01f5e9a61cc482711b9b5f04a9815401ddb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jul 29 18:04:40 2015 -0400 MDEV-8240 : Unknown option 'table_type' when using Connect Engine on MGC MariaDB Galera server's (MGC) handlerton & THD structures have some extra wsrep members as compared to MariaDB server. As a result, when plugins from packages, built along with MariaDB server like Connect & OQGraph are loaded and accessed by MGC, the objects may get initialized improperly. Fixed by moving the wsrep-additions to the end of the structure. commit 35a019837e0290af45962484b4ddc1d6a92ac654 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Feb 9 13:41:24 2015 +0400 MDEV-5096 - Wrong error message on attempt to kill somebody else's query ID Attempting to kill query owned by different user now returns better error: "You are not owner of query N" instead of "You are not owner of thread N". commit d517886482158f7f4525b55b7899ad6bab882768 Merge: 53623d932a8 26f249f6db8 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jul 23 15:48:26 2015 +0200 Merge branch 'bb-10.1-serg' into 10.1 commit 26f249f6db8098f161e19a08930d3c227281ea9a Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jul 23 10:55:24 2015 +0200 compilation failures on Windows commit 0ae8bae98fd6e4c1074021a9340feaa69e0b361a Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jul 22 18:46:36 2015 +0200 fix for 32-bit tests commit 3b040a06ede62553560bd374b727c6187e5629a7 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jul 22 15:49:38 2015 +0200 Fix (?) retrieving integer arguments in JSON UDF's modified: storage/connect/jsonudf.cpp commit f425c71aba5a52e603fde8582838e3d89771c032 Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Jul 22 13:53:28 2015 +0300 Merge documentation parts in debian/control from downstream commit 5a3d75220994ca4c54ecb1283f24a30c37b7a63b Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Jul 22 13:45:43 2015 +0300 Make autobake-deb.sh to omit .git directory from source tar.gz This is useful for developers who run autobake-deb.sh directly from the source tree as the resulting source tar package will be 90% smaller and all operations regarding it consequently 10x faster. commit 220b4f2fc2545b7f8448485324db623aff54fee0 Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Jul 22 13:15:36 2015 +0300 Merge (most) build dependencies in debian/control with downstream * dpatch cannot be removed yet, as packaging standard isn't updated * we don't want to remove libssl at all, as in upstream we rather use system provided OpenSSL than bundled, non-system updated and less commonly trusted YaSSL * keep versioned dependencies, they might prove helpful when building for multiple distros and releases commit 16be184123c53c738ce962463e50d0ee52208b4f Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Jul 22 10:43:55 2015 +0300 Extend debian/control build dependencies to max For tracking purposes this step is committed first before the unnecessary dependencies are trimmed away. libpcre3-dev (>= 2:8.35-3.2~) is however omitted (compared to downstream Debian packaging) as it is not available in precise and we don't want to break builds on precise yet. commit 61e31aa5d46c850ce3cd1679f9ed32d610e3d794 Author: Otto Kekäläinen <otto@seravo.fi> Date: Wed Jul 22 00:24:29 2015 +0300 Remove files from debian/* that are unrelevant for this upstream repo * README and NEWS are very old and mostly plain wrong and not needed * Lintian-overrides are relevant only in actual Debian QA systems * watch file was plain wrong and anyway relevant only in downstream distros commit 6809fdb7413473bd94385f0d13680ee26c17661a Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Jul 21 23:37:05 2015 +0300 Update autobake.sh to match control file location. Drop lucid and squeeze support. commit 53623d932a89dd4760fd28db42956b341ac451ed Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jul 22 08:42:52 2015 +0300 MDEV-8522: InnoDB: Assertion failure in file fil0fil.cc line 475 Analysis: In fil_crypt_space_needs_rotation we first make sure that tablespace is found and then separately that it is normal tablespace. Thus, tablespace could be dropped between these two functions calls. Fix: If space is not found from fil_system return tablespace type ULINT_UNDEFINED and naturally do not continue rotating space. commit af9509d0d8edafa1f5c4896cc75165a378649dfe Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Jul 21 23:24:05 2015 +0300 debian/*: wrap and sort for cleaner diffs commit 82e64fde07caa9cc2e175fadeda72f3948aee437 Author: Otto Kekäläinen <otto@seravo.fi> Date: Tue Jul 21 23:13:05 2015 +0300 Remove debian/dist/* and have just one version Use the slightly better Ubuntu version in both Ubuntu and Debian and latest versions of Debian don't have problems with AppArmor files included in packaging. commit 62b5a561910f8001c288bcc75c11516a4d061cd3 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jul 21 12:51:14 2015 +0300 MDEV-8501: encryption.create_or_replace fails in buildbot on P8 builders Analysis: There is race between drop table and encryption threads that could cause encryption thread to enter mutex that has been already released. Fix: When destroying crypt_data first enter the mutex and set crypt data unavailable, then release the memory and clean up the data. This should make the race more unprobable. Additionally, added big_test for create_or_replace as it could fail testcase timeout if you have slow I/O (tested that testcase passes with --mem). commit 3ff9634b43672ed78facacf23ff6785f7fb960b9 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jul 20 20:28:32 2015 +0200 MDEV-8508 mroonga fails embedded tests in 10.1 as a workaround until the bug is fixed don't run mroonga tests in --embedded mode by default commit 3d4c69d22485036425086e4835a42d7c21b74e07 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jul 20 19:47:46 2015 +0200 compiler warning WARN_DEPRECATED_NO_REPLACEMENT(NULL, ...) was causing a warning, because it expanded into NULL->variables.errmsgs[...] commit 82c6b259a59a6c0932f4198fcbfad5865545de25 Merge: e35fd20910a 06913d01626 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jul 20 19:07:59 2015 +0200 Merge https://github.com/Kentoku/MariaDB/tree/10.1 into 10.1 commit e35fd20910ac4c92d70e7b2f96bfe9050985d4c5 Merge: 6d3bd6588e7 6771b818a38 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jul 20 18:14:31 2015 +0200 Null-merge branch 'github/10.0-galera' into 10.1 because the actual merge was already done in dced5146bdfc46e200ba35a86c3c55fb60972e33 as a patch commit af2f7ce3f915c4686ef04294b00c6f4885503f5e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jul 19 22:51:19 2015 -0400 MDEV-8464 : ALTER VIEW not replicated in some cases In galera, like other DDLs, CREATE/ALTER VIEW commands are recreated and replicated during parsing. The ALGORITHM clause is internally set to VIEW_ALGORITHM_INHERIT if its not explicitly specified by the user. But since its not a valid type to be used in a command, it leads to an assertion failure. The solution is to not include the ALGORITHM clause in the command if its not explicitly specified (or INHERIT). commit 6d3bd6588e725362098054e07f8f5994d5ab4bfa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jul 19 21:33:12 2015 -0400 MDEV-8492: Windows builds fail on current 10.1 In non-wsrep builds, wsrep_running_threads should be defined to (0). commit c57edf3b9a2743e801858ca2e8c001311076e78f Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Jul 20 00:28:22 2015 +0300 MDEV-8500 sys_vars.sysvars_innodb '32bit,xtradb' fails The version in sysvars_innodb,32bit,xtradb.rdiff was not updated commit 70467884486ffa780eccb8f631c0e467e51f1951 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Sun Jul 19 10:31:24 2015 +0200 Fix build failures. commit 13dbb6fa9ed735ff58c368961c642ce643b26784 Merge: d258f5ff043 44c4b2304b0 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Sun Jul 19 09:30:36 2015 +0200 Merge MDEV-8496 into 10.1 commit d258f5ff0435cbd8b000226dc7dc3ec4e9b79cbc Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Jul 17 19:20:50 2015 +0300 MDEV-8495 encryption.innodb_first_page fails sporadically in buildbot The test did not wait until the server shuts down commit a392c79552f1a728426b6664f434fe818a894e03 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Jul 16 11:05:20 2015 +0200 Fix and Enhance remote indexing: - Apply to ODBC tables as well as MYSQL tables - Fix and enhance the CheckCond routine Make ReadKey and MakeKeyWhere handle all conditions modified: storage/connect/.gitattributes modified: storage/connect/.gitignore modified: storage/connect/connect.cc modified: storage/connect/connect.h modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/mycat.cc modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h modified: storage/connect/xtable.h Add some new tests: storage/connect/mysql-test/connect/r/endian.result storage/connect/mysql-test/connect/r/mysql_index.result storage/connect/mysql-test/connect/t/endian.test storage/connect/mysql-test/connect/t/mysql_index.test commit 0ad00c66d2898b5ce71a2aa166f42623608321ac Author: Monty <monty@mariadb.org> Date: Thu Jul 16 10:26:01 2015 +0300 Fix for MySQL bug #77448 Inconsistent handling of RAND() in WHERE and HAVING Problem was that for queries of type: select rand() r, rand() p, rand() = rand() from a having r = p The optimizer thought that r = p was same as rand() = rand() and this would always be true. The problem was that when testing if two expressions are equal, we didn't take into account no determinstic functions. The fix is to not compare non deterministic functions as equal. commit 872a953b228e93553ed056d8fa035ff06e884bc8 Author: Monty <monty@mariadb.org> Date: Wed Jul 15 16:27:14 2015 +0300 MDEV-8469 Add RESET MASTER TO x to allow specification of binlog file nr Other things: - Avoid calling init_and_set_log_file_name() when opening binary log. - Remove newlines early when reading from index file. - Ensure that reset_logs() will work even if thd is 0 (Can happen on startup) - Added thd to sart_slave_threads() for better error handling. commit df0498fd76897c0e034ab3f0598972f0e2419b02 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 21:38:17 2015 -0400 Update sys_vars.sys_vars_wsrep result. commit ee9bdcf79aea0fbed7ff9605cc9689f1c8924b21 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 17:33:22 2015 -0400 Binlog SE doesn't implement abort_transaction(), so skip warning. commit e2041167346bd91d796c739cf7ab9de052283cb7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 17:21:35 2015 -0400 Check supress_my_ok before sending Ok packet (logic lost during merge). commit 0e2ce3b745e1151462f0d378ddf7c4d87dc285de Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 17:16:28 2015 -0400 Allow binlog row image column marking even for wsrep binlog emulation. commit dd4d81ddfd36e35b2eac96e07a931276a13db949 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 16:58:38 2015 -0400 Update read_pos after reading from the cache. commit dced5146bdfc46e200ba35a86c3c55fb60972e33 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 14 16:05:29 2015 -0400 Merge branch '10.0-galera' into 10.1 commit 75931feabe99595e9659a423e299c4229d3c02ba Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jul 14 12:00:05 2015 +0400 MDEV-8362 dash '-' is not recognized in charset armscii8 on select where query commit 657f8a8d600a5ae9cd8026286073fd479c2adec7 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Jul 13 13:16:14 2015 +0400 MDEV-8456 Dead code in Item_cond::fix_fields() and Item_func_between::fix_fields() commit 6771b818a38a72e89d318eb9f1f3a2b8a64f0d5f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jul 10 19:06:42 2015 -0400 MDEV-8383 : "GRANT role TO user" does not replicate Enable replication of GRANT/REVOKE ROLE commands across galera nodes. commit f195f93903692d4d4b459a8fb7fce3966f0cbbdc Author: Monty <monty@mariadb.org> Date: Fri Jul 10 12:49:05 2015 +0300 Cleanups, fixed warnings from valgrind, fixed failing tests (because on changes in WSREP initialization) commit 24881437b7e0e50027361a0462126cd1ba0a5061 Author: Monty <monty@mariadb.org> Date: Fri Jul 10 09:18:17 2015 +0300 Fixed bug found by bar where we didn't properely check length of last argument for BETWEEN This should not have caused any notable errors in most cases. After fix, we are not using keys to solve MIN/MAX if the string used for comparision is longer thant the column- commit 9bb8b74e99adced1ccb38ced24a96cf2d1040f39 Merge: a6c80143871 77803703431 Author: Monty <monty@mariadb.org> Date: Thu Jul 9 14:47:32 2015 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 Conflicts: sql/item_subselect.cc Fixed also typo in comment commit a6c801438717b815288acb72513f5e42fe736b7b Author: Monty <monty@mariadb.org> Date: Thu Jul 9 13:09:36 2015 +0300 Speed and code space optimziation: - Cache variables.lc_messages->errmsgs->errmsgs in variables.errmsgs This gives us 15 byte less code space and 2 memory references for any access to language dependent message, of which there are 500 in the server.. commit 77803703431d79f5dcc2b23b3f878dfdbaf01c2b Author: Alexander Barkov <bar@mariadb.org> Date: Wed Jul 8 19:20:07 2015 +0400 MDEV-8336 The meaning of NO_ZERO_DATE is not clear for DATETIME. In some cases NO_ZERO_DATE did not allow datetime values with zero date part and non-zero time part (e.g. '0000-00-00 10:20:30.123456'). Allowing values of this kind in all known pieces of the code. commit 8154ef4b16fe140a42f3e90903192bb3b0fec041 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jul 7 22:26:44 2015 -0400 MDEV-7067: Server outputs Galera (WSREP) information, even if Galera is disabled Additional changes : * On startup, do not initialize wsrep if wsrep_on=0. * On shutdown, stop wsrep replication only if > 0 wsrep threads are running. commit b08c4201facca0501a6f6978068aaee9f9638b16 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jul 7 15:59:21 2015 +0400 Removing unused String declaration in Create_field::Create_field commit e4f8cea35627a8383d5d2d9b985038c960c0b19f Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jul 7 09:15:58 2015 +0400 MDEV-8419 utf32: compare broken bytes as "greater than any non-broken character" commit 7332af49e4ce125a5e316e7e0c82d44df4af54c4 Author: Monty <monty@mariadb.org> Date: Mon Jul 6 20:24:14 2015 +0300 - Renaming variables so that they don't shadow others (After this patch one can compile with -Wshadow and get much fewer warnings) - Changed ER(ER_...) to ER_THD(thd, ER_...) when thd was known or if there was many calls to current_thd in the same function. - Changed ER(ER_..) to ER_THD_OR_DEFAULT(current_thd, ER...) in some places where current_thd is not necessary defined. - Removing calls to current_thd when we have access to thd Part of this is optimization (not calling current_thd when not needed), but part is bug fixing for error condition when current_thd is not defined (For example on startup and end of mysqld) Notable renames done as otherwise a lot of functions would have to be changed: - In JOIN structure renamed: examined_rows -> join_examined_rows record_count -> join_record_count - In Field, renamed new_field() to make_new_field() Other things: - Added DBUG_ASSERT(thd == tmp_thd) in Item_singlerow_subselect() just to be safe. - Removed old 'tab' prefix in JOIN_TAB::save_explain_data() and use members directly - Added 'thd' as argument to a few functions to avoid calling current_thd. commit a5f4412bd44a16ba4d7ed31194716c0b59eecfeb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jul 6 11:40:56 2015 -0400 Fix embedded result to reflect increased system variable's max value length. commit 3a606ba210a0433229284fbcd26b7e2336f8f6c5 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Jul 6 18:59:33 2015 +0400 Fixing a bug in MDEV-8418 (utf16, utf16le) and MDEV-8417 (utf8mb4). Fixing non-BMP characters to have the same weight, as it was before MDEV-8418 and MDEV-8417. commit b2e324a21fbf481bccd15f9ee4bab819afefbed6 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Jul 6 15:50:56 2015 +0400 MDEV-8416 ucs2: compare broken bytes as "greater than any non-broken character" MDEV-8418 utf16: compare broken bytes as "greater than any non-broken character" commit 35d8ac350d97557d06edd1cffe7ecc28fc68930a Author: Alexander Barkov <bar@mariadb.org> Date: Mon Jul 6 10:47:39 2015 +0400 MDEV-8417 utf8mb4: compare broken bytes as "greater than any non-broken character" commit 8d4d185a08cd758d552d233c26f68af4caa28388 Author: Monty <monty@mariadb.org> Date: Sun Jul 5 12:40:16 2015 +0300 Simple optimization and removal of compiler warnings commit 86377d078ef130d3da32c5da31131e519822e139 Author: Monty <monty@mariadb.org> Date: Sun Jul 5 12:39:46 2015 +0300 Fixes done while working on MDEV-4119: Fixed several optimizer issues relatied to GROUP BY: a) Refering to a SELECT column in HAVING sometimes calculated it twice, which caused problems with non determinstic functions b) Removing duplicate fields and constants from GROUP BY was done too late for "using index for group by" optimization to work c) EXPLAIN SELECT ... GROUP BY did wrongly show 'Using filesort' in some cases involving "Using index for group-by" a) was fixed by: - Changed last argument to Item::split_sum_func2() from bool to int to allow more flags - Added flag argument to Item::split_sum_func() to allow on to specify if the item was in the SELECT part - Mark all split_sum_func() calls from SELECT with SPLIT_SUM_SELECT - Changed split_sum_func2() to do nothing if called with an argument that is not a sum function and doesn't include sum functions, if we are not an argument to SELECT. This ensures that in a case like select a*sum(b) as f1 from t1 where a=1 group by c having f1 <= 10; That 'a' in the SELECT part is stored as a reference in the temporary table togeher with sum(b) while the 'a' in having isn't (not needed as 'a' is already a reference to a column in the result) b) was fixed by: - Added an extra remove_const() pass for GROUP BY arguments before make_join_statistics() in case of one table SELECT. This allowes get_best_group_min_max() to optimize things better. c) was fixed by: - Added test for group by optimization in JOIN::exec_inner for select->quick->get_type() == QUICK_SELECT_I::QS_TYPE_GROUP_MIN_MAX item.cc: - Simplifed Item::split_sum_func2() - Split test to make them faster and easier to read - Changed last argument to Item::split_sum_func2() from bool to int to allow more flags - Added flag argument to Item::split_sum_func() to allow on to specify if the item was in the SELECT part - Changed split_sum_func2() to do nothing if called with an argument that is not a sum function and doesn't include sum functions, if we are not an argument to SELECT. opt_range.cc: - Simplified get_best_group_min_max() by calcuating first how many group_by elements. - Use join->group instead of join->group_list to test if group by, as join->group_list may be NULL if everything was optimized away. sql_select.cc: - Added an extra remove_const() pass for GROUP BY arguments before make_join_statistics() in case of one table SELECT. - Use group instead of group_list to test if group by, as group_list may be NULL if everything was optimized away. - Moved printing of "Error in remove_const" to remove_const() instead of having it in caller. - Simplified some if tests by re-ordering code. - update_depend_map_for_order() and remove_const() fixed to handle the case where make_join_statistics() has not yet been called (join->join_tab is 0 in this case) commit 7ab7f5327a11c9d167fe4300b3d4abe38b704f48 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jul 3 19:08:18 2015 +0400 Fixing a typo in the previous commit. commit fff30e26c32b8f629bbeb512ff746722525ff7a3 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jul 3 18:40:04 2015 +0400 Adding UTF8 related macros to reduce duplicate code. commit aeb8d713f43b8304521629343aa9feb5cd0feae3 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jul 3 17:30:15 2015 +0400 Removing unused code in ctype-utf8.c commit 9ad8ff666c4876de270f80f180b42eceac76b6f0 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jul 3 17:24:16 2015 +0400 MDEV-8415 utf8: compare broken bytes as "greater than any non-broken character" commit 95d07ee408abd98769093759a076f4665a176d77 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jul 3 10:33:17 2015 +0400 MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character" commit 302bf7c4664b904482ecc133476e822d497b114d Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jul 2 13:33:08 2015 +0300 Tabular ANALYZE must get its data from execution tracker commit 28a8ba089fa3ebc11ed6649ee07536c1d30b4791 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jul 2 12:00:25 2015 +0300 Fix test failure seen on P7/P8 innodb-encrypt-tables update/validate function used incorrect type. commit 64424f98866648900afd2039a21e6e228da1e002 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jul 2 10:24:02 2015 +0300 Update test results commit f0ce8482c1e591a18b280c5f8fa82c4c98142e8a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jul 1 22:52:59 2015 -0400 Adjust result files to reflect increased system variable's max value length. commit 06913d016268c4d0d7e19d19cbe6ca96a7f20e18 Author: Kentoku SHIBA <kentokushiba@gmail.com> Date: Thu Jul 2 04:12:21 2015 +0900 Update Mroonga to the latest version on 2015-07-02T04:12:21+0900 commit 031930489360b24032fd151c71292026b3747f32 Merge: 9d2aa2b3093 447416d1f39 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jul 1 20:11:43 2015 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 9d2aa2b3093e315f02e42943589f47447c67bbd8 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jul 1 20:03:29 2015 +0300 MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache Fixes over the original patch: - Fix variable/class/other names - Fix the JSON output to be in line with the output of other JSON constructs we produce commit 447416d1f390511fbf39c5076dd8a914f7444ec1 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jul 1 16:23:22 2015 +0300 MDEV-8406: Test failure on encryption.innodb-page_encryption_log_encryption in P7/P8 Used wrong type for encryption_key_id and page_compression_level in table options. Make explicit casts for calls also. commit 93198fefe0a856032e694def48a460780811228b Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Wed Jul 1 16:22:41 2015 +0300 [MDEV-6877] Update test results to accound for binlog_row_image variable. mysqld--help was not updated for binlog row image. commit f35386d6f3809e0dbe28ec5d1da152a03048e4f6 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Jul 1 15:37:52 2015 +0400 Checking in range_mrr_icp.result forgotten in the previous patch. commit 92627e74cad75bdb318dab9542310e889c17e748 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jul 1 10:20:16 2015 +0300 Add show warnings to test to find out the reason for create failure. commit c6aee27b73232fc6ba3e8b55adbb0abba4f0171b Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 25 18:27:10 2015 +0100 MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache commit 498a264d19f041c36d71e41a32c16ac40a014a3e Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jun 30 19:51:09 2015 +0300 [MDEV-6877] Update test results to accound for binlog_row_image variable. commit 84cefe24552cb5009192067bf4796f1be9ff5c4a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jun 30 09:16:09 2015 +0300 MDEV-8396: InnoDB: Assertion failure in file fil0crypt.cc line 2052 Logic error, NULL pointer was referenced. commit d1307bde651a02535405531aa9abd576b625311c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jun 30 08:34:31 2015 +0300 MDEV-8395: InnoDB: Assertion failure in file fil0pagecompress.cc line 539 (SIGFPE) File block size might be 0 and used on modulo operator. Make sure that file block size is initialized to 512. commit 1a3321b6496dcdbac47efb48e7b66aa23fd8e0f7 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jun 30 14:42:46 2015 +0300 [MDEV-6877] Added basic tests for binlog_row_image using minimal and noblob values commit 4d856e362ec6f740cc4e916218bfc3c1c1eb12e4 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Jun 30 14:30:38 2015 +0300 [MDEV-6877] Added tests for binlog_row_image using noblobs switch commit d817267ae6469f3cccbe08a55c5d10afd1bdb42f Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Fri May 29 17:19:53 2015 +0300 [MDEV-6877] Change replication event loop to account for empty events When writing rows with a minimal row image, it is possible to receive empty events. In that case m_curr_row and m_rows_end are the same, however the event implies an insert into the table with the default values associated for that table. commit 50955075bba0c9623f362dce9496fa914ff45df5 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Tue Apr 14 15:05:14 2015 +0300 [MDEV-6877] Fixed Assertion Error, when receiving an empty event Due to how events are created with a minimal binlog_row_image, it is possible to receive empty write events because all the columns in the table have a default value. (For example an auto-increment) Make sure we account for that. commit ca276729bc46a2eb79bcddce83f76adab5f64d76 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Apr 6 17:25:52 2015 +0300 [MDEV-6877] Fixed Update_rows_log_event to correctly apply update log events Update_rows_log_event must make use of the after image bitmap when detecting which columns to update. commit 8a1b7c9c6530bfcf832cedb6fe3436636e7e4e9f Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 23:14:49 2015 +0300 [MDEV-6877] Removed unnecesary bitmap in binlog_write_row The bitmap is now deduced from the table's read and write set. commit 8bd5301a1e89aae84791c00fe810c8af7429b734 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 23:03:30 2015 +0300 [MDEV-6877] Add binlog writing according to columns The logging function now writes to the binlog according to the bitmap columns implied by the binlog_row_image variable. commit edff3f3fa91eb0433d94385cbe119e62c4a2afdb Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 20:46:21 2015 +0300 [MDEV-6877] Update Update, Delete and Write row log event The row events no longer require columns arguments. commit 724d5ae5f13d1414a0d4149918547ae50556b894 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 20:25:22 2015 +0300 [MDEV-6877] Update binlog_prepare_pending_rows_events to use comparison function When deciding which binlog events are pending, make use of the bitmap compare function instead. commit a7d181a023ae51a3bef40c3740ef38de89e06adc Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 19:31:51 2015 +0300 [MDEV-6877] Added a bitmap compare function for binlog_row_image The function compares bitmaps according to the binlog_row_image variable setting. commit c096caee71b35198d9f1fb35d1fbd5ea796cf878 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 19:22:41 2015 +0300 [MDEV-6877] Removed unneded code from rpl_injector The rpl_injector code is now considered dead code. This patch only removes the minimum number of function calls to allow implementing binlog_row_image. The other functions are to be removed in a subsequent patch. commit e53ad95b733e5a3b67b31d231616b619b634c6da Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Apr 2 19:09:40 2015 +0300 [MDEV-6877] Added mark_columns_per_bitmap_row_image Depending on which binlog_row_image we are using, we must mark columns which to update differently both in the before image as well as the after image. commit b9d1d348dd5f84e26732139ed8cfe0a4146ced4f Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sat Mar 21 20:44:53 2015 +0200 [MDEV-6877] Added test suite for binlog_row_image sys var commit 3ed519ff05fe6e5f6e1970194ed5510812c253b1 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sat Mar 21 20:43:24 2015 +0200 [MDEV-6877] Added binlog_row_image system variable The system variable is present but it does not do anything yet. commit 768620ee5c71742e2ea00063ebe1d3cdb6cc81e9 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 30 12:56:31 2015 +0400 MDEV-8189 field<>const and const<>field are not symmetric commit 1b2f9126b838b75a651406eaf3d7269613b123a0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jun 29 17:28:50 2015 -0400 Increase field value max length to 2048 to avoid truncation of wsrep_provider_options' value. Also increase the max value length for SYSTEM_VARIABLES schema table. commit 7923c0cff2fa6bc4e5f38584caae0cdddf580549 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 29 20:03:57 2015 +0300 Fix test failure where the environment was not fully restored. commit 79af0b3823aa91d30914a7e3378bf644995bea7f Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 29 14:10:37 2015 +0300 MDEV-8393: InnoDB: Assertion failure in file fil0crypt.cc line 2109 Crypt data was used when it was already freed. Delete crypt data more thorougly when freed. commit 4fac6269172eab2be0490a12936248113d14848d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 29 12:48:42 2015 +0300 MDEV-8390: innodb.innodb-flush-changed-page-bitmaps crashes Analysis: Flush changed page bitmaps calls log_online_follow_redo_log that later calls log_group_read_log_seg with release_mutex = true and that causes the log_sys mutex being released before log_decrypt_after_read function that later required log_sys mutex. Fix: Enter log_sys mutex before log_decrypt_after_read if mutex is released and release the mutex after the function if we acquired it before function call. commit 08fa60e5f3643cd87bb1e4578071f4db3557f776 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Jun 29 12:06:00 2015 +0400 MDEV-8382 - Processlist returns random numbers in Time column Time column of SHOW PROCESSLIST was returned in microseconds after rev. 8f603bc. Revert original timescale (seconds). commit a0f5f407eb7dfd7a2d7669e4f61245c72b1e0583 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Jun 25 14:21:16 2015 +0400 MDEV-8339 - Server crash during table cache eviction TDC_element::free_tables_back() had pre-lfhash leftover code, which referenced TDC_element::free_tables via TDC_element::share. This is not correct as share may be NULL (newly inserted or to be removed), instead access free_tables directly. commit 0865e3deab7be2bd49128906fe4f495460ebcbca Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Jun 24 14:58:17 2015 +0400 MDEV-7792 - SQL Parsing Error - UNION AND ORDER BY WITH JOIN ORDER BY against union may confuse name resolution context, causing valid SQL statements to fail. The purpose of context change was presumably intended for the duration of gathering field list for ORDER BY. However it isn't actually required (name resolution context is never accessed by the latter). See also alternative solution (in MySQL 5.7): 92145b95. commit ad9b3263d3c5e4784008cc748ae1af8494da3f05 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 29 08:49:58 2015 +0300 MDEV-8391: encryption.innodb-page_encryption_compression fails Test create_or_replace should make sure that background decrypt operation is finished and flush all dirty pages using restart to clean up the database before ending. commit 7567b9fa10985a57339e8f0dbaf6e654c7f65c93 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 28 18:51:40 2015 +0200 update tests to pass commit 4d4f2ed2e1eab9c18c1188806e98446166e4f666 Author: Alexander Barkov <bar@mariadb.org> Date: Sun Jun 28 18:23:15 2015 +0400 Moving Item_bool_func::add_key_fields_optimize_op() to Item_bool_func2. It's now needed outside of Item_bool_func2 any more. commit e04f6e7e3adbca3fb3bfe6f95d936e7580c5d470 Merge: ee0237fe89c 26162c71c5c Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 28 15:23:33 2015 +0200 Merge branch 'bb-10.1-serg' into 10.1 commit ee0237fe89c64b995e7979c315de5a006fe2951a Author: Alexander Barkov <bar@mariadb.org> Date: Sun Jun 28 14:29:51 2015 +0400 MDEV-8330 Get rid of Item_func::select_optimize() and Item_func::optimize_type commit 26162c71c5c2532ab08020146d4e6c32fb06a8e8 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 28 09:03:13 2015 +0200 rename {sys_vars,sql_plugin_services}.h -> *.ic commit 55b96d27089ee809dd0a4c9b3e0e3adb5a731bd4 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 28 08:51:53 2015 +0200 bump the VERSION to 10.1.6 and related changes fix two #if MYSQL_VERSION_ID > 100105 commit d1a11568c7c187b8fb62be92a3276ec0f1a89df9 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 27 20:38:05 2015 +0200 cleanup: safer versions of PSI no-op macros commit 658992699b204da04382142e77af042c8a33a334 Merge: fe7e334f3e2 a6087e7dc1e Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 27 20:35:26 2015 +0200 Merge tag 'mariadb-10.0.20' into 10.1 commit fe7e334f3e238368e18fc2ccb98b3357ecb1e03e Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 26 23:11:26 2015 +0200 cleanup: remove unused function argument commit c583360359e8cc6da82ed9c9fbb0e6091618e2fe Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 26 23:06:06 2015 +0200 unittest: encrypted temporary IO_CACHE commit 31eed4759ba30ceacdcc2aa5e12b126460318c8e Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jun 25 13:05:46 2015 +0200 cleanup: use WRITE_CACHE for view frm files SEQ_READ_APPEND is for two threads (reader and writer) simultaneously accessing the IO_CACHE commit 1ce71c847804c08c23435193763a1aa5cfa51861 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 20:58:26 2015 +0200 MDEV-7832 Add status variables to track CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE Pretend that CREATE TABLE and CREATE TEMPORARY TABLE are two different commands internally. The user doesn't need to know that they both are SQLCOM_CREATE_TABLE. Same for DROP [TEMPORARY] TABLE commit e24caa758890e0a753c0be9293a09f5d2931e377 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 20:57:39 2015 +0200 small cleanup * keep all com_xxx constants together in struct system_status_var * fix an outdated comment in sql_cmd.h * fix an off-by-one bug in mysqld.cc commit c47acc21aa5b92d301d30a6c5fee3838111246c3 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 20:47:09 2015 +0200 remove unused function and array commit 794a895c4c12bc45321c3c7000441204946d9129 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 19:46:12 2015 +0200 simplify CREATE TEMPORARY TABLE parser rule as a bonus that makes CREATE TEMPORARY TEMPORARY TABLE illegal commit bfabaf64866203b79b6ef251c89e31219ec05d9d Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 22 17:17:03 2015 +0200 Deinitialize plugins in the reverse plugin_type_initialization_order Old code worked because plugin locking guaranteed that encryption plugin is deinitialized last. But compiled-in plugins are never locked. This fixes encryption failures on fulltest builder commit ff7a1ff6d74d124e0b7f4bd8cf080ba1f894a62d Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 21 06:34:58 2015 +0200 fix printf format string commit 8036ad0a08657d074e29035a70e3ab4d4ab5adcf Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 21 06:33:45 2015 +0200 misc encryption tests fixes * support statically compiled file_key_management when possible * rename encryption.encryption_create_or_replace -> encryption.create_or_replace * delete unnecessary *.opt file (including have_key_management_plugin.inc is enough) * remove unnecessary LOWER() for strings that are compared case insensitively anyway commit 627c6e812bdb3b3acdc5493ce2cc9d47c19480d0 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 18:10:47 2015 +0200 MDEV-8298 sys_vars.all_vars fails in -DWITH_WSREP=OFF build Disable sys_vars.all_vars test. There's no need to write boilerplate tests for every new system variable, our INFORMATION_SCHEMA.SYSTEM_VARIABLES and sysvar_* tests are now used to show all basic properties of all variables. commit e7620ce4ce93c9c449b6d4ccffb7a6054a40deb4 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 19 18:05:10 2015 +0200 MDEV-8281 aes_decrypt crashes in block_crypt() fix aes_decrypt of yassl to support zero-length input commit e20be69eccff6d300ea27c508591dcc47e18932a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 27 09:40:42 2015 +0200 update test results and 32-bit rdiffs commit 55d8ee5f707bab41068d79144e6cf4a01c6eea76 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 22:49:49 2015 +0400 MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized Moving Item_func_spatial_rel from Item_bool_func to Item_bool_func2. to make OP(const,field) use indexes. - MBR functions supported OP(const,field) optimization in 10.0, but were inintentionally broken in an earlier 10.1 change that introduced a common parent for Item_func_spatial_mbr_rel and Item_func_spatial_precise_rel. - Precise functions never supported optimization for OP(const,field). Now both MBR and precise functions support OP(const,field) optimization. commit cb5f32ebe3b0c693c99d0e7c1b6bc5d6b0677f48 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 20:00:24 2015 +0400 Moving Item_func_xor out of Item_bool_func2, as it does not need any of the optimizer related functionality. commit 40e5aceaff6bbf71ea212ff514dabb41a929d496 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 17:46:34 2015 +0400 Removing Item_int_func::sargable. Adding virtual implementations of count_sargable_conds() instead for Item_func_in, Item_func_null_predicate, Item_bool_func2. There other Item_int_func descendants that used to set "sargable" to true (Item_func_between, Item_equal) already have their own implementation of count_sargable_conds(). There is no sense to have two parallel coding models for the same thing. commit 436411860ec54fda959910a3c88a1e393e1cee59 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 15:42:49 2015 +0400 Moving ST_RELATE() implementation out of Item_func_precise_spatial_rel, adding a separte class Item_func_spatial_relate for ST_RELATE(). This is a preparatory patch for: MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized commit 4f828a1cac9a9c378a2a9f3c3ef0710eaf11ce02 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 13:40:28 2015 +0400 MDEV-8214 Asian MB2 charsets: compare broken bytes as "greater than any non-broken character" commit d535728165acb2eb55140bb70fa44c458d1ccc06 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Jun 26 11:42:09 2015 +0300 MDEV-8219: enforce_storage_engine cannot be set globally Change session only variable enforce_storage_engine to be session variable and make sure that also global value is used if session variable is not set. commit a4b0063d7b1078a538e16a82132d4b696fa1a3de Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 10:58:51 2015 +0400 MDEV-8256 A part of a ROW comparison is erroneously optimized away Item_func_eq's created during conversion of a ROW equality to a conjunction of scalar equalities did not set cmp_context for its arguments properly, so some of these created Item_func_eq could be later erroneously eliminated. commit 4a7afdde868bdfaf012e262eba48d4f519787420 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 10:18:34 2015 +0400 MDEV-8373 Zero date can be inserted in strict no-zero mode through CREATE TABLE AS SELECT timestamp_field commit 115904c2c86a15bd07f4a33b0b43f6a3d6928304 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Jun 26 10:16:51 2015 +0400 MDEV-7824 [Bug #68041] Zero date can be inserted in strict no-zero mode through a default value commit 874df5092b958ca5657cf890703003d5fe63cc91 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Jun 26 08:33:14 2015 +0300 Fix failing test case. commit 9111ab7127f4e87220ca46a5f845b566c3633d69 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Jun 25 13:16:27 2015 +0500 GIS-related tests started to fail as some related functions don't return NULL-s anymore, and actually they're not BOOLEAN. Fixed. commit 42bc08b347d2e4341952f4c7bcded7a15e1b4566 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jun 25 12:51:32 2015 +0400 MDEV-8229 GROUP_MIN_MAX is erroneously applied for BETWEEN in some cases commit 1f4a89b10ca8df61ec51fcc87e1203dc72579759 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 24 23:38:04 2015 -0400 Do print SST log messages. commit 5467b12dc3894c36eba092430a785806e0d008c9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 24 23:28:42 2015 -0400 MDEV-7903 : xtrabackup SST failing with maria-10.0-galera Remove master-bin.state file on joiner node during SST. commit 9f00950d2ad9be5533e66a5fa87a795a9574585f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 24 23:25:22 2015 -0400 MDEV-7631 : Invalid WSREP_SST rows appear in mysqld-bin.index file Try not to release 0 (STDIN_FILENO) file descriptor as it can incorrectly get reused by streams opened later. commit 0f4478105f5027ce589a0f08c6019d906d632029 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jun 24 17:02:33 2015 -0400 Add close-on-exec flag to open(), socket(), accept() & fopen(). commit 565960816ec09d5712de276b1ef5402bf71b9fa7 Merge: d43df4a33ae b89de2b2ce8 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Jun 24 17:18:12 2015 +0200 Merge MDEV-8354 into 10.1 commit 70714d3597ec9ffa742cc9e173d4ad32f294cc51 Merge: 46024098be1 71d1f35847a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jun 23 16:46:12 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 71d1f35847a575239deff856590bf6f13afd74ed Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jun 23 13:48:39 2015 -0400 Update SELinux policy to allow UDP for multicast repl in galera. commit d43df4a33ae38d29ca7a471c98368b2ab562b50e Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jun 23 15:06:23 2015 +0500 These functions can never return NULL. commit b7ff2f1b59c42171ff50fc682e8f723f0713d688 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Jun 23 14:36:24 2015 +0300 MDEV-7472: Implementation of user statements for handling the xtradb changed page bitmaps Introduce a new dummy INFORMATION_SCHEMA.CHANGED_PAGE_BITMAPS table to XtraDB with reset_table callback to allow FLUSH NO_WRITE_TO_BINLOG CHANGED_PAGE_BITMAPS to be called from innobackupex. commit d3b7eb7b99ef7dae79c20b5beb63acdfdf6d8046 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jun 23 11:57:05 2015 +0500 MDEV-7528 GIS: Functions return NULL instead of specified -1 for NULL arguments. The behaviour required by the standard seems too weird to expect. commit 3e4126e9d6b21d2f330a365b0847999346485863 Merge: fb3e31203f7 9b57b214c42 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Jun 23 11:30:39 2015 +0500 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 9b57b214c421351eae2eb62048af28f8969a9039 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu May 21 13:08:46 2015 +0400 MDEV-8199 - first_breadth_first_tab() takes 0.07% in OLTP RO This is an addition to original patch: cleanups for next_breadth_first_tab(). Overhead change: next_breadth_first_tab() 0.04% -> out of radar commit 45f41b52e8f27e52388bb5e3fb6fbe4d93de161d Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu May 21 12:30:41 2015 +0400 MDEV-8199 - first_breadth_first_tab() takes 0.07% in OLTP RO Split first_breadth_first_tab() into JOIN::first_breadth_first_optimization_tab() and JOIN::first_breadth_first_execution_tab(). This allows to eliminate function call and one condition. Adjusted callers accordingly. Overhead change: first_breadth_first_tab() 0.07% -> out of radar next_breadth_first_tab() 0.04% -> 0.04% JOIN::cleanup() 0.15% -> 0.11% JOIN::save_explain_data_intern() 0.28% -> 0.24% commit 84568c296520f399da23f260151a7512393eb03b Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed May 20 12:04:32 2015 +0400 MDEV-8030 - Apc_target::disable() locks mutex twice Moved Apc_target::destroy(), Apc_target::enable() and Apc_targe::disable() definitions to my_apc.h so that they can be inlined. Apc_targe::disable() now calls Apc_target::process_apc_requests() only if there're APC requests. This saves one pthread_mutex_lock() call. Overhead change: Apc_target::disable 0.04% -> out of radar Apc_target::enable 0.03% -> out of radar Apc_target::process_apc_requests 0.02% -> out of radar pthread_mutex_lock 0.43% -> 0.42% pthread_mutex_unlock 0.26% -> 0.25% commit fb3e31203f74ec95c99e9ec4123debf67d8815e4 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Jun 22 23:33:35 2015 +0500 MDEV-7925 Inconsistent behavior of ST_Touches with a POINT as one of arguments. Some cases of the feature's borders were treated incorrectly. commit 0357791e3c291c47fe128954dac45c271f721b2a Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Mon Jun 22 08:44:46 2015 +0300 MDEV-8280: crash in 'show global status' with --skip-grant-tables The crash was caused by attempting to use a hashtable without it getting initialized, due to the --skip-grant-tables switch. commit 46024098be1d7887134a3a3d8d289dd7711c56dc Merge: 41d40029875 a6087e7dc1e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jun 21 23:54:55 2015 -0400 Merge tag 'mariadb-10.0.20' into 10.0-galera commit 41d40029875bfd7f4cd6a5255e05a3c93103220f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jun 21 23:09:10 2015 -0400 Remove duplicate script added due to bad merge. commit 327409443fa5631b98e65b0c1cce1cfb6e05f723 Merge: fc716dc5a5a 5a44e1a4024 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jun 21 21:50:43 2015 -0400 Merge tag 'mariadb-5.5.44' into 5.5-galera commit cbb8b2d033359fb6e4ebfa00e059b47e60442b8e Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Jun 20 05:01:16 2015 +0300 More testcases. commit ebe2bd74fe7e30306feefae7acf201d18cbec267 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Jun 20 04:20:18 2015 +0300 MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP BY ANALYZE should also record remove_duplicates() operation. commit fc716dc5a5abd6997310256a1f846e39ea5bf312 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 19 19:25:15 2015 -0400 MDEV-8260 : Issues related to concurrent CTAS * Wait for aborted thd (victim) to release MDL locks * Skip aborting an already aborted thd * Defer setting OK status in case of CTAS * Minor cosmetic changes * Added a test case commit f33173d19e7ff25c7b185b23172e248ee5df7b4c Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Jun 19 21:31:16 2015 +0300 MDEV-8282: crash in filesort() with simple ordered delete Handle the case where the optimizer decides to use handler->delete_all_rows(), but then this call returns HA_ERR_UNSUPPORTED and execution switches to regular row-by-row deletion. commit 12d9fe14bea38eaa2ff0f5edeea22d4c7a5debed Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Jun 17 13:09:22 2015 +0400 MDEV-7956 - handler::rebind_psi() takes 0.07% in OLTP RO Do not call handler::rebind_psi() and handler::unbind_psi() when performance schema is compiled out. Overhead change: handler::rebind_psi 0.04% -> out of radar handler::unbind_psi 0.03% -> out of radar open_table 0.21% -> 0.18% close_thread_table 0.05% -> 0.05% commit 8f603bcbcac4a9091b6adbca3fd3655a947e759a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Jun 17 18:55:38 2015 +0400 MDEV-7952 - clock_gettime() takes 0.24% in OLTP RO Initialize abs_timeout when it is about to be used. This saves one my_hrtime() call on hot path (when we acquire MDL lock without waiting). When filling I_S.PROCESSLIST use THD::start_utime/THD::utime_after_query instead of THD::start_time. This allows us to save 2 clock_gettime() calls. Overhead change: __clock_gettime 0.13% -> 0.11% (122 -> 76 calls per OLTP RO transaction) my_interval_timer 0.07% -> 0.06% my_hrtime 0.04% -> 0.01% commit 2bc6e29afeea374aa0ef4bc36c7a7b649c20d959 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Jun 19 15:04:58 2015 +0400 MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO Pass THD to Sort_and_group_tracker::report_sorting(). This reduces number of pthread_getspecific() calls from 292 to 290. commit 360176f397c08392589b75da62e91c7e79c7c367 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Jun 18 18:01:56 2015 +0400 MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO Pass THD to Item_field (and all derivatives) constructors. This reduces number of pthread_getspecific() calls from 322 to 292. commit b85e5efca3032c73b86223ba8799d3be98e5bea9 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Apr 28 15:20:48 2015 +0400 MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO Pass THD to find_all_keys() and Item_equal::Item_equal(). In MRR use table->in_use instead of current_thd. This reduces number of pthread_getspecific() calls from 354 to 320. commit 2b253ed41fb606de3c6d8573f95f69ae2faf18d3 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Jun 17 12:37:19 2015 +0400 MDEV-8324 - MariaDB fails to build with performance schema disabled Various fixes to let MariaDB compile with performance schema disabled. commit 8c44fd63ac61161e92e7feb55d693d72aebac68d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 19 00:17:25 2015 -0400 MDEV-8239 : Idle threads post-execution end up in closing tables state Set thd's state to 'committed' only after it has done closing tables (called indirectly by relay_group_info::cleanup_context()). commit 366cda49370eedb50dbb53ee53d3cd907c59e76d Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jun 18 23:27:44 2015 +0400 Adding "const" qualifier into a few methods in Field. commit 091f67738e2bede5df2001eedd4be76d9473370d Author: Alexander Barkov <bar@mariadb.org> Date: Thu Jun 18 22:16:44 2015 +0400 Removing duplicate code: Adding a protected method Field_temporal_with_date::validate_for_get_date() and reusing it in a few places. commit f5ddffd83e627cc0f6a24dfe4d8fc2e0c983bf78 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jun 18 19:58:57 2015 +0300 MDEV-8156: Assertion failure in file log0crypt.cc line 220 on server restart Instead of asserting print informative error message to error log and return failure from innodb_init causing the server to shutdown. commit 6050ab658696925f2a031b901eb398fff65fa92a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jun 18 09:59:09 2015 -0400 MDEV-6829 : SELinux/AppArmor policies for Galera server Add SELinux policy and AppArmor profile under policy/. commit e2a59eba5d8ca8c2d34699ac7871a26435587b9b Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 18 14:52:17 2015 +0300 Make dbug_print_item() print conditions in siccint form commit caf4291d2945bb99939402ef9e0a00958cfa07ca Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 18 14:51:50 2015 +0300 Remove garbage comment commit eb2c170bb03fb7c98d3bd864bae46ddfb8c3acb5 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Jun 18 08:38:33 2015 +0300 MDEV-8303; Dumping buffer pool noisy in the logs. Added new dynamic configuration variable innodb_buf_dump_status_frequency to configure how often buffer pool dump status is printed in the logs. A number between [0, 100] that tells how oftern buffer pool dump status in percentages should be printed. E.g. 10 means that buffer pool dump status is printed when every 10% of number of buffer pool pages are dumped. Default is 0 (only start and end status is printed). commit b94eaff8d90a60b9dea3b5b68fbde3d35563127b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jun 17 09:12:26 2015 +0300 MDEV-8310: Encryption bogus message still in 10.1.5 Moved warning print to debug builds only because on production these messages are unnecessary. commit 6a92fa4be53b03e854e3506b1e3a0839938af135 Merge: b1b0db294f4 93c039dd3ca Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Jun 15 08:28:04 2015 +0200 Merge branch 'mdev8294' into 10.1 commit b1b0db294f40590bbdfb84449dca507a6fa0ad0f Merge: f965cae5fb0 682ed005c57 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Jun 10 12:42:18 2015 +0200 Merge MDEV-8294 into 10.1 commit f965cae5fb04a9fd06a939a8f2b52228a62ce9fa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jun 5 11:43:05 2015 -0400 MDEV-7110 : Add missing MySQL variable log_bin_basename and log_bin_index Add log_bin_index, log_bin_basename and relay_log_basename system variables. Also, convert relay_log_index system variable to NO_CMD_LINE and implement --relay-log-index as a command line option. commit c94789c3d38831fb7ad0781b97b28abb8a17a165 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 9 15:35:25 2015 +0400 Adding a test for: MDEV-8167 XOR returns bad results for an indexed column The bug itself was earlier fixed by one of the earlier changes. commit b0928711e048a164fcc0e7bf64a4190a82f09b57 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 9 15:02:53 2015 +0400 Adding a test for "MDEV-6973 XOR aggregates argument collations". The bug itself was earlier fixed by this patch: commit 3709c7fc6d46c624c24523907eb2a0ad8a1e5062 MDEV-8222 "string_field LIKE int_const" returns a wrong result in case of UCS2 MDEV-8257 Erroneous "Impossible where" when mixing decimal comparison and LIKE commit 70b82efd20ec6682a6ede8552b1109d04d372e0c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 8 19:36:35 2015 +0300 MDEV-8273: InnoDB: Assertion failure in file fil0pagecompress.cc line 532 Analysis: Problem was that actual payload size (page size) after compression was handled incorrectly on encryption. Additionally, some of the variables were not initialized. Fixed by encrypting/decrypting only the actual compressed page size. commit 4a6a61cb8190ad5b8fc3993b15e0fa48bcb730a5 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Jun 8 08:09:33 2015 +0300 MDEV-8268: InnoDB: Assertion failure in file buf0buf.cc line 5842 failing assertion ut_a(free_slot != NULL); Analysis: Problem is that there is not enough temporary buffer slots for pending IO requests. Fixed by allocating same amount of temporary buffer slots as there are max pending IO requests. commit d7f3d889de2a4f2a828de288175e7095bc838b6b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Jun 5 08:41:10 2015 +0300 MDEV-8272: Encryption performance: Reduce the number of unused memcpy's Removed memcpy's on cases when page is not encrypted and make sure we use the correct buffer for reading/writing. commit f744b2a15ff3a8e2b93ae4f17ffe5a22af9bcd88 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 9 12:08:46 2015 +0400 MDEV-8283 crash in get_mm_leaf with xor on binary col commit 3a9a3b98b729b9095e6f24ff0595299ad2b3d24a Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Jun 8 00:03:52 2015 +0200 Fix test txt files line endings commit 7482f073ae8677e7fcfd2bb60087bd76dfc8a8d9 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat Jun 6 19:23:06 2015 +0200 Commit od last modifications made for version 10.0 commit 1c756512b0d67e39961ee3c54872af5041f08248 Merge: 5d038d37348 f8fa5fe1bc9 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jun 5 23:54:19 2015 +0200 Commit win and CONNECT resolved files commit 5d038d373489217f748e5068f6b6357c83fb051a Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jun 5 23:33:23 2015 +0200 commit win/ changes commit 93fc04ff1dc613a9ad75ccc57988a6b57b94b6cb Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Jun 6 00:32:27 2015 +0300 MDEV-6995: EXPLAIN JSON and ORDER BY, GROUP BY, etc - Make ANALYZE correctly remember and report filesort() calls - Temp.table use is collected but only basic info is reported. commit f8fa5fe1bc9023e0e9fac5b05515b94ed04289cb Merge: 9dee994d992 f7002c05ae4 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jun 5 23:24:39 2015 +0200 Commit merge resolve commit 2b2c61cc794954ce179e7ef468ee6b57becc287f Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri Jun 5 17:21:04 2015 +0200 Commit changes to json_udf.inc commit f7002c05ae4e4a09bc6859ccc568064cfd6bb268 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jun 3 13:10:18 2015 +0300 MDEV-8250: InnoDB: Page compressed tables are not compressed and compressed+encrypted tables cause crash Analysis: Problem is that both encrypted tables and compressed tables use FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION to store required metadata. Furhermore, for only compressed tables currently code skips compression. Fixes: - Only encrypted pages store key_version to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION, no need to fix - Only compressed pages store compression algorithm to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION, no need to fix as they have different page type FIL_PAGE_PAGE_COMPRESSED - Compressed and encrypted pages now use a new page type FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED and key_version is stored on FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION and compression method is stored after FIL header similar way as compressed size, so that first FIL_PAGE_COMPRESSED_SIZE is stored followed by FIL_PAGE_COMPRESSION_METHOD - Fix buf_page_encrypt_before_write function to really compress pages if compression is enabled - Fix buf_page_decrypt_after_read function to really decompress pages if compression is used - Small style fixes commit 2a3166feff2ab25b4481dac51561a4f7f590e8c2 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jun 3 17:54:11 2015 +0200 Fix swapping key numeric values on Big Endian machines. Fix typo error in CntIndexRange (kp instead of p) Change version date modified: storage/connect/connect.cc modified: storage/connect/ha_connect.cc commit 5a9e2e62bf2e788eeb289ef00bdbe38919515523 Merge: 36d2bd6a15a 30fd69e6058 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jun 3 16:59:45 2015 +0200 Merge branch '10.1' of https://github.com/Buggynours/MariaDB into 10.1 commit 36d2bd6a15ae55da9939b052e3d7a31fe0cf7e75 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed Jun 3 16:58:42 2015 +0200 Handle ODBC table null values modified: tabodbc.cpp commit cd70bed05e506ce1ca3535ada265c4d09f633b49 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jun 3 11:12:50 2015 +0200 fix for 32-bit tests commit 6d5b723bdc3e04978619b9673fca266e0426916f Merge: 3eb8bc01b68 9eff9ed5c58 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jun 2 13:27:39 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 51d67633ef52044314afff1370e9b2e9894595ff Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 20:53:41 2015 +0200 AES-GCM support in file_key_management plugin commit 0f0092720f4371556044695fa90a69b5e54a14cf Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 20:53:16 2015 +0200 my_aes_encrypt_gcm() and my_aes_decrypt_gcm() commit ebc5e00641ea63d91a65921ea827f448064f9a7e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 19:41:29 2015 +0200 my_aes_get_size() return unsigned, not signed. return a value large enough for GCM commit 487e5f45908c04d63a9becf1078ecaeaf658f0ae Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 12:18:29 2015 +0200 file_key_management plugin: complain if key id 1 is not found and don't recommend aes_ctr if it's unavailable commit 432b78c90376aac4fda94317fd20eced33d08230 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 12:08:13 2015 +0200 just like tempfiles: use key id 2 for temp Aria tables introduce ENCRYPTION_KEY_SYSTEM_DATA and ENCRYPTION_KEY_TEMPORARY_DATA constants; use them everywhere. commit d9340d6c8e1b227044fc90bc40c5da1d1f6b0dcc Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 00:18:20 2015 +0200 MDEV-8126 encryption for temp files IO_CACHE tempfiles encryption commit 318c826e932af69a864726efd24819d1cfa8dc8a Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 26 22:09:40 2015 +0200 always use my_b_pread() instead of mysql_file_pread() when working with IO_CACHE's, don't access IO_CACHE::file directly commit 6309a30dc96f6c3615b8c5609f07f9bc3898352c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri May 22 14:07:35 2015 +0200 my_b_fill, inline my_b_* functions instead of hairy macros commit 196e8529837558a72baf31d012285cc283b8e95d Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 18 11:54:55 2015 +0200 misc IO_CACHE cleanups * remove unused (and not implemented) WRITE_NET type * remove cast in my_b_write() macro. my_b_* macros are function-like, casts are responsibility of the caller * replace hackish _my_b_write(info,0,0) with the explicit my_b_flush_io_cache() in my_b_write_byte() * remove unused my_b_fill_cache() * replace pbool -> my_bool * make internal IO_CACHE functions static * reformat comments, correct typos, remove obsolete comments (ISAM) * assert valid cache type in init_functions() * use IO_ROUND_DN() macro where appropriate * remove unused DBUG_EXECUTE_IF in _my_b_cache_write() * remove unnecessary __attribute__((unused)) * fix goto error in parse_file.cc * remove redundant reinit_io_cache() in uniques.cc * don't do reinit_io_cache() if the cache was not initialized in ma_check.c * extract duplicate functionality from various _my_b_*_read functions into a common wrapper. Same for _my_b_*_write * create _my_b_cache_write_r instead of having if's in _my_b_cache_write (similar to existing _my_b_cache_read and _my_b_cache_read_r) * don't call mysql_file_write() from my_b_flush_io_cache(), call info->write_function() instead commit 1841557e407038e3611b0788eaf70fd3d8eb043e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 27 21:43:25 2015 +0200 myisam/aria: don't mess with IO_CACHE::file that is, don't create a "temporary" IO_CACHE with file==-1 and manually swap it later to the valid file descriptor. commit 80e61ae21e2373ee73407f91f596b11c2c46e7d9 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 16 08:48:52 2015 +0200 cleanup: LOAD DATA replication support in IO_CACHE remove some 14-year old code that added support for LOAD DATA replication to IO_CACHE: * three callbacks, of which only two were actually used and that were only needed for LOAD DATA replication but were tested in every IO_CACHE instance * an additional opaque void * argument in IO_CACHE, also only used for LOAD DATA replication, but present everywhere * the code to close IO_CACHE prematurely in LOAD DATA to have these callbacks called in the correct order and a long comment explaining what will happen if IO_CACHE is not closed prematurely * a variable to track whether IO_CACHE was closed prematurely (to avoid double-closing it) commit 91dab5ddb6accbb256e7089aea8ba38e66a1b0cf Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 2 18:09:53 2015 +0200 fix cmake dependencies perfschema after 5.6 merge depends on sql_yacc.h commit 72d01f24260045de558e84f941c48ed135cdb437 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 2 12:55:00 2015 +0200 remove few #ifdefs in innodb/xtradb commit 5fc53b7cfed0135e12cedb18c83823b8318f9267 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Jun 2 15:39:14 2015 +0400 MDEV-8202 - st_select_lex::master_unit() takes 0.17% in OLTP RO To make st_select_lex::master_unit() inlinable: - moved it's definition to sql_lex.h - removed base class virtual master_unit() declaration since this method is specific to st_select_lex Overhead change: st_select_lex::master_unit() 0.17% -> out of radar execute_sqlcom_select() 0.13% -> 0.12% JOIN::save_explain_data_intern() 0.27% -> 0.23% JOIN::optimize_inner() 0.76% -> 0.72% JOIN::exec_inner() 0.30% -> 0.24% JOIN::prepare() 0.30% -> 0.29% JOIN::optimize() 0.05% -> 0.05% commit adb952f548be1cf07ee12a8876ee2f26d0737458 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Jun 2 15:37:04 2015 +0400 MDEV-8192 - THD::set_command() takes 0.05% in OLTP RO Moved THD::set_command() definition to sql_class.h so that it can be inlined. Overhead change: THD::set_command 0.05% -> out of radar commit d298b02233b6f6be71208418bec6243123593c3c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Jun 2 15:35:02 2015 +0400 MDEV-8191 - THD::set_query() takes 0.07% in OLTP RO Moved THD::set_query() definition to sql_class.h so that it can be inlined. Overhead change: THD::set_query 0.07% -> out of radar commit 3709c7fc6d46c624c24523907eb2a0ad8a1e5062 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jun 2 15:42:01 2015 +0400 MDEV-8222 "string_field LIKE int_const" returns a wrong result in case of UCS2 MDEV-8257 Erroneous "Impossible where" when mixing decimal comparison and LIKE commit 30fd69e6058169b35d1a00ae362b4f60329b6738 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jun 2 11:53:22 2015 +0200 Handle ODBC table null values modified: tabodbc.cpp commit e8ea671c2523f56fce0eacabbba05689aa4824f9 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue Jun 2 10:34:51 2015 +0200 Commit changes pulled from ob-10.0 commit 8f92a70e214837f092b9e0c06b645654377f03d6 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 2 09:26:16 2015 +0200 update for 32-bit, again commit 0d54cb12eb77c4c8c90e9833ec3df47c70c0ade7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 21:35:02 2015 +0200 compilation failure on windows commit 2133230305f754b5c25295852a401c6a79aff2c3 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 21:31:31 2015 +0200 avoid ulong sysvars, prefer uint or ulonglong ulong is not portable - different width on different architectures commit 78c10ccad8b913f91831c3cd8cb62e5930943556 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 17:31:39 2015 +0200 MDEV-7913 main.openssl_6975 'tlsv10' fails in buildbot on Wheezy and Precise version_ssl_library should show the version of openssl library that is being used, not the one that server was compiled with. commit 9c41b35b6aa7eba86273f8634dd6d633b140211e Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 16:33:41 2015 +0200 MDEV-8220 Server crashes if started with --enforce-storage-engine option commit d60257454213ac465c94b441fca477524b7dee82 Merge: fce4ab0ab40 528378920b8 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 16:01:42 2015 +0200 Merge remote-tracking branch 'github/10.1' into 10.1 commit fce4ab0ab405e112035bda98176c5834200d26df Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 16:01:23 2015 +0200 generalize ER_TABLE_NEEDS_UPGRADE to work for views too commit 5091a4ba755250ed8e35f4f5a39a118d476cd8f1 Merge: 84eaf0911f3 0880284bf71 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 1 15:51:25 2015 +0200 Merge tag 'mariadb-10.0.19' into 10.1 commit 528378920b803efd7ba4d3f54fc998cfa8a5c5c9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun May 31 08:10:07 2015 +0300 Fix test warnings by adding global supression to InnoDB warnings. commit 13235a549dfba54683520bf21f47df5e676792a8 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun May 31 07:53:20 2015 +0300 Fix compiler warning. commit 59815a268b37a9859c31d6add4546f4c6a7ef6aa Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri May 22 08:24:59 2015 +0300 MDEV-7484: Log Time not consistent with InnoDB errors nor with MySQL error log time format commit 84eaf0911f311acba797c265ef7508ab6c108b35 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 30 14:06:17 2015 +0200 MDEV-7913 main.openssl_6975 'tlsv10' fails in buildbot on Wheezy and Precise don't run this test on 1.0.1c commit 3839e91223528cb3435f48e13cf4832dfd009a84 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sat May 30 12:13:45 2015 +0300 MDEV-8248: mysqldump incorrect identifier quoting during equality comparison Use quote_for_equal to correctly escape characters. commit ae4b24340d8f6d23ef7f4a82df3f981d65d9b060 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Thu Mar 19 15:16:22 2015 +0200 MDEV-6714 mysqldump slow with tables in big databases mysqldump now attempts to make use of the INFORMATION_SCHEMA tables. If the table name is not found with a case sensitive search, it fallbacks to a case insensitive search. commit c6b42128215662b231e60e35c8bc1e0830e733ed Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 30 09:13:49 2015 +0200 temporarily disable failing test commit 0f01bf267680244ec488adaf65a42838756ed48e Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu May 28 07:59:57 2015 +0200 MDEV-8241: Debug build on Windows is broken: error LNK2019: unresolved external symbol pthread_detach referenced in function ma_checkpoint_init pthread_detach() replaced with pthread_detach_this_thread() pthread_detach_this_thread() definition fixed commit c1c22c043b5981aa767120a67b754c2ba4fbfe1f Author: Sergei Golubchik <serg@mariadb.org> Date: Fri May 29 21:23:52 2015 +0200 update test results (yes, we no longer add all variables to sys_vars suite!) commit 903cfde149778daf67d21144a1172e1ef998599e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri May 29 11:26:46 2015 -0400 MDEV-7067: Server outputs Galera (WSREP) information, even if Galera is disabled * mysqld_safe: Since wsrep_on variable is mandatory in 10.1, skip wsrep position recovery if its OFF. * mysqld: Remove "-wsrep" from server version * mysqld: Remove wsrep patch version from @@version_comment * mysqld: Introduce @@wsrep_patch_version commit 1b00edc49a2f1e0a1995fc0562639d90d4c19ca2 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu May 21 16:31:24 2015 +0200 MDEV-7011: MAX_STATEMENT_TIME has no effect in a procedure after a previous successful statement Do not reset timer inside stored procedures and functions. commit 34e01f80e4b68aa4fc9791637c516cdafdf03d5b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 28 10:03:12 2015 +0200 restore innodb_encrypt_tables validation function that was apparently lost in 20c23048: commit 20c23048c1d2f28942f2f99e4150a58b6545c0cd Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun May 17 14:14:16 2015 +0300 MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing This also reverts 8635c4b4: commit 8635c4b4e66712558330d9534491af0c9025e4dc Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 21 11:02:03 2015 +0300 Fix test failure. commit 5443b9db21e0d38672928d58d631dbd6decbb319 Author: Alexander Barkov <bar@mariadb.org> Date: Thu May 28 16:00:05 2015 +0400 Moving "bool abort_on_null" from Item_bool_func2 to Item_func_eq, as it's not used by the other Item_bool_func2 descendands. commit 979c5049ef6fdd55c29fa5170a96c62d2a8a6823 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 28 07:52:27 2015 +0300 MDEV-8242: encryption.innodb_page_encryption_key_change fails in buildbot Forgot that echo will also expand variables and path might be different. commit ab5094beabb9cde484fdfa442965c79e44167e38 Author: Alexander Barkov <bar@mariadb.org> Date: Wed May 27 21:41:02 2015 +0400 Fixing typos in DBUG_ENTER() comments. commit 5991efc38222b53a66c64587f71c2941288011ac Author: Alexander Barkov <bar@mariadb.org> Date: Wed May 27 21:32:35 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step #8: Adding get_mm_tree() in Item_func, Item_func_between, Item_func_in, Item_equal. This removes one virtual call item->type() in queries like: SELECT * FROM t1 WHERE c BETWEEN const1 AND const2; SELECT * FROM t1 WHERE c>const; SELECT * FROM t1 WHERE c IN (const_list); commit a25ccd4f83912e02091abe1cba8515266483559b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 27 15:37:13 2015 +0300 MDEV-8238: Tables with encryption=yes using file_key_management plugin are not encrypted Analysis: Problem was that encryption was skipped. Fixed by making sure that tables with ENCRYPTED=YES are encrypted. commit 2bea4bd9ed7ebdee60a70918816c46d2cf3362b9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue May 26 14:59:39 2015 +0300 MDEV-8233: InnoDB: Assertion failure in fil_page_decompress with encrypted tables Analysis: Problem was that used compression method needs to be stored to the page. Fixed by storing compression method after key_version to the page. commit 0dc14257cbdf0f40cbe36bdc7019a477ff02c931 Author: Alexander Barkov <bar@localhost.localdomain> Date: Wed May 27 12:03:20 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step #7 (mostly preparatory for the next step #8): Splitting the function get_mm_parts() into a virtual method in Item. This changes a virtual call for item->type() into a virtual call for item->get_mm_tree(), but also *removes* one virtual call Item_cond::functype(), which used to distinguish between COND_AND_FUNC vs COND_OR_FUNC. commit 58d7e35f592392fc793611379f40f649919d3869 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 27 11:00:46 2015 +0300 Fixed innodb_scrub_background test. commit 1734bea8b3f6419033fe403b38bb583a9eb0f16a Merge: 8c0ea281bfe 903f8dc72d3 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue May 26 15:56:32 2015 +0200 Merge with latest 10.1 commit 8c0ea281bfe456d81e24725f380dc6ad7ef62a0d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue May 26 16:09:36 2015 +0300 MDEV-8213: encryption.encryption_force, encryption.encrypt_and_grep fail with valgrind warnings (Invalid read) Analysis: Problem was that code used old pointer. Fixed by using correct pointer. commit 903f8dc72d3b8c8036bb8fbeec51d503b732b4cf Merge: 5bd25a9c530 e5f1e841dc3 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue May 26 15:03:22 2015 +0200 Merge MDEV-8147 into 10.1 commit 5bd25a9c530dc5d059f6153abf36639c0e213cb0 Author: Alexander Barkov <bar@localhost.localdomain> Date: Tue May 26 11:59:17 2015 +0400 A helper patch for "MDEV-8228 Move Item_func_like out of Item_bool_func2" - Changing Comp_creator::create() and create_swap() to return Item_bool_rowready_func2 instead of Item_bool_func2, as they can never return neither Item_func_like nor Item_func_xor - Changing the first argument of Comp_create::create() and create_swap() from THD to MEM_ROOT, so the method implementations can now reside in item_cmpfunc.h instead of item_cmpfunc.cc and thus make the code slightly easier to read. commit b3aece9b99c2d6c230725f8d1557b95e6bcffd80 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon May 25 09:38:47 2015 +0300 MDEV-8209: encryption.encrypt_and_grep fails in buildbot and outside Problem is that when encryption/decryption is marked done on memory cache, dirty pages might not be physically written. Fixed by adding sleep on test. commit 9eff9ed5c58e782abf383a52a7e691a55b4798a2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun May 24 13:30:49 2015 -0400 MDEV-8208 : Sporadic SEGFAULT on startup During server start, as wsrep initialization happens before plugin_init(), segfault may occur if wsrep THDs try to access the uninitialized maria_hton. commit 536112dd30bbe68e1b0624ed68fbf96e333d9f80 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 21 15:07:19 2015 +0300 MDEV-8195: InnoDB: Error: trying to access tablespace 11262 page no. 7, InnoDB: but the tablespace does not exist or is just being dropped. Analysis: Problem was that we did try to read from tablespace that was being dropped. Fixed by introducing a new function to find a tablespace only if it is not being dropped currently and adding this check before trying to read pages from tablespace. commit 8635c4b4e66712558330d9534491af0c9025e4dc Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 21 11:02:03 2015 +0300 Fix test failure. commit 137ba7d6f9c661f544ba1c71adcbfdd60a3dee75 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 21 08:14:35 2015 +0300 Fix compiler error. commit 925b64124acb50e144af5001cc97724d12ce5d40 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 20 20:32:10 2015 +0300 MDEV-8182: Failing assertion: 1 == UT_LIST_GET_LEN(space->chain) Analysis: At fil_spage_get_space there is small change that space is found from tablespace list but we have not yet created node for it (and added it to space->chain) and as we hold fil_system mutex here fil_node_create can't continue. Fixed by allowing UT_LIST_GET_LEN(space->chain) == 0|| 1 and introducint two new functions that access filespace list and before returning space check that node is also created. commit 3e55ef26d49a900782d2c2bb2c03470faed6ec9d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 20 13:35:51 2015 +0300 MDEV-8173: InnoDB; Failing assertion: crypt_data->type == 1 Make sure that when we publish the crypt_data we access the memory cache of the tablespace crypt_data. Make sure that crypt_data is stored whenever it is really needed. All this is not yet enough in my opinion because: sql/encryption.cc has DBUG_ASSERT(scheme->type == 1) i.e. crypt_data->type == CRYPT_SCHEME_1 However, for InnoDB point of view we have global crypt_data for every tablespace. When we change variables on crypt_data we take mutex. However, when we use crypt_data for encryption/decryption we use pointer to this global structure and no mutex to protect against changes on crypt_data. Tablespace encryption starts in fil_crypt_start_encrypting_space from crypt_data that has crypt_data->type = CRYPT_SCHEME_UNENCRYPTED and later we write page 0 CRYPT_SCHEME_1 and finally whe publish that to memory cache. commit 893631a8c188817e3294edc11de2087630dde801 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Wed May 20 12:39:17 2015 +0200 All the last changes made in the ob-10.0 branch including also changes of line endings of some test files commit 44cd6f22d4fdf7df8da6bb00caf6493f715854bc Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed May 20 11:36:26 2015 +0200 MDEV-7921: main.sp_sync fails in buildbot with valgrind Part 2: detauch service thread. commit c1fb91ef7386d09cc1f61a7c2a653e66200c82af Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon May 18 17:34:50 2015 +0200 MDEV-7921: main.sp_sync fails in buildbot with valgrind Part 1: first 2 cases of valgrind complain. context_analysis_only can be used on non-started LEX (opening tables) obviouse fixes in DBUG and is_lex_started assignment. commit 80333ad847d9f1708fa02fb47a976e96f014bc50 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 20 07:57:55 2015 +0300 Add missing requirement to test case and remove unnecessary output. commit bb15b9e29b33041b95f3dfa7b984de123162f2d3 Author: Alexander Barkov <bar@localhost.localdomain> Date: Tue May 19 17:03:18 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO commit bac6bbab804b6e5428fe9413069148c1dd701a3e Author: Vicentiu Ciorbaru <vicentiu@mariadb.org> Date: Tue May 19 12:04:09 2015 +0000 [MDEV-8063]: Fix incorrect commit. The previous commit did not contain the reviewed changes and introduced a behaviour problem for the explain statement. This fixes the issue. commit 29c7aff76784ff2b8329387f69c73e7282f28b2a Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Mon May 18 01:35:47 2015 +0000 MDEV-8063: Unconditional ANALYZE DELETE does not delete rows When detecting a statement that can make use of ha_delete_all_rows(), we refrained from running the statement when being presented with the analyze or explain prefix. commit 20c23048c1d2f28942f2f99e4150a58b6545c0cd Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Sun May 17 14:14:16 2015 +0300 MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing or alike Analysis: Problem was that tablespaces not encrypted might not have crypt_data stored on disk. Fixed by always creating crypt_data to memory cache of the tablespace. MDEV-8138: strange results from encrypt-and-grep test Analysis: crypt_data->type is not updated correctly on memory cache. This caused problem with state tranfer on encrypted => unencrypted => encrypted. Fixed by updating memory cache of crypt_data->type correctly based on current srv_encrypt_tables value to either CRYPT_SCHEME_1 or CRYPT_SCHEME_UNENCRYPTED. commit 0bfae356d4f774c939a5642cd19ee6bfc682b8e7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat May 16 11:11:26 2015 -0400 MDEV-8166 : Adding index on new table from select crashes Galera cluster In wsrep, CTAS should be handled like a regular transaction. Added a test case. commit 476dfb16034f1af4c99e683fd612eec16ab1661a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 16 08:55:21 2015 +0200 update big tokudb test results after dd8f93195 that is, after commit dd8f931957e0c6fb538fffff76f40239e624096c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 02:36:54 2015 +0200 be less annoying about sysvar-based table attributes do not *always* add them to the create table definition, but only when a sysvar value is different from a default. also, when adding them - don't quote numbers commit 9cc7eb3226dc9bcadf42b57786d6e4380221b67a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 16 16:27:36 2015 +0200 upate test results after 2300fe2e that is, after commit 2300fe2e0ed59e36046bb867cc7499bf4c3d7c27 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 13 21:57:24 2015 +0200 Identical key derivation code in XtraDB/InnoDB/Aria commit 54672a4f1ec876cf4ae8e1b87cbb1f66698cbac0 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri May 15 09:54:41 2015 +0200 MDEV-8043 innodb tablespace encryption "use after free" bug, when a thread replaces space->crypt_data and frees the old crypt_data object while it's being used by another thread. commit e5989d52a770c85dac0d82b0a926042a0d328374 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 14 12:27:49 2015 +0200 InnoDB: simplify innobase_compression_algorithm_validate() commit 8815fb3d45c1e9551a6fcb8a76e61a33795e6e7f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 14 12:25:47 2015 +0200 MDEV-8158 InnoDB: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID on dynamic change of encryption variables don't allow to enable srv_encrypt_tables if no encryption plugin is loaded commit 8827eb83259015ad5965e9b7456200129daad175 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 14 10:35:30 2015 +0200 MDEV-8162 func_str crashes on SELECT AES_DECRYPT(AES_ENCRYPT(...)) on line 107 encrypting 0 byte string *is* possible commit 8258a34800832b1713711d12f6a836c2fc5af19e Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 14 10:13:03 2015 +0200 InnoDB: check if scrubbing is enabled before scanning the tablespace commit a94cabd503aab31afd99b99e3d1d0ace221c004a Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 14 08:37:34 2015 +0200 MDEV-8159 InnoDB: Failing assertion: key_state->key_id to simplify various checks, set crypt_data->key_id even for not encrypted tablespaces commit 2300fe2e0ed59e36046bb867cc7499bf4c3d7c27 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 13 21:57:24 2015 +0200 Identical key derivation code in XtraDB/InnoDB/Aria * Extract it into the "encryption_scheme" service. * Make these engines to use the service, remove duplicate code. * Change MY_AES_xxx error codes, to return them safely from encryption_scheme_encrypt/decrypt without conflicting with ENCRYPTION_SCHEME_KEY_INVALID error commit 3eb8bc01b6876dc9dbacb82179127a58f4b86e79 Merge: 14b816a5c88 8fdf8f00c71 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu May 14 21:53:48 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit 14b816a5c8899e9c7cbccf7dd394032af0896223 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu May 14 21:48:54 2015 -0400 Disabling some more sporadically failing galera tests. commit 8fdf8f00c714471d499c0e9206940f3f2e8a22f3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu May 14 14:25:02 2015 -0400 mysql-wsrep#38 : wsrep_sst_xtrabackup-v2 script causes innobackupex to ..print a false positive stack trace into the log Suppress the stacktrace that innobackupex dumps on receiving SIGPIPE. commit 632f2307f775d255bab948de2178feb85fcac970 Author: Alexander Barkov <bar@mariadb.org> Date: Thu May 14 17:42:40 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step#5: changing the function remove_eq_conds() into a virtual method in Item. It removes 6 virtual calls for Item_func::type(), and adds only 2 virtual calls for Item***::remove_eq_conds(). commit fb3e9352a42338f4221caa7e0cb6c6f62eb9f2be Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu May 14 12:44:07 2015 +0400 MDEV-7999 - PROFILING routines take 0.2% when profiling disabled This is an addition to original patch. Embedded server does extra calls of PROFILING::start_new_query() and PROFILING::finish_current_query(), which cause DBUG_ASSERT(!current) failure. Removed these extra calls: dispatch_command() does all needed job. commit 18f88d6d94ce9f65991e011c978c79d990498704 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 22 14:18:51 2015 +0400 MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO Avoid calling current_thd from thd_kill_level(). This reduces number of pthread_getspecific() calls from 776 to 354. Also thd_kill_level(NULL) is not permitted anymore: this saves one condition. commit f8cacd03a79e56746434f7c12e2ed8dd6a534b8e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 13 11:41:22 2015 +0300 MDEV-8143: InnoDB: Database page corruption on disk or a failed file read Analysis: Problem was that we did create crypt data for encrypted table but this new crypt data was not written to page 0. Instead a default crypt data was written to page 0 at table creation. Fixed by explicitly writing new crypt data to page 0 after successfull table creation. commit be2038e3cb2f37504cc2094e79beb8b1d33bc69e Author: Alexander Barkov <bar@mariadb.org> Date: Wed May 13 17:08:24 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step 4 (there will be more) commit 16b6ec2e377f8f3dcac76e8c172ed9daa797d311 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 12 09:43:26 2015 +0200 MDEV-8130 Wrong error code/message while encrypting a partitioned InnoDB table when checking for a flag, use & not == commit def48e623a858f9ca798cd872a7399ef37396066 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 11 21:05:02 2015 +0200 MDEV-8141 InnoDB: background encryption thread uses FIL_DEFAULT_ENCRYPTION_KEY * check key version per key id (that is, per tablespace). * wake encryption thread when a tablespace needs re-encryption commit 6e4c22af7c16c3e743eb1ec60e10bdebe967d8f9 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 11 14:21:44 2015 +0200 example encryption plugin supports key ids show that two keys can be different if they have different ids or different versions. commit acd992d4b7fafa40a1c7a85b64238829b831e0bf Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 10 20:57:16 2015 +0200 MDEV-8022 Assertion `rc == 0' failed in ma_encrypt on dropping an encrypted Aria table fix encryption of the last partial block * now really encrypt it, using key and iv * support the case of very short plaintext (less than one block) * recommend aes_ctr over aes_cbc, because the former doesn't have problems with partial blocks commit bea3f30d46c7611db26ebeb6143cd0ef96d91695 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 10 19:57:43 2015 +0200 move AES_CTR to its own greatly simplified function * don't use do_crypt() for stream cipher AES_CTR * rename do_crypt to block_crypt to emphasize its specialization commit a583976e78298141e074c2a6b3d6c7c842642781 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 10 11:44:08 2015 +0200 MDEV-8015 InnoDB: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID InnoDB: refuse to start if encryption is requested but no encryption plugin is available commit b4777bfc11e5d9b49c01f1ee0eedf0d579cf6915 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 11 19:03:19 2015 +0200 cleanup, use encryption_key_id_exists() where appropriate commit 66380916ee44b046d0481a31971bdeac249d883b Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 10 11:03:33 2015 +0200 MDEV-7993 file_key_management_filekey doesn't work as expected with FILE: chomp the secret, as read from the file. remove trailing CR and LF bytes. commit a35b538bdefd2d933cbcaa5cc0868f47c9f3e7c5 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 9 19:13:18 2015 +0200 MDEV-8040 make aria encryption use real keys applied upstream patch commit ab8415d9835c750e7b9c71595744c95d4426d591 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 9 12:31:53 2015 +0200 move encryption tests to a dedicate suite remove few tests for variables that never existed (merge error) commit b22959903b89e798f8804ec9a815c88f75915cd9 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 22 13:29:56 2015 +0400 MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO Added THD argument to select_result and all derivative classes. This reduces number of pthread_getspecific calls from 796 to 776 per OLTP RO transaction. commit 8345bc692192788c25ec004134a3a095437aeb1c Author: Alexander Barkov <bar@mariadb.org> Date: Wed May 13 15:34:20 2015 +0400 MDEV-8152 is_columns_is_embedded test fails Recording --ps and --embedded tests (a postfix for MDEV-7807) commit 9851a8193f6f469b8d7cfea9333adf0008026d9f Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed May 13 15:28:34 2015 +0400 MDEV-8001 - mysql_reset_thd_for_next_command() takes 0.04% in OLTP RO Removed yet more mysql_reset_thd_for_next_command(). Call THD::reset_for_next_command() directly instead. commit 4d1ccc42890029e07048772579af97072e0fa3d5 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Apr 17 14:30:15 2015 +0400 MDEV-7951 - sql_alloc() takes 0.25% in OLTP RO sql_alloc() has additional costs compared to direct mem_root allocation: - function call: it is defined in a separate translation unit and can't be inlined - it needs to call pthread_getspecific() to get THD::mem_root It is called dozens of times implicitely at least by: - List<>::push_back() - List<>::push_front() - new (for Sql_alloc derived classes) - sql_memdup() Replaced lots of implicit sql_alloc() calls with direct mem_root allocation, passing through THD pointer whenever it is needed. Number of sql_alloc() calls reduced 345 -> 41 per OLTP RO transaction. pthread_getspecific() overhead dropped 0.76 -> 0.59 sql_alloc() overhed dropped 0.25 -> 0.06 commit c4d2c4e844717d9d5b2c0e4f0f9cfc7cc2c24fa6 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Apr 16 18:38:26 2015 +0400 MDEV-7964 - delete_dynamic() takes 0.12% in OLTP RO delete_dynamic() was called 9-11x per OLTP RO query + 3x per BEGIN/COMMIT. 3 calls were performed by LEX_MASTER_INFO. Added condition to call those only for CHANGE MASTER. 1 call was performed by lock_table_names()/Hash_set/my_hash_free(). Hash_set was supposed to be used for DDL and LOCK TABLES to gather database names, while it was initialized/freed for DML too. In fact Hash_set didn't do any useful job here. Hash_set was removed and MDL requests are now added directly to the list. The rest 5-7 calls are done by optimizer, mostly by Explain_query and friends. Since dynamic arrays are used in most cases, they can hardly be optimized. my_hash_free() overhead dropped 0.02 -> out of radar. delete_dynamic() overhead dropped 0.12 -> 0.04. commit 7cfa803d8ec9f4f79d44c8dafc675a79f5b3eb88 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 15 18:32:34 2015 +0400 MDEV-8001 - mysql_reset_thd_for_next_command() takes 0.04% in OLTP RO Removed mysql_reset_thd_for_next_command(). Call THD::reset_for_next_command() directly instead. mysql_reset_thd_for_next_command() overhead dropped 0.04% -> out of radar. THD::reset_for_next_command() overhead didn't increase. commit 5cfb6b479efd05fafc77caf94d60240b879d5073 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 15 18:12:23 2015 +0400 MDEV-7999 - PROFILING routines take 0.2% when profiling disabled PROFILING::start_new_query() optimizations: - no need to check "current": added assertion instead - "enabled" now means "is enabled currently" instead of "was enabled at query start". Old meaning was useless, new meaning echoes OPTION_PROFILING so that start_new_query() can be defined in sql_profile.h. - remnants of start_new_query() moved to sql_profile.h so it can be inlined PROFILING::start_new_query() overhead dropped 0.08% -> out of radar. PROFILING::set_query_source() optimizations: - no need to check "enabled": !enabled && current is impossible - remnants of set_query_source() moved to sql_profile.h so it can be inlined PROFILING::set_query_source() overhead dropped 0.02% -> out of radar. PROFILING::finish_current_query() optimizations: - moved "current" check out to sql_profile.h so it can be inlined PROFILING::finish_current_query() overhead dropped 0.10% -> out of radar. commit 55d5af733d97808a1479b185c029ac0121c0f158 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 15 11:29:01 2015 +0400 MDEV-7945 - THD::enter_stage() takes 0.48% in OLTP RO THD::enter_stage() optimizations: - stage backup code moved to THD::backup_stage(), saves one condition - moved check for "new_stage" out to callers that actually need it - remnants of enter_stage() moved to sql_class.h so it can be inlined THD::enter_stage() overhead dropped 0.48% -> 0.07%. PROFILING::status_change() optimizations: - "status_arg" is now checked by QUERY_PROFILE::new_status() - no need to check "enabled": !enabled && current is impossible - remnants of status_change() moved to sql_profile.h so it can be inlined PROFILING::status_change() overhead dropped 0.1% -> out of radar. commit c9c8e0554f43154775c8a3b755a329a5a6035664 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 23:43:06 2015 -0400 Update galera/disabled.def & some more test fixes. commit 7003776e739d2f49cba4bb39cceaea184dcfc38f Author: Elena Stepanova <elenst@montyprogram.com> Date: Tue May 12 03:44:10 2015 +0300 MDEV-8144 percona.innodb_sys_index test fails Restoring the line affected by 5.5=>10.0 merge commit 6ae27e40985ef8c647ac2271c091f67511fb421f Merge: c6c9a69ccee 014fe12c03a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 18:50:59 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit c8ad5b2f1223d8bb6edcdcb56317172206c9fd8e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 17:15:16 2015 -0400 MDEV-8151 : wsrep.foreign_key, wsrep.pool_of_threads, .. wsrep.binlog_format, wsrep.mdev_6832 fail in buildbot Galera-3.9 logs an additional warning in the error log if it fails to find gvwstate.dat file. Update wsrep/suite.pm. commit 014fe12c03a2fdcbd2eb6bab39118de1cee02693 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 14:19:30 2015 -0400 Fix for debug build failure Do not use format function attribute for sql_print_xxx() family of functions as they use a MariaDB-specific extension of printf instead of one provided by the system. commit 18fee8b8f8b7cdf3d58075c9734e9ace23e2dbec Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 17:05:41 2015 -0400 Revert last commit. commit c6c9a69ccee3325cfdd77d0dcd49259a574363b0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue May 12 16:56:06 2015 -0400 Fix for some more test failures. commit 8c54182ec4d8f00a164530d35c9769ccb5267bcb Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue May 12 15:09:28 2015 +0500 MDEV-7926 Server crashes in get_geometry_column_record on concurrent SELECT FROM I_S.GEOMETRY_COLUMNS with join and DDL. The bug was that open_tables() returned error in case of thd->killed() without properly calling thd->send_kill_message() to set the correct error. This was fixed already in get_schema_column_record, so the code was just copied to get_geometry_column_record. commit 048039e0b2052cec0b72e6a442ef73e6b118437a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon May 11 15:42:20 2015 -0400 Fix for build failure. commit 58e8db2eb398a812e2894d28db4173a4f67fea06 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon May 11 14:29:14 2015 +0300 MDEV-7942: InnoDB: abuse of UNIV_LIKELY()/UNIV_UNLIKELY() UNIV_LIKELY()/UNIV_UNLIKELY() hints are supposed to improve branch prediction. Currently, they're expected to work only if cond evaluates to TRUE or FALSE. However there're a few conditions that may evaluate to different values, e.g.: page/page0zip.cc: if (UNIV_LIKELY(c_stream->avail_in)) { page/page0zip.cc: if (UNIV_LIKELY(c_stream->avail_in)) { dict/dict0mem.cc: if (UNIV_LIKELY(i) && UNIV_UNLIKELY(!table->col_names)) { Fixed these conditions so that they evaluate TRUE/FALSE. commit 6e4920164426543082d02cde4c60bd29cbd54f99 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon May 11 12:47:43 2015 +0200 Fix compilation warnings in -DWITH_WSREP=OFF build. commit 8bedb638d7078c007b58bea4196c3749028192b4 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon May 11 11:55:58 2015 +0200 MDEV-8113: Parallel slave: slave hangs on ALTER TABLE (or other DDL) as the first event after slave start In optimistic parallel replication, it is not safe to try to run a following transaction in parallel with a DDL statement, and there is code to prevent this. However, the code was missing the case where the DDL is the very first event after slave start. In this case, following transactions could run in parallel with the DDL, which can cause the slave to hang or even corrupt slave in unlucky cases. commit ecfc3de57ee6a498b30ca8f59fdb952ab38f5698 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon May 11 09:21:04 2015 +0300 MDEV-8129: Compilation warnings in log0crypt.cc Fix incorrect types and compiler warnings. commit 83ca074c7501335a643cf2a7583b1c2233234755 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun May 10 12:52:28 2015 +0200 Last commit was done with wrong files commit 9dee994d992b3930f0d29197aed82771bf910c47 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun May 10 11:58:23 2015 +0200 Get rid of GCC warnings about unused parameters modified: storage/connect/array.cpp modified: storage/connect/blkfil.cpp modified: storage/connect/block.h modified: storage/connect/catalog.h modified: storage/connect/colblk.cpp modified: storage/connect/colblk.h modified: storage/connect/connect.cc modified: storage/connect/filamap.cpp modified: storage/connect/filamdbf.cpp modified: storage/connect/filamfix.cpp modified: storage/connect/filamtxt.cpp modified: storage/connect/filamtxt.h modified: storage/connect/filamvct.cpp modified: storage/connect/filamzip.cpp modified: storage/connect/filter.h modified: storage/connect/ha_connect.c modified: storage/connect/jsonudf.cpp modified: storage/connect/mycat.h modified: storage/connect/myconn.cpp modified: storage/connect/plgdbutl.cpp modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabcol.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfix.cpp modified: storage/connect/tabfmt.cpp modified: storage/connect/tabfmt.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/table.cpp modified: storage/connect/tabmul.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/taboccur.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabsys.cpp modified: storage/connect/tabtbl.cpp modified: storage/connect/tabtbl.h modified: storage/connect/tabutil.cpp modified: storage/connect/tabutil.h modified: storage/connect/tabvct.cpp modified: storage/connect/tabvir.cpp modified: storage/connect/tabvir.h modified: storage/connect/tabxcl.cpp modified: storage/connect/tabxcl.h modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h modified: storage/connect/valblk.cpp modified: storage/connect/valblk.h modified: storage/connect/value.cpp modified: storage/connect/value.h modified: storage/connect/xindex.cpp modified: storage/connect/xindex.h modified: storage/connect/xobject.h modified: storage/connect/xtable.h commit e11cad9e9dd3ae0be61aec1bb50b0ddc867b10be Merge: 99f496ae65a 0880284bf71 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat May 9 17:09:21 2015 -0400 Merge tag 'mariadb-10.0.19' into 10.0-galera commit e1868fd61335129d648794389258de2ac021eb91 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 7 22:18:34 2015 +0200 MDEV-8115 mysql_upgrade crashes the server with REPAIR VIEW on REPAIR don't do table-specific stuff for views (because even if the view has a temp table opened for it, it's not opened all the way down the engine. In particular, Aria crashes in maria_status() because MARIA_HA* info - that is table->table->file->file - is NULL) commit 5fdb14542ae44aa2f0bae512e8305f791c977ca1 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 9 11:19:36 2015 +0200 MDEV-8021 "InnoDB: Tablespace id 4 encrypted but encryption service not available. Can't continue opening tablespace" on server restart when there are encrypted tables key id was written in the wrong place on the tablespace first page (thus its value could not be read back later) commit d259376fd88c86c7386a50f81353d43a12cf15c2 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 7 19:13:22 2015 +0300 MDEV-8041: InnoDB redo log encryption Merged new version of InnoDB/XtraDB redo log encryption from Google provided by Jonas Oreland. commit 99f496ae65a56d587e24c88df85aae7e7cfce70e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Apr 28 11:53:57 2015 -0400 Fix for some failing tests commit e69fbd4e38d36853b7e72a9d6a3afe7210874436 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Apr 21 13:22:08 2015 -0400 Post-merge fix commit 3331d4e07efca993b3f34fa06b8a03b41b6b690d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Apr 21 13:17:17 2015 -0400 Merge galera tests from github.com/codership/mysql-wsrep commit 608a1ce5b184f617d45c69095e1fae7b39402853 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Sat Mar 28 13:57:38 2015 +0200 Refs codership/mysql-wsrep#33 - change const initialization to assignment to follow the genral style of the file. commit 58bbe9b0049638e1df12ab7443b233dcc25d0be9 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Mar 12 05:06:33 2015 -0700 Fix suite/galera/t/galera_var_OSU_method.test commit 504ff56ece2c3e3d18d905ca2a56a5c384f2fb43 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Thu Mar 12 02:52:56 2015 -0700 Adjust tests now that wsrep_OSU_method is a session variable. commit 00afd63984c91cabcfed748d834351ca54b7e50d Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Thu Mar 12 10:25:34 2015 +0200 refs codership/mysql-wsrep#90 made wsrep_OSU_method session variable commit 03a8f83e2c6c80658c7863b452847dd04dfc5dda Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Wed Mar 11 04:33:12 2015 -0700 Add tests for galera/mysql-wsrep#90 commit 2df5ff2691a80873f44e779658c9a5d41c6c7e13 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Wed Mar 11 13:04:00 2015 +0200 refs codership/mysql-wsrep#90 - fixed race in OSU Make sure that thd uses the same method to begin and end OSU operation. commit c16ec074196aee32326a8015f49c0b8bae25111f Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Thu Mar 26 23:19:52 2015 +0200 Refs codership/mysql-features#33 - this fixes a bug where wsrep_start_position_update() would pass local_uuid and local_seqno to wsrep_sst_received() instead of real, submitted position. commit 0115ca2ae1c0ce06b3de6cc8c4f7f8a06220cff6 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Thu Mar 26 10:25:58 2015 +0200 refs codership/mysql-wsrep#98 fixed sidno initialization Sidno initialization was skipped in wsrep_sst_received() if the received position matched to current position. However, sidno initialization must be done every time server is started to add inverted group uuid into sidno map. commit 4ed9ddd30eefbedb4bb2f96a0f0eb2ab18d283a0 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Mon Mar 23 23:27:28 2015 +0200 Refs codership/mysql-wsrep#33 1. factored XID-related functions to a separate wsrep_xid.cc unit. 2. refactored them to take refrences instead of pointers where appropriate 3. implemented wsrep_get/set_SE_position to take wsrep_uuid_t and wsrep_seqno_t instead of XID 4. call wsrep_set_SE_position() in wsrep_sst_received() to reinitialize SE checkpoint after SST was received, avoid assert() in setting code by first checking current position. commit f5bce5a6003e0591c822f217b63dc6b65a73000a Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Wed Mar 18 14:56:46 2015 +0200 codership/mysql-wsrep#67 - total order isolation for FLUSH The following FLUSH commands are now executed under total order isolation: * FLUSH DES_KEY_FILE * FLUSH HOSTS * FLUSH PRIVILEGES * FLUSH QUERY CACHE * FLUSH STATUS * FLUSH USER_RESOURCES commit 0fdfca693702dafe69a1b33afb804aa0545dd81b Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Tue Feb 10 18:27:21 2015 +0200 refs codership/mysql-wsrep#60 explicit braces around empty body commit 226c249ab396cbc57abb155183a8b86b712e4d63 Author: sjaakola <seppo.jaakola@iki.fi> Date: Thu Jan 29 11:06:44 2015 +0200 refs codership/mysql-wsrep#53 - fencing LOAD DATA splitting related commit to not happen with ALTER processing commit f725b0c49d23b9520d4e622c0291073943268ae1 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Dec 16 00:30:26 2014 -0800 LP1378355 - Reduce memory consumption slightly. commit da298348406747dcaf431dd5641b0d53590f5e83 Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Tue Dec 16 00:22:55 2014 -0800 LP1378355 - Address review feedback, do not pass --defaults-group-suffix for mysqldump SST commit 7d550c76be13c58551e203f4eeb4f87ebd58ba4b Author: Philip Stoev <philip.stoev@galeracluster.com> Date: Mon Dec 15 04:45:58 2014 -0800 LP1378355 - Pass the value of --defaults-group-suffix to xtrabackup during SST commit 9d15689d1f529b493cd9f01fbd2271c3ff81497d Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Wed Dec 10 23:29:28 2014 +0200 Refs #25 - made sure signals that may be set to ignored in mysqld were set to default in the child process. commit 14b6172075eda88675d8b34951e0ee5f3f5874e3 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Tue Dec 9 22:13:14 2014 +0200 Going more MTR-friendly - for SST prefer to use mysql client, mysqldump and my_print_defaults from the local build tree. commit 91417b404716e3c409a0a551a232c063d04f85a9 Author: sjaakola <seppo.jaakola@iki.fi> Date: Mon Nov 17 23:47:14 2014 +0200 refs #7 - merged fix from 5.5 branch. However, 5.6 branch has not (yet) surfaced similar applier hang as 5.5 commit 13a9bcc6be4cb2e27c81c7e42bb534d8d1947870 Author: sjaakola <seppo.jaakola@iki.fi> Date: Thu Nov 13 14:04:23 2014 +0200 refs #11 #13 - skipping TOI, if all affected tables are temporary commit 21bc3e3fdab516b86fbc1c33966d068471460ce2 Author: sjaakola <seppo.jaakola@iki.fi> Date: Wed Nov 12 14:59:04 2014 +0200 refs #2 - added binlog stmt cache reset after commit. This is needed for non-InnoDB statements commit 9fdae3eb60746a07ade11236e513d393969e7afd Author: dirtysalt <dirtysalt1987@gmail.com> Date: Fri Oct 31 15:55:18 2014 +0800 Refs #8: preserve gvwstate.dat for pc recovery feature commit 0f405f216efcf7ca000cbf032a6a0a19b3de03cd Author: Teemu Ollakka <teemu.ollakka@codership.com> Date: Wed Oct 29 17:08:51 2014 +0200 refs #6 fixed compilation errors with -DWITH_DEBUG=1, removed unwanted files commit ab54f5a8b99bd14cc3ee7c70968327a896066944 Author: Vicentiu Ciorbaru <vicentiu@mariadb.org> Date: Fri May 8 17:31:54 2015 +0300 Fix win/ files to be stored with LF in repository On Windows, the files get checked out with CRLF thanks to .gitattributes. commit 5ae8d06df498037cff864c28076b42c02577e382 Author: Vicentiu Ciorbaru <vicentiu@mariadb.org> Date: Fri May 8 17:27:41 2015 +0300 Update .gitattributes commit 91ee98a8c88d2595d903e70cd4e1824dffb9e43c Author: Alexander Barkov <bar@mariadb.org> Date: Fri May 8 00:34:06 2015 +0400 MDEV-7807 information_schema.processlist truncates queries with binary strings Adding a new column INFORMATION_SCHEMA.PROCESSLIST.INFO_BINARY. commit 0fcc350f732af1a3f3cbc97abf341e1bdde0d3e2 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Apr 8 10:55:51 2015 +0400 MDEV-7922 - ERROR 1939 (HY000): Engine PERFORMANCE_SCHEMA failed to discover table Performance schema discovery fails if connection has no active database set. This happened due to restriction in SQL parser: table name with no database name is ambiguous in such case. Fixed by temporary substitution of default database with being discovered table database. commit 3832bda1ba9f31294d57b565030ea3f5d35e6a82 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu May 7 14:00:14 2015 +0300 Fix compiler error if compiler does not support c99 style initializers. commit 7ed673f35c4b9baf7d343a4ad0d64ed6a9df912a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Mar 17 19:49:04 2015 +0400 MDEV-7793 - Race condition between XA COMMIT/ROLLBACK and disconnect XA COMMIT/ROLLBACK of XA transaction owned by different thread may access freed memory if that thread disconnects at the same time. Also concurrent XA COMMIT/ROLLBACK of recovered XA transaction were not serialized properly. commit b97568503640d62987daae6304d39302257ffcbb Merge: bad81f23f68 3d801e606bc Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed May 6 16:48:17 2015 +0300 Merge pull request #54 from openquery/MDEV-8053-c99-style-for-structure-members-10.1 c99 style for assigning structure members commit bad81f23f68b2193ad4f443fb0e20b56c7c86f68 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 6 15:16:28 2015 +0300 MDEV-8046: Server crashes in pfs_mutex_enter_func on select from I_S.INNODB_TABLESPACES_ENCRYPTION if InnoDB is disabled Problem was that information schema tables innodb_tablespaces_encryption and innodb_tablespaces_scrubbing where missing required check is InnoDB enabled or not. commit 2f25c653ade1e73aa2b1aa77af9a4898bacb2330 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed May 6 14:09:10 2015 +0300 MDEV-8074: Failing assertion: mutex->magic_n == MUTEX_MAGIC_N in file sync0sync.cc line 508 Problem was that e.g. on crash recovery fil_space_crypt_close_tablespace and fil_space_crypt_mark_space_closing access mutex that is not yet initialized. Mutex is naturally initialized only if encryption is configured. commit 31c069eb4d00f1b30f1c0d6ca3ab855914693853 Merge: 539b3ca87d9 ef99edf1a87 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed May 6 12:46:33 2015 +0200 Merge MDEV-8103 into 10.1 commit 1db5b849ab59cb631eb3ab5e1130be08c4fa4a92 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Tue May 5 18:38:54 2015 +0200 - Fix a regression bug on (XML) HTML tables. modified: tabxml.cpp added: xml_html.test xml_html.result beers.xml coffee.htm - Fix MDEV-7935 by suppressing error resetting code in delete_or_rename_table. However, the issue is that this code was added because without it an assertion was raised in some cases. Unfortunately I can't remember what were these cases. Therefore fixing it in this case will perhaps make a new crash happening on another cases. modified: ha_connect.cc - Add the UDF Json_Array_Delete. modified: jsonudf.cpp commit 539b3ca87d97d15fcf1076ce1e4a83d5b00d9c26 Author: Alexander Barkov <bar@mariadb.org> Date: Tue May 5 09:30:17 2015 +0400 - Moving Item_func_spatial_mbr_rel from Item_bool_func2 to Item_bool_func, as Item_func_spatial_mbr_rel needs nothing from Item_bool_func2. - Renaming Item_func_spacial_rel (the class that implements precise spacial relations) to Item_func_spatial_precise_rel - Adding a new abstract class Item_func_spatial_rel as a common parent for Item_func_spatial_precise_rel and Item_func_spatial_mbr_rel. commit 2fe4d0e6cde260b772da5e0c3dbad4bd4ab5bee3 Author: Alexander Barkov <bar@mariadb.org> Date: Tue May 5 01:09:47 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step #3: Splitting the function check_equality() into a method in Item. Implementing Item::check_equality() and Item_func_eq::check_equality(). Implement Item_func_eq::build_equal_items() in addition to Item_func::build_equal_items() and moving the call for check_equality() from Item_func::build_equal_items() to Item_func_eq::build_equal_items(). commit d2562004c5ac118b399475195b08f17fe673e481 Merge: 42f99d00eee 4c87f727734 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon May 4 13:50:52 2015 -0400 Merge tag 'mariadb-5.5.43' into 5.5-galera commit 42f99d00eee0023184c6d985fa6f4e7a9717c3d8 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Wed Mar 18 21:17:31 2015 +0200 codership/mysql-wsrep#67 - total order isolation for FLUSH The following FLUSH commands are now executed under total order isolation: * FLUSH DES_KEY_FILE * FLUSH HOSTS * FLUSH PRIVILEGES * FLUSH QUERY CACHE * FLUSH STATUS * FLUSH USER_RESOURCES This patch was backported from mysql-wsrep/5.6 commit cdea608d9a27701d76d0deec49976aa0a08b1a56 commit f3efc63283a232bfe3dc74d45a7ca4a3fcc683c8 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Tue Feb 10 18:27:21 2015 +0200 refs codership/mysql-wsrep#60 explicit braces around empty body commit 70d6236afd55b74211fee507c5af6b2b631c3f26 Author: sjaakola <seppo.jaakola@iki.fi> Date: Tue Feb 10 00:47:02 2015 +0200 refs codership/mysql-wsrep#55 - To avoid compiler warming: sql/sql_parse.cc: In function 'bool do_command(THD*)': sql/sql_parse.cc:758:20: error: 'packet_length' may be used uninitialized in this function [-Werror=maybe-uninitialized] if ((WSREP(thd) && packet_length == packet_error) || [ commit f6b1e0fe0a33c724839abab74ae07bbbd41a23e6 Author: Teemu Ollakka <teemu.ollakka@galeracluster.com> Date: Thu Feb 5 14:38:03 2015 +0200 refs #55 fixed debug build compilation errors commit b02d73656000107250b288c77668ce671fdacb10 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Wed Dec 10 23:29:28 2014 +0200 Refs #25 - made sure signals that may be set to ignored in mysqld were set to default in the child process. commit c72ed05cdc215c14e41d0466a3d50d2c1a3a2033 Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Wed Dec 10 01:45:50 2014 +0200 This commit * improves MySQL client version check making it no less than required as opposed to exactly as required. * adds event table copying to ensure same results as with rsync SST. commit 822c00536d461d56e81dd9c519ec5ec1cde9536a Author: Alexey Yurchenko <ayurchen@gmail.com> Date: Tue Dec 9 22:13:14 2014 +0200 Going more MTR-friendly - for SST prefer to use mysql client, mysqldump and my_print_defaults from the local build tree. commit 2a6e1230e3a709ac91ac299ec81a18fb37538e4b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Mar 30 17:58:41 2015 -0400 refs #7 - handling lock queue granting in BF-BF conflict situation Merge fix to xtradb. commit 68fe3a39ac7f8c93b4c710b56403b9792b822c23 Author: sjaakola <seppo.jaakola@iki.fi> Date: Sun Nov 16 16:26:36 2014 +0200 refs #7 - handling lock queue granting in BF-BF conflict situation commit 51744b3f80a025a8c20c3aeb80741375a115d649 Author: dirtysalt <dirtysalt1987@gmail.com> Date: Fri Oct 31 15:55:18 2014 +0800 Refs #8: [5.5] preserve gvwstate.dat for pc recovery feature commit 9090c3efcae0874219b990e73568e41e021a3352 Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 4 18:31:24 2015 +0400 Adding a test for Item_default_value in WHERE condition: WHERE DEFAULT(col) It seems this was not covered yet. commit 462bca365ad3e8cda99b044bcf63d3ec5dc78bd9 Author: Alexander Barkov <bar@mariadb.org> Date: Mon May 4 18:12:31 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step 2c: After discussion with Igor, it appeared that Item_field and Item_ref could not appear in this context in the old function build_equal_item_for_cond: else if (cond->type() == Item::FUNC_ITEM || cond->real_item()->type() == Item::FIELD_ITEM) The part of the condition checking for Item_field::FIELD_ITEM was a dead code. - Moving implementation of Item_ident_or_func_or_sum::build_equal_items() to Item_func::build_equal_items() - Restoring deriving of Item_ident and Item_sum_or_func from Item_result_field. Removing Item_ident_or_func_or_sum. commit 13c0a6067738265c50b03958e497a3ab0e881b78 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sat May 2 15:49:02 2015 +0200 Fix MDEV-8090 in tabmysql.cpp commit 6dda9e04faf682e617242f4771e7b88c89bd64d4 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Fri May 1 18:53:50 2015 +0200 Same as last 10.0 commit commit 53382ac128d9571b5f779bf625567fc3ea0b475e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri May 1 14:23:08 2015 +0300 MDEV-8079: Crash when running MariaDB Debug with InnoDB on Windows Problem was that std::vector was allocated using calloc instead of new, this caused vector constructor not being called and vector metadata not initialized. commit ff1e0821d1174428dd70331bd864de1334ab0567 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Apr 30 12:36:39 2015 +0400 MDEV-8073 - Build error in sql/mdl.cc on OS X 10.10 C++03 seem to require default constructor for const objects even though they're fully initialized. There is defect report for this: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#253 Apparently some compilers (e.g. gcc) addressed this defect report, while some (e.g. clang) did not. Added empty default constructor to MDL_scoped_lock and MDL_object_lock classes. Also replaced lf_hash_search_using_hash_value() with lf_hash_search(). The latter will call mdl_key->hash_value() anyway. commit 499deca7fc7e8185434eaaf6923f600e18d95d90 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Apr 29 17:53:27 2015 +0400 A clean-up for c8141f53140054282306d17459310fbca94cbf0e MDEV-7950 Item_func::type() takes 0.26% in OLTP RO (Step#2) - Item_ref was doing unnecessary extra job after the "MDEV-7950 Step#2" patch. Fallback to Item::build_equal_items() if real_type() is not FIELD_ITEM. Note, Item_ref::build_equal_items() will most likely be further simplified. Waiting for Sanja and Igor to check a possibly dead code. - Safety: Adding Item_sum::build_equal_items() with ASSERT, as Item_sum should never appear in build_equal_items() context. commit 9cdf5c2bfd362764444bb3658ec23490658f16fb Merge: c8141f53140 9088f26f204 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Apr 29 11:30:26 2015 +0200 Merge branch '10.0' into 10.1 commit 8aa84821b48c501afdfb46dbe5600dbe5b4bb5d0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Apr 28 18:59:11 2015 -0400 MDEV-8057: Galera conflicts with InnoDB buffer pool dump Avoid creating innodb buffer pool dump/load thread if mysqld is started with wsrep recovery mode (--wsrep-recover). (Merged fix for lp:1305955 from lp:percona-xtradb-cluster) commit c8141f53140054282306d17459310fbca94cbf0e Author: Alexander Barkov <bar@mariadb.org> Date: Tue Apr 28 14:06:07 2015 +0400 MDEV-7950 Item_func::type() takes 0.26% in OLTP RO Step#2: 1. Removes the function build_equal_items_for_cond() and introduces a new method Item::build_equal_items() instead, with specific implementations in the following Items: Item (the default implementation) Item_ident_or_func_or_sum Item_cond Item_cond_and 2. Adds a new abstract class Item_ident_or_func_or_sum, a common parent for Item_ident and Item_func_or_sum, as they have exactly the same build_equal_items(). 3. Renames Item_cond_and::cond_equal to Item_cond_and::m_cond_equal, to avoid confusion between the member and local variables named "cond_equal". commit 3d801e606bcb38e08e13801471aa8df972babf7d Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Mon Apr 27 21:08:52 2015 +1000 c99 style for assigning structure members commit 46816996c827a2b588c4b76565a1977771ac0522 Author: Alexander Barkov <bar@mariadb.org> Date: Sun Apr 26 01:46:55 2015 +0400 Moving members' initialization from LEX::init_last_field to constructor Create_field::Create_field(). commit ecb009b2cb947c8b25d6e11f58726b3e9034b541 Author: Alexander Barkov <bar@mariadb.org> Date: Sat Apr 25 00:54:00 2015 +0400 Adding Type_std_attributes to reduce some duplicate code. TODO: move some methods from Item to Type_std_attributes. commit 04fb09d7811606e1a1a8f646532e1b379d50b217 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 24 12:59:21 2015 +0400 Deriving Item_row from Item_args and sharing more code between Item_func, Item_sum, Item_row. commit c2dd88ac85e6b1fe63ac36465f62a784cf6b4d4a Merge: fc1f301e913 b616991a68c Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Thu Apr 23 14:40:10 2015 +0200 Merge MDEV-8031 into 10.1 commit 44b44dd1d73c5da4e3b6ed7935c79ca88b61fdc8 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 22 18:30:27 2015 -0400 Comments for wsrep_exec_mode's. commit 581b49dd3d3e2e253812bb24fa881148675320b4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 22 18:13:30 2015 -0400 MDEV-7995 : DMLs not getting replicated with log-bin=OFF & binlog-format != ROW This bug is a side-effect of fix for MDEV-6924, where we completely stopped a statement-based event from getting into the binlog cache when binary logging is not enabled (and thus, wsrep_emulate_binlog mode = 1). As a result, the SBR events were not replicated. Fixed by allowing the SBR events to be written into the binlog cache. Note: Only DMLs were affected as DDLs are replicated via TOI. Merged galera_create_trigger.test from github.com/codership/mysql-wsrep. commit fc1f301e91367be5de7b5dc510acb1a6e22d59b5 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Apr 22 12:40:23 2015 +0400 MDEV-8024 Remove excessive update_used_tables() calls commit e7a7ea7ec107089c42315064fa238ec2cca92110 Merge: 6876a7dc4e2 47605287546 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Apr 21 10:31:39 2015 +0200 Merge branch '10.0' into 10.1 commit 6876a7dc4e22c019643fe18affc6fa8d991dbb14 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 20 15:37:45 2015 +0200 Bump VERSION following 10.1.4 release commit d4e3aa4c6f4fb467b7f1adacd8ea9f71339cffe0 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 20 14:23:55 2015 +0200 After-merge fixes: .result file update commit a15a4d674d0729f0b8eadc023ecd1b0ad0aebd88 Merge: 791b0ab5db4 14d15785d19 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 20 13:22:51 2015 +0200 Merge MDEV-7802 into 10.1 commit 791b0ab5db47528d93cdaf534114e417ff06b66a Merge: c6d08ecce3e 519ad0f7e35 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 20 13:21:58 2015 +0200 Merge 10.0 -> 10.1 commit c6d08ecce3e7c18ecaae973c67bd2e547e0db4dd Merge: 18715befd29 bc902a2bfc4 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Apr 20 11:45:22 2015 +0400 Merge commit 'bc902a2bfc46add0708896c07621e3707f66d95f' into 10.1 commit b3f9838f5b0fc69a759862314befa6c12439b5aa Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Apr 19 12:15:58 2015 +0200 Update 10.1 with changes from 10.0 commit 18715befd292a9e2b1d862d1c343ae09c6540904 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Apr 17 19:48:55 2015 +0200 Post-merge fix: build error in innodb-enabled build. commit 5f233c55d0584e618d4db31ab57eb29b3a6cab5f Merge: 22a7b4dee0b 167332597f0 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Apr 17 15:19:27 2015 +0200 Merge 10.0 -> 10.1. commit 167332597f03f73057fbb4684687a013596181bd Merge: 8125db1d9ae 702fdc52fa0 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Apr 17 15:18:44 2015 +0200 Merge 10.0 -> 10.1. Conflicts: mysql-test/suite/multi_source/multisource.result sql/sql_base.cc commit 22a7b4dee0bad4ec2c7fd235a0f46fe745ace71a Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 17 16:26:08 2015 +0400 Removing duplicate code/declarations: Removing "Field *result_field" from Item_field and Item_ref, and deriving Item_ident and Item_ref from Item_result_field instead. commit 14d15785d1931e0f4d2487f6c43a721b1b057b9c Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Apr 17 12:45:55 2015 +0200 MDEV-7802: Omit one test which could fail on very loaded host. commit 8125db1d9ae489162f08560f42c60c10a316afbc Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 17 12:36:31 2015 +0400 Moving fix_length_and_dec() from Item_result_field to Item_func_or_sum, as the other decendants of Item_result_field (Item_avg_field, Item_variance_field, Item_cache_wrapper) don't need fix_length_and_dec(). commit 99898c6f760c7b9678906f4830451eb57f37e899 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 17 09:52:44 2015 +0400 Minor reorganization in Item hierarchy, to remove duplicate code. - Adding a new class Item_args, represending regular function or aggregate function arguments array. - Adding a new class Item_func_or_sum, a parent class for Item_func and Item_sum - Moving Item_result_field::name() to Item_func_or_sum(), as name() is not needed on Item_result_field level. commit 0095697784a12cbb269238b354ac6f31800418fb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Apr 16 16:29:02 2015 -0400 MDEV-7996 : CURRENT_USER definer does not replicate for triggers THD's lex->definer initially holds "*current_user" for CURRENT_USER(). As a result when wsrep tries to create the trigger query, it incorrectly uses "*current_user". Fixed by calling get_current_user() to get the real current user. Merged galera_create_trigger.test from github.com/codership/mysql-wsrep. commit 3c4668c519999e002182a8c48cde93c3ebfaddd7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 15 23:06:03 2015 -0400 wsrep_sst_mysqldump : Fix server version and a syntax error commit d051f6c36beaf6c7ea269d6c174cca7482f3e823 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 15 11:12:12 2015 -0400 MDEV-6594: Use separate domain_id for Galera transactions Post-fix : A typo and better error handling. commit a1f3356bf375495e29faabedd01dce0736d20993 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 15 10:21:46 2015 -0400 Update galera package name/version for debian commit 0c6904258ba94380f722ac2b93c2bad3bc0d3f41 Merge: f6f253bddc6 5d2b85a297e Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Apr 14 14:10:37 2015 +0200 Merge MDEV-7975 into 10.1 commit f6f253bddc6f0f48526e9341cf351a4129b285ff Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Apr 14 04:02:45 2015 -0700 Fix a typo, s/false/NULL/. commit 201c985be56f375677df9275d38f18a20cf41029 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Apr 13 22:36:49 2015 +0400 MDEV-7886 CREATE VIEW IF NOT EXISTS produces a wrong warning commit ed349270657f4f8224845078a0448824a0fdc54d Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 13 14:38:25 2015 +0200 MDEV-7936: Assertion `!table || table->in_use == _current_thd()' failed on parallel replication in optimistic mode Additional 10.1-specific test case. commit 2de8db6296fb5d5ea90f646b465b6afe33c32286 Merge: 8a01a0acb33 60d094aeacb Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Apr 13 14:28:07 2015 +0200 Merge MDEV-7936 into 10.1 commit 8a01a0acb332c36c8e1c63027fb9e65587ed2784 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Apr 13 11:26:49 2015 +0400 MDEV-7920 main.group_min_max fails in buildbot with valgrind commit d8a4a8363533cb19a33c046e631c920ab18895fd Merge: 7ac2f1fbf1c 2bbf3b89f66 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 10:48:20 2015 +0200 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 7ac2f1fbf1cd9764a3e048eb3fb89ea6b8c063da Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 10:30:10 2015 +0200 Update test results after previous pushes commit 2bbf3b89f66e391b126108fc3c4d4a5d2e440a38 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 06:07:58 2015 +0200 MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BY Fix EXPLAIN FORMAT=JSON to produce output that's not worse than the tabular form. commit cc8da9b75aa8ed99be8ef5a7a765c9a4fb059014 Merge: 771dec39fdf a445b83d73c Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 05:34:30 2015 +0200 Merge ../10.1-explain-analyze into bb-10.1-explain-analyze commit a445b83d73c18b64cfbf6256d8f6ae44d6c7356f Merge: 0719df781e5 d214c83b5e5 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 05:16:48 2015 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 771dec39fdf5e00ddabbb2febe34c38804a6ef10 Merge: 0719df781e5 d214c83b5e5 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 05:07:39 2015 +0300 Merge branch '10.1' into bb-10.1-explain-analyze commit 0719df781e5600bceeaaec0e97367f4420a491d0 Merge: 4938b822634 37e87b58739 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 04:59:34 2015 +0300 Merge commit 4938b822634b173c0d7ef882f721b553b223fadd Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Apr 12 04:48:42 2015 +0300 MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BY Provide basic info about sorting/grouping done by the queries. commit d214c83b5e50f17fd60e853272491c4312df1169 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 11 10:22:26 2015 +0200 mtr: make search_pattern_in_file.inc more verbose report when a pattern is found do not abort, but merely report when a pattern is not found commit 4e15146fe66f75e4b0289dd0142c71f697ffa44c Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 11 10:13:49 2015 +0200 update tokudb test results after dd8f93195 that is, after commit dd8f931957e0c6fb538fffff76f40239e624096c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 02:36:54 2015 +0200 be less annoying about sysvar-based table attributes do not *always* add them to the create table definition, but only when a sysvar value is different from a default. also, when adding them - don't quote numbers commit 4a7472bbf25471a3ffe6ad1b17fd9f4c27e8aaab Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 11 00:28:42 2015 +0200 fix a crash in innodb.innodb-wl5522-zip,xtradb dereferencing of the uninitialized pointer bpade->slot (when compiled without UNIV_DEBUG) commit a73676b2e600d32f45e0181237c31e91df1483b4 Merge: 24341cb6cb8 135f203d289 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 19:32:14 2015 +0200 Merge branch '10.1' into bb-10.1-serg commit 24341cb6cb8614f6b282ca05cfa3b8474743b5ed Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 18:01:53 2015 +0200 add encryption plugins to deb packages commit 135f203d28910621a4720b5d71a5513f5882523b Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 10 17:04:44 2015 +0400 A cleanup for the contributed patch for MDEV-7816 ALTER with DROP INDEX and ADD INDEX .. COMMENT='comment2' ignores the new comment commit d2ed256ef7c1abd8ae81b455aa00a7e30703e529 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 14:24:58 2015 +0200 move debug_ and example_key_management plugins to test component commit 899c5c32cf87166ec945750e45209f1f0c14cca8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 13:39:29 2015 +0200 smarter MY_CHECK_AND_SET_COMPILER_FLAG If a flag is supported only for C or C++ - add it to the corresponding compiler option list. Old behavior was to add always to both, but only if supported in both. commit 87b46dcdc9c7f452c896d698c2d6d6d051b165fe Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 13:30:12 2015 +0200 disable scrubbing tests on windows unportable, use grep commit 23e90e9a22a3f4d40ad8b4e33382e84f4be58455 Merge: 37e87b58739 4feaa06c842 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 10 15:17:44 2015 +0400 Merge branch 'MDEV-7816' of git://github.com/f4rnham/server into 10.1 commit 7d49e6940e8db23864eb9e3fb1df0d90edd4278a Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 09:46:21 2015 +0200 fix "use mutex before initialization" bug in example_km plugin that for some reasons worked on linux, but crashed on windows commit 966b236612662de5a36f86221bd54227e7f62730 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 21:04:05 2015 +0200 add support for --innodb-encrypt-tables=FORCE this will prevent user from creating tables with ENCRYPTED=OFF commit da06baa11f8b632bff22c90201334394aa0e4f4f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 20:44:56 2015 +0200 mtr: *.opt files, always enable innodb-encrypt-log because one is supposed always to use it with innodb-encrypt-tables commit dab6c8374442513d0aae3b09627e2995739f770c Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 18:30:05 2015 +0200 allow srv_encrypt_tables and ENCRYPTED=YES to be used together commit bc9f118e29a96454cfa55cb80cc347804601ddd7 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 17:59:34 2015 +0200 rename table attribute ENCRYPTION=ON/OFF to ENCRYPTED=YES/NO commit ea764f5f520b83f4327d6f9955004a2ee8d41267 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 14:09:06 2015 +0200 s/innodb_default_encryption_key/innodb_default_encryption_key_id/ and make it a session variable, not global, as any decent default sysvar for a table attribute should be commit 92ff5236193e257d2366d4de6bc160a44bf3d97a Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 02:39:36 2015 +0200 change ENCRYPTION_KEY_ID to be HA_TOPTION_SYSVAR instead of manually implenting "default from a sysvar" in the code commit dd8f931957e0c6fb538fffff76f40239e624096c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Apr 10 02:36:54 2015 +0200 be less annoying about sysvar-based table attributes do not *always* add them to the create table definition, but only when a sysvar value is different from a default. also, when adding them - don't quote numbers commit eb29a63e4508359a44a29c192fae347196d5a6d3 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 11:14:57 2015 +0200 SET STATEMENT timestamp=xxx .... fix sys_var->is_default() method (that was using default_val property in a global sys_var object to track per-session state): * move timestamp to a dedicated Sys_var_timestamp class (in fact, rename Sys_var_session_special_double to Sys_var_timestamp) * make session_is_default a virtual method with a special implementation for timestamps * other variables don't have a special behavior for default values and can have session_is_default() to be always false. commit 0a9052f591a04e617ad58ee1b19dfc3ed7084147 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 00:37:54 2015 +0200 Store the key id in the tablespace and read it back commit 97d5de4ccfa75af899e764dbd1c3f4b7ea370311 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 00:37:47 2015 +0200 Add encryption key id to the API as a distinct concept which is separate from the encryption key version commit 5dffda3ccc72d026f0ac2eea63b5e1424cc1eca1 Merge: 129e9601794 d2b87801b68 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 19:27:40 2015 +0200 Merge branch 'bb-10.1-jan-encryption' into bb-10.1-serg With changes: * update tests to pass (new encryption/encryption_key_id syntax). * not merged the code that makes engine aware of the encryption mode (CRYPT_SCHEME_1_CBC, CRYPT_SCHEME_1_CTR, storing it on disk, etc), because now the encryption plugin is handling it. * compression+encryption did not work in either branch before the merge - and it does not work after the merge. it might be more broken after the merge though - some of that code was not merged. * page checksumming code was not moved (moving of page checksumming from fil_space_encrypt() to fil_space_decrypt was not merged). * restored deleted lines in buf_page_get_frame(), otherwise innodb_scrub test failed. commit 129e960179443be84757dfb57ed0959f4146340f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 19:06:11 2015 +0200 fix log_blocks_crypt() to actually decrypt the encrypted log It used to double-encrypt it, relying on the fact that second encrypt() call was (like XOR) negating the effect of the first one. commit d6b912c64dab5f070347546ddf1f34deadbf4ecf Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Apr 9 00:26:37 2015 +0200 update XtraDB/InnoDB plugin maturity to match the server because of encryption changes - make it beta and let it mature together with the server commit 3a2ec3fca61b1f99c307a82bc650c65b0c721d91 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Apr 8 22:07:37 2015 +0200 make innodb_encryption_debug test more robust commit f130da7b0014d539d9f05127dbc08826e30cd497 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Apr 5 17:37:06 2015 +0200 clarify/simplify new innodb sysvars: help texts commit 87cf86519ebf5e4fc07e5bbf615e39c465d5cd52 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Apr 5 17:33:32 2015 +0200 clarify/simplify new innodb sysvars: innodb-scrub-force-testing rename to innodb-debug-force-scrubbing commit 19e76814b76dc0d3af600dc0ffbae116dbf116ca Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Apr 5 17:29:43 2015 +0200 clarify/simplify new innodb sysvars: innodb-scrub-log-interval rename to innodb-scrub-log-speed commit 72c8b3fcb27adc91a013f8850d9a2af5dccf179b Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Apr 5 13:16:59 2015 +0200 small cleanups as per review commit 4d40a7d133b1e5a3241ec673721687158e235be0 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Apr 1 22:15:11 2015 +0200 remove now-empty my_aes.{h,cc} move remaning defines to my_crypt, add MY_ namespace prefix commit 65e782607031721b22397010bd7be57bbd5f6439 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Apr 1 21:25:02 2015 +0200 renames to follow single consistent naming style with namespace prefixes commit c0878f64c5c39b9cc21f66a401040a708f4f0792 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Apr 1 18:26:19 2015 +0200 remove wrappers in encryption_keys.cc invoke plugin methods directly commit bb1b61b312088ba9f5f2cb606594b6f33c284402 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 31 19:32:35 2015 +0200 encryption plugin controls the encryption * no --encryption-algorithm option anymore * encrypt/decrypt methods in the encryption plugin * ecnrypt/decrypt methods in the encryption_km service * file_km plugin has --file-key-management-encryption-algorithm * debug_km always uses aes_cbc * example_km changes between aes_cbc and aes_ecb for different key versions commit 9ccafffc29526ea30151eb3e62901bfdb77aaf84 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 27 09:45:22 2015 +0100 rename "encryption key management plugin" to "encryption plugin" because it's going to do more than just key management commit 6d3dace7d95bfa9627e524787d076124afc7e773 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Apr 8 10:57:32 2015 +0200 mtr: don't disable tests in suite.pm unnecessary only those tests should be disabled in suite.pm that cannot be disabled from mysqltest files (e.g. when the server is started with a special command-line option - unknown option will abort the server before mysqltest will start its checks). commit 37e87b587396319e607fb8626b6f2a74e66d25a4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Apr 9 16:47:04 2015 +0300 MDEV-6382: ANALYZE $stmt and security Add test coverage. The issue itself has been fixed already. commit b05383cb1440d2a6508d5254e0617e0dccf49898 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Apr 8 20:14:48 2015 +0200 MDEV-7835: ANALYZE FORMAT=JSON should show buffer sizes commit 697194461ad2031420bc1aaf8a03432dbf2acd66 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Apr 8 10:13:36 2015 +0200 MDEV-7856: EXPLAIN FORMAT=JSON should show partitions commit abba4184e68f2ae652f1be19b04f32efb2cb354a Merge: 66ff1632f53 15a2b5aab1a Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Thu Apr 9 10:05:27 2015 +0200 Merge MDEV-7940 into 10.1 commit 66ff1632f53ef2378c2f2546e0716547ee5d3217 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Apr 8 16:25:01 2015 +0300 MDEV-7860: EXPLAIN FORMAT=JSON crashes for loose scan query (Based on original patch by Sanja Byelkin) Make the code that produces JSON output handle LooseScan quick select. The output we produce is compatible with MySQL 5.6. commit 82b9eb5e3aec2738411293c9aea498b05e21a715 Merge: 7ee1a41ce1c b3c7c8cde8a Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Apr 8 15:11:44 2015 +0200 Merge MDEV-7910 into 10.1 commit 7ee1a41ce1c7409790bd27ce34dc61e540acb472 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Apr 8 13:15:04 2015 +0200 MDEV-7888, MDEV-7929: Parallel replication hangs sometimes on ANALYZE TABLE or DDL Follow-up patch with 10.1-specific changes. Add test cases that more closely resembles the original bug report (which uses the 10.1-specific --slave-parallel-mode=optimistic). Also fix the code so that ANALYZE statements are now marked as DDL, and will not be attempted to speculatively run in parallel with other transactions. commit 48c10fb5f768dd2860d7107e8bd45f5b4a3a7b18 Merge: 2b475b567e9 3b961347db2 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Apr 8 11:04:24 2015 +0200 Merge MDEV-7888 and MDEV-7929 into 10.1. commit 6a3932fdd0709deed103327511be618104178593 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 31 19:53:57 2015 +0200 use key derivation procedure for all encryption algorithms commit ef5b4889c2bc1d463291d4d80091c79183ec1196 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 31 19:00:51 2015 +0200 optimize encryption api only one encryption key lookup in most cases instead of three (has_key, get_key_size, get_key). commit c91e3260e2678078c0bb29d8daa90fb52cefaab7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 30 18:00:50 2015 +0200 tests for file_key_management plugin key file parser commit e02749aaf5559384ef130e53aaaf02a33e5bcac3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 28 13:25:25 2015 +0100 completely rewrote file_key_management plugin numerous issues fixed: * buffer overflows * error conditions aren't checked (crash if file doesn't exist) * accessing random unallocated memory * hard-coded password * arbitrary hard-coded key id limit * incomprehensible error messages (for key_id == 0 it reported "The key could not be initialized", for syntax errors the message was "Wrong match of the keyID, see the template", for a key id larger than hard-coded limit the message was "No asked key", and there was an error "Is comment" for a comment). * tons of small mallocs, many are freed few lines down in the code * malloc(N) and new char[N] are used both, even in the same function * redundant memory copies * pcre - "I can solve it with regular expressions" - with incorrect regexes * parser context stored in a singleton * keys are stored as strings and are strlen-ed and hex2bin-ed on every get_key() request * lots of useless code (e.g. sprintf instead of a pointer assignment, checking of the file length to read a part of it in a fixed buffer, multiplying by sizeof(char) in many places, etc) * this list is not exhaustive commit 9bda4bc52a1c36ec61589e9006edc3f8ac5fec0b Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 30 14:16:34 2015 +0200 report a plugin loading offset at dlopen time not an address of some arbitrarily chosen symbol; not when plugin is successfully loaded (which means - no info when plugin->init failed); commit beea77869557486aa3ece65b57b7807f72fcbc75 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 30 17:13:42 2015 +0200 copy-paste bug in service_sha1.h commit 32e5304bff0effeef3354ebf6fd25fe0eb4ae124 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 28 18:05:53 2015 +0100 mtr: fix testname,combination syntax to work in many-combination case in particular, "innodb.innodb-page_encryption,xtradb" should select these three tests: innodb.innodb-page_encryption 'cbc,xtradb' [ pass ] 35563 innodb.innodb-page_encryption 'ctr,xtradb' [ pass ] 36858 innodb.innodb-page_encryption 'ecb,xtradb' [ pass ] 36741 and deselect all innodb_plugin tests. This was not the case, because the %test_combs hash was destructively modified in the loop commit 5fcba6eb264e0f0af2eb83502bc8da031bef567f Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 28 10:55:31 2015 +0100 small cleanup * my_aes.h doesn't compile without my_global.h * typo in a comment * redundant condition * if encryption plugin fails, there's no encryption_key_manager at plugin deinit time * encryption plugin tests must run when plugin.so is present, not when a plugin is active (otherwise the test will be skipped when plugin fails to initialize). commit 88632726e88471d492a6125f0cd4a4a3c25a6923 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 27 15:58:02 2015 +0100 rename plugins to remove "_plugin" from the plugin name commit 817a63f273a3797bf2cb6317d89fca196c0b0bfc Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 17:40:52 2015 +0100 pass the correct key length to encryption routines commit 2643cc545fe76ee59883497cf50fc64c7be975b2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 17:20:23 2015 +0100 Don't crash the server if en-/decryption fails in Aria commit f379c9a8203233f4c2eb2c9a4c6dae819bd4b78c Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 17:00:49 2015 +0100 remove Aria-only handler flag commit 39865322c6026ecd0c935ba2884c20799eef7e5f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 15:57:08 2015 +0100 remove a google specific script commit 7a387c01586ae5107f2c2c64d3cdd420de83e168 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 15:37:40 2015 +0100 table->keep_row_order no longer need to force DYNAMIC_RECORD for temporary Aria tables. It can use a faster BLOCK_RECORD commit 5d8dbee97ba41fc36358cec94ae05e53a8bde0f8 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 14:01:39 2015 +0100 remove get_iv() from the key management plugin API now IVs are always handled internally commit c238e68d96cb61ff404ab8cf0e21898d832604a9 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 11:12:02 2015 +0100 move debug_use_static_encryption_keys and debug_encryption_key_version to a plugin commit b937574293ee731dc7b5c949d27fede1f5d17db5 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 25 19:36:10 2015 +0100 remove old my_aes_encrypt/decrypt and simplify Item_func_aes_encrypt/decrypt commit 91f7363e4baff9debe43cf039fe4525c43aee4cc Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 25 19:35:22 2015 +0100 yassl padding commit f444d13a3bd861ec86530e22cd861f25e2b350df Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 25 16:11:16 2015 +0100 my_aes* functions: support for different key lengths to: different key lengths commit 2b475b567e93c9a2438a835f2236ec3672e7769c Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Apr 8 03:33:48 2015 +0300 MDEV-7927: Server crashes in in Time_and_counter_tracker::incr_loops - JOIN::save_explain_data should also set JOIN::tracker (it already sets join_tab[0].tracker). This is needed for UNIONs inside subqueries. commit d2b87801b68e81ae4225f90bbcab03c7e35aea01 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Apr 2 16:52:30 2015 +0300 Fix test failure on these scrub tests. commit 4865fd105a56540587d065826ce652fb0850f876 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Apr 2 13:49:50 2015 +0300 InnoDB/XtraDB Encryption cleanup Step 5: -- Rename encryption_key -> encryption_key_id -- Remove unnecessary code -- Fix few bugs found -- Fix test cases and results files commit af768c2f228f90c949c6dae94d34a7296ffd943c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 1 22:03:14 2015 +0300 InnoDB/XtraDB Encryption code cleanup Step 4: -- Review fixes -- Rename pages_page_* to pages_* -- Remove unnecessary code commit 71ec0463af4fb7658d2f37d3a054e50fa49cfb2a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 1 20:33:50 2015 +0300 Encryption cleanup Step 3: -- Make encrytion_algorithm changeable by SUPER -- Remove AES_ECB method from encryption_algorithms -- Support AES method change by storing used method on InnoDB/XtraDB objects -- Store used AES method to crypt_data as different crypt types -- Store used AES method to redo/undo logs and checkpoint -- Store used AES method on every encrypted page after key_version -- Add test commit 0ba9fa35bc119cbded96cd8587427be195603cec Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 1 19:37:00 2015 +0300 InnoDB/XtraDB Encryption cleanup Step 2: -- Introduce temporal memory array to buffer pool where to allocate temporary memory for encryption/compression -- Rename PAGE_ENCRYPTION -> ENCRYPTION -- Rename PAGE_ENCRYPTION_KEY -> ENCRYPTION_KEY -- Rename innodb_default_page_encryption_key -> innodb_default_encryption_key -- Allow enable/disable encryption for tables by changing ENCRYPTION to enum having values DEFAULT, ON, OFF -- In create table store crypt_data if ENCRYPTION is ON or OFF -- Do not crypt tablespaces having ENCRYPTION=OFF -- Store encryption mode to crypt_data and redo-log commit b4a4d82396dce58496a9d0741fec505452d753f6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Apr 1 11:50:21 2015 +0300 InnoDB/XtraDB Encryption cleanup. Step 1: -- Remove page encryption from dictionary (per table encryption will be handled by storing crypt_data to page 0) -- Remove encryption/compression from os0file and all functions before that (compression will be added to buf0buf.cc) -- Use same CRYPT_SCHEME_1 for all encryption methods -- Do some code cleanups to confort InnoDB coding style commit 0df8c0aa5ed1a6d3869783a30cbe71521cffa4e4 Merge: 129822a2b73 6be0f803114 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Apr 7 12:02:58 2015 +0300 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 6be0f803114630cdeeb07f1458d1d62f2a3bea5f Merge: 2af935c8ec2 7d9e94e2e6c Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Apr 7 12:01:43 2015 +0300 Merge branch 'bb-10.1-explain-analyze' of github.com:MariaDB/server into bb-10.1-explain-analyze commit 129822a2b7324684d045bf93f46c825e2a3550e0 Merge: 7d9e94e2e6c 2af935c8ec2 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Apr 7 12:00:23 2015 +0300 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 2af935c8ec238f57d4ed909a8876031bd36dbb4d Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Apr 7 01:29:17 2015 +0300 MDEV-7899: 10.1 is 3% slower than 10.0 in OLTP RO - Remove ANALYZE's timing code off the the execution path of regular SELECTs. - Improve the tracker that tracks counts/execution times of SELECTs or DML statements: = regular execution just increments counters = ANALYZE will also collect timings. commit 7d9e94e2e6c32b906d1d8469e58bc04b8da1c121 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Apr 6 19:37:37 2015 +0300 MDEV-7916: main.analyze_format_json fails in buildbot on labrador Make the test work on case insensitive FS commit eb83e9405f9f537ff49f6d325942133460aa510c Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Apr 6 19:13:33 2015 +0300 MDEV-7917 main.log_tables fails sporadically in buildbot #2 mysql.slow_log table has an extra column in 10.1, so the test table copy should too -- added the column. commit 2f6d63f063d1c5dd0bec01b489df51f72213c2bc Merge: 2936fb127d5 3674c363a7e Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Apr 6 18:56:39 2015 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 2936fb127d551a1abd6f30bdfd50a8a9bcf4e41b Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Apr 6 18:54:08 2015 +0300 MDEV-7919: main.explain_json* fail in buildbot with valgrind Correctly initialize Explain_node::connection_type, remove unused Explain_node constructor. commit 3674c363a7e77e534c3e0d28659dc614c53fbcbc Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Apr 6 12:45:35 2015 +0300 MDEV-7918: A number of tests fail in valgrind builder with "InnoDB: Error: Requested state 6 current state 4 old_state 4" Problem with this state transfer is that different state transfers are protected with different mutexes. commit 48a77e61880aeb6f18162f2ab0a5b03386cf5010 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Apr 5 14:03:35 2015 +0200 Make this repository aligned with 10.0 one commit 3bbe2057da977b3197e19ceede87b4e79b542b59 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 25 09:47:26 2015 +0100 yassl support commit 2f8d101f9eb5193a8a1d5ab5cc8e52d7b52007a4 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 24 20:43:20 2015 +0100 unify my_{en|de}crypt_{cbc|ecb|ctr}. no yassl support yet. commit 27cc252bb73436957120a964734a794ab3fd64ef Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 24 13:52:43 2015 +0100 simplify my_crypt.cc, remove duplicate code commit 6a7ee5a5a540f2c69c8b56448e06098d368ecdb4 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 26 17:16:37 2015 +0100 encryption cleanup: small changes * comments * move my_bytes_to_key() and my_aes_hex2uint() into file_key_management_plugin * rename HA_INSERT_ORDER -> HA_PRESERVE_INSERT_ORDER * remove unused variables and declarations * fix casts * don't link innodb with pcre * remove redundant entries from aria's TARGET_LINK_LIBRARIES commit 87604c4cadac0c9f86068d7f0075bb3cdeabdf0b Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Mar 9 19:53:47 2015 +0100 encryption cleanup: delete obsolete files they should've been deleted long ago, but weren't commit 16a7738bc98098033fc6e524654a008b9d2830d8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Mar 13 18:52:10 2015 +0100 MDEV-6819 st_mysql_show_var::value should be void* not char* followup commit 0cbe0c9c6da982210eb1dbbedb575038ea32d3e6 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 11 12:28:26 2015 +0100 remove one cmake MESSAGE (one generally should not do that, these messages are printed on every cmake run) commit 47c344b00fa6878e5d1ce4235f8016a1ec995967 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Apr 4 00:47:10 2015 +0300 MDEV-7904: ANALYZE FORMAT=JSON doesn't print r_rows for union output Print r_rows. There is no table tracking for reading from tmp table, yet. commit a220905083c382bec096dd1435b6620d348bbfeb Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Apr 2 18:19:33 2015 +0200 MDEV-7833:ANALYZE FORMAT=JSON and Range checked for each record commit 7f613ebdb6865e2d1304d20977764b523f6a5080 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Apr 3 15:43:55 2015 +0400 MDEV-7284 INDEX: CREATE OR REPLACE commit 118fc5c68835fdfefe6b8d8efb4c04977bb3130a Merge: 575dd775046 ca2f2b71511 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Apr 3 08:50:59 2015 +0300 Adjust test timeout to let long semaphore wait signaling to happen. commit 0695fdd9df3501a02ae473c23992345c19342aa8 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Fri Apr 3 01:34:30 2015 +1100 mdev-7802-binlog_groupcommit_stats Update the description of each test case as to why it is counted in the correct binlog_group_commit_trigger_* variable. Updated rpl_parallel_multilevel2.test to identify that 3 groups occur in statement and mixed replication and one group in row based replication. commit 575dd775046b7dd53330bcb01b81dceeffeb2e88 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Apr 1 18:25:40 2015 -0400 MDEV-7867: Add binlog header to GRA_.log file commit 1d5220d1124111f563f9faec355c9343f6e40849 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Wed Apr 1 22:47:36 2015 +1100 binlog_group_commit_* status variables update remove group_commit_reason_immediate rename group_commit_reason_transaction to group_commit_trigger_lock_wait rename group_commit_reason_usec to group_commit_trigger_timeout rename group_commit_reason_count to group_commit_triggger_count commit dd7026a703aabdbe0430bf5f32c6f4f5c6d9c240 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Wed Apr 1 21:51:55 2015 +1100 All updates to binlog_status_group_commit_reason* are under LOCK_prepare_ordered commit ca2f2b71511df1dc256949329ea7e89d812f16bf Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 31 09:54:40 2015 +0300 Adjust test wait timeout. commit cbc5157feb9801310e458f7ed10983ad478c881e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 31 09:00:01 2015 +0300 MDEV-7878: innodb_scrub_background fails sporadically in buildbot (Failing assertion: offset > 0 && offset < UNIV_PAGE_SIZE) Problem was that when encrypted space was flushed page 0 is also updated but crypt data offset was sometimes not calculated. commit f573b65e4173a90a738682837e2f0020c76827ff Merge: 59df1009222 880f2273fdc Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Mar 30 15:10:29 2015 +0200 Merge MDEV-7847 and MDEV-7882 into 10.0. Conflicts: mysql-test/suite/rpl/r/rpl_parallel.result sql/rpl_parallel.cc commit 59df1009222a73fbd184987d1c8700f86b30792b Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 30 10:57:44 2015 +0400 Removing Item_string::m_cs_specified and making Item_string::is_cs_specified() virtual instead. commit 49220f76aa9d8c4af3842353142d9843fd4433a5 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Mar 30 01:11:14 2015 +0300 Increased the version number commit bf963d3b52e4aa25f9052e1e4c7ddf2ecee4143b Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Mar 30 01:09:59 2015 +0300 MDEV-7874 deb package installation fails with "dpkg: dependency problems prevent configuration of mariadb-server" Added usr/share/mysql/maria_add_gis_sp_bootstrap.sql to the file lists commit b2a1187307b7f7f79138cf87a21f84a836fca2a0 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Mar 26 10:48:56 2015 +0100 MDEV-7812: ANALYZE FORMAT=JSON UPDATE/DELETE doesnt print the r_total_time_ms Tracking total time added in UPDATE/DELETE Fixed selectivity calculation in UPDATE/DELETE Macro definitions of time tracting fixed. commit 84a4db263a1d98e9a2f3c6b5816a9b6b9a019128 Merge: 555915faa9f d7445ea6dfb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Mar 28 17:29:10 2015 -0400 Merge branch '5.5-galera' into 10.0-galera commit d7445ea6dfbd3be390792c636f755d3bb40d5fbf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Mar 27 20:35:37 2015 -0400 MDEV-7194: galera fails to replicate DDL queries when using binlog_checksum Restore fix for MDEV-4328 (revno: 3391) that got accidentally overwritten while merging : http://bazaar.launchpad.net/~codership/codership-mysql/5.5-23/revision/3900 Added a test case. commit 9b8f86f8958116030de5a4e6ab75011cca251dfc Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Mar 27 23:44:06 2015 +0300 Better comments commit 47c26d5aeeae79276142746128c4b28f6693553d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 27 11:36:43 2015 +0200 Skip necessary encryption tests if required plugin is not found. commit 50eee6050464e4a7737841245956a4d6c9c2dea9 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Mar 26 20:44:12 2015 +0400 Preparatory refactoring for: MDEV-6218 Wrong result of CHAR_LENGTH(non-BMP-character) with 3-byte utf8 - Moving get_text() as a method to Lex_input_stream. - Moving the unescaping part into a separate function, this piece of code will later go to /strings most likely. - Removing Lex_input_string::yytoklen, as it's not needed any more. commit 4feaa06c842b0ae1cc8ab2d6e7f0bbd00c000e87 Author: f4rnham <f4rnham@users.noreply.github.com> Date: Thu Mar 26 00:00:12 2015 +0100 MDEV-7816 ALTER with DROP INDEX and ADD INDEX .. COMMENT='comment2' ignores the new comment Consider two indexes different if their comments differ commit 01d7da6785284383b2c04f2d4474feccebb0bb6f Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 25 19:11:46 2015 +0100 MDEV-7834: ANALYZE FORMAT=JSON output column should be named ANALYZE commit e15d792697ab30ac9a96aa0a8db20a0006246004 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Mar 25 21:20:06 2015 +0300 Trivial test results updates commit 3841e921ba469fbd7050b41ea0e753ab184c98b0 Merge: 34fcc28e7b8 f42064a172e Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Mar 25 21:07:23 2015 +0300 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 34fcc28e7b89034f50b0fe15df738c02c7608a0d Merge: 651a142ad02 71bbff8de37 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Mar 25 19:34:08 2015 +0300 Merge pull request #33 from k0da/mdev-7839 Fix BigEndian build for Cassandra SE commit 71bbff8de374f828ac9b319f8f110b30954730ae Author: Dinar Valeev <dvaleev@suse.com> Date: Wed Mar 25 17:21:52 2015 +0100 Fix BigEndian build On BigEndian build fails with: [ 109s] /home/abuild/rpmbuild/BUILD/mariadb-10.0.17/storage/cassandra/ha_cassandra.cc:890:22: error: invalid conversion from 'longlong* {aka long long int*} ' to 'long long int' [-fpermissive] [ 109s] value->x.long_value= (longlong *)*cass_data; [ 109s] ^ This commit fixes it Signed-off-by: Dinar Valeev <dvaleev@suse.com> commit f42064a172e062e04243ed4e4c2113b93bfc9136 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Mar 25 12:20:16 2015 +0300 Fix valgrind failure: correclty clean up handler::tracker commit 651a142ad02dc51926f8159d9e923552f782612e Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 25 13:06:04 2015 +0400 MDEV-7831 Bad warning for DATE_ADD(timestamp_column, INTERVAL 10 SECOND) commit 6a204546ef91aa90dedb6b47353bbb568f0531b0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Mar 24 16:41:04 2015 -0400 MDEV-7798: mysql.server init script can't stop mysqld when WSREP is turned off wsrep threads should be always be checked for existence & stopped on server shutdown. commit bd2ae787ea273169dc88db62bc1e66d56cbe9a4c Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Mar 24 16:33:51 2015 +0100 MDEV-7825: Parallel replication race condition on gco->flags, possibly resulting in slave hang The patch for optimistic parallel replication as a memory optimisation moved the gco->installed field into a bit in gco->flags. However, that is just plain wrong. The gco->flags field is owned by the SQL driver thread, but gco->installed is used by the worker threads, so this will cause a race condition. The user-visible problem might be conflicts between transactions and/or slave threads hanging. So revert this part of the optimistic parallel replication patch, going back to using a separate field gco->installed like in 10.0. commit 664ce4c507f015311dfe9a4f12c074dcfd365e48 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Mar 24 17:35:29 2015 +0300 Fix linking: move the inline functions commit 4106dfe89b772a78dfc39b79082dd08158cf91ad Merge: ec68494beb1 77e16ce7d65 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Mar 24 16:26:42 2015 +0300 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 77e16ce7d65793451c640014b342d23a28fc1060 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Mar 24 16:17:41 2015 +0300 MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmt Switch from relying on PERFORMANCE_SCHEMA to using our own hooks for counting the time spent reading rows from tables. commit b273e4a5c0e2342cf407d451466df164adfb36c6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Mar 24 13:22:03 2015 +0300 Better comments commit ec68494beb151bc01ff6885476d2d4aeab3fe345 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 23 17:38:55 2015 +0400 MDEV-7677 my_charset_handler_filename has a wrong "ismbchar" member commit 464947e6323dc1e473532b641335e903a36c1d6c Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Mar 22 11:31:10 2015 +0100 - Fix a bug that caused a crash when doing delete on a json table with wrong syntax file - Suppress MYSQL_SUPPORT preprocessor variable commit 4fbba0982436aa871b57facc008a18527c10aacc Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Sat Mar 21 19:54:06 2015 +0200 MDEV-7813 analyze_stmt fails with --embedded flag set Moved the privilege checking code which does not apply for embedded to a separate test case. commit 3578419b778876fc1e7ec2a6994b9273b5d2b166 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 20 12:38:53 2015 +0200 MDEV-7797: file_key_management_plugin uses static IV for a key Currently crypt data is written to file space always. Use that to obtain random IV for every object (file). Beatify code to confort InnoDB coding styles. Conflicts: storage/innobase/fil/fil0crypt.cc storage/xtradb/fil/fil0crypt.cc commit 0c26c0032c9654570021094fa64b2816dc4ac9ea Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 20 13:51:41 2015 +0400 A preparatory patch for MDEV-7284 INDEX: CREATE OR REPLACE. Removing "bool Key::create_if_not_exists" and deriving Key from DDL_options instead. commit 2a2cc164784b10a6c87f626a98b3363a976a5eb7 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 20 11:46:44 2015 +0400 Refactoring in sql_yacc.yy. A pre-requirement patch for MDEV-7801 Unexpected syntax error in ALTER TABLE t1 ADD INDEX TYPE BTREE MDEV-7284 INDEX: CREATE OR REPLACE commit e3795318abd912288d34bb7f30cdb5dce615c781 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Fri Mar 20 09:10:59 2015 +0200 MDEV-5214 Status variables for number of global/db/table/column/role grants Updated information_schema test result; commit ce0427a622d4d6114c60a63c1842f41f40664339 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Mar 19 20:41:57 2015 -0400 Update galera.global_suppressions with galera warnings. commit 1a329935374c799750ebe5cff56809789dd40539 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Wed Mar 18 20:36:58 2015 +0200 MDEV-5214 Status variables for number of global/db/table/column/role grants Implemented the status variables for use with the feedback plugin. commit f8381d9382b02a53fc3a9fd0f8457c5668e9491c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Mar 19 09:47:20 2015 -0400 MDEV-6069: Remove old logic for 3.23-to-higher upgrades from upgrade SQL scripts Fix for failing tests. * Update mysql_system_tables_fix.sql to makeup the differences in system tables in 5.1.17 (main.system_mysql_db_fix50117) * Removed system_mysql_db tests for versions 5.0.30 & 4.1.23. commit b3438f24a17a28b2d396208a1bb072199cef5f39 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 19 14:09:49 2015 +0200 MDEV-7803: Encryption metadata (crypt_data) is written to InnoDB file space page 0 even when encryption is not enabled commit 7733b247e1fae603b8a439cf03bc47c345a88370 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Thu Mar 19 12:21:08 2015 +0100 Same changes than in version 10.0.17 commit 41c337a17174debc7821993b4e790b897835ba81 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Mar 19 21:47:51 2015 +1100 add group_commit_reason_immediate to binlog_commit_wait test commit 81113dae1747e2dd75ff95761d0853dd4387e814 Merge: 69ae5065278 64a290dc316 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 19 10:22:27 2015 +0200 Merge branch '10.1' into bb-10.1-jan commit f3eb1d0e274c7d1adc89c556e21af2cf4e6c2736 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Mar 19 19:21:22 2015 +1100 rpl_parallel_multilevel2 can be 1 or 3 binlog groups commit 64a290dc316c405ccc9b9dfb7ab72ce770935cf1 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 19 10:18:40 2015 +0200 MDEV-7797: file_key_management_plugin uses static IV for a key Currently crypt data is written to file space always. Use that to obtain random IV for every object (file). Beatify code to confort InnoDB coding styles. commit bab0bdbb5c1221bac03082d27318deb524808ebb Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Mar 19 07:07:56 2015 +0200 Introduce two debug crash points while writing crypt data to test redo operations. commit 54287adc27a573a4a564e73ee1eea8aaab3b19cb Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Mar 19 15:26:58 2015 +1100 MDEV-7802 Add status binlog_group_commit_reason_* The following global status variables where added: * binlog_group_commit_reason_count * binlog_group_commit_reason_usec * binlog_group_commit_reason_transaction * binlog_group_commit_reason_immediate binlog_group_commit_reason_count corresponds to group commits made by virtue of the binlog_commit_wait_count variable. binlog_group_commit_reason_usec corresponds to the binlog_commit_wait_usec variable. binlog_group_commit_reason_transaction is a result of ordered transaction that need to occur in the same order on the slave and can't be parallelised. binlog_group_commit_reason_immediate is caused to prevent stalls with row locks as described in log.cc:binlog_report_wait_for. This immediate count is also counted a second time in binlog_group_commit_reason_transaction. Overall binlog_group_commits = binlog_group_commit_reason_count + binlog_group_commit_reason_usec + binlog_group_commit_reason_transaction This work was funded thanks to Open Source Developers Club Australia. commit e28a241907aa7a511b65b196703efaeea71e1dc4 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 18 17:10:48 2015 +0400 MDEV-7661 Unexpected result for: CAST(0xHHHH AS CHAR CHARACTER SET xxx) for incorrect byte sequences commit a471b7098f50e21565ce4c86efcb05d8310e1d62 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Mar 18 15:25:34 2015 +0400 Fixed innodb and innodb_bug59641 failures on PPC64. innodb_buffer_pool_pages_total depends on page size. On Power8 it is 65k compared to 4k on Intel. As we round allocations on page size we may get slightly more memory for buffer pool. Sort XA RECOVER as rows order depend on endianness. commit 5e6905bb7f1c80e5cc368bb917f6e15afc73a269 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 17 10:59:25 2015 +0200 Replace static usage of AES_CTR with current encryption algorithm. commit b0542b78c866fb32383f759914b10f060d0e14cd Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 17 14:56:14 2015 +0400 Installation fix. commit 015994f226cfa94e6d339fdc0de670a054f631b4 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 17 14:44:59 2015 +0400 MDEV-7515 GIS: No AddGeometryColumn or DropGeometryColumn in the tree. Installation scripts added to setup the required SP-s with the mysql_install_db. commit 69ae50652784178f98a308b50ce8afc94f9ab301 Merge: e7b1d7350f4 97037da7161 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 17 11:00:28 2015 +0200 Merge branch '10.1' into bb-10.1-jan commit 97037da7161a5a6bff3753a465a4af37496c9ca5 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 17 10:59:25 2015 +0200 Replace static usage of AES_CTR with current encryption algorithm. commit ccc7297fe94af1129c717f91d31fa075d54a0371 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 17 12:56:38 2015 +0400 Test result fixed. commit 4ba16ea4bc2b4c6e489d03d05f3baece497d49b0 Merge: a3e68b4a558 be1c5660f45 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Mar 17 09:24:22 2015 +0100 Merge MDEV-6981 and MDEV-6981 (from danblack) into MariaDB 10.1 commit a3e68b4a558e1dd0ff61e497316cb6a32d3de410 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 13 14:18:07 2015 +0200 MDEV-7772: SIGSEGV on my_aes_encrypt_cbc when -DWITH_SSL=bundled Two problems: - Read/Write outside of buffer at memcpy() because of incorrect parameters . OPENSSL_assert(EVP_CIPHER_CTX_iv_length(&ctx.ctx) == iv_length); // ECB does not use IV, thus incorrect assertion Added: mysql-test/include/encryption_algorithms.combinations to run tests with methods cbc, ecb and ctr in those systems where they are available (see suite.pm). commit 5e6f12366abb02143ef57b6ff99285d81e3b3a36 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Mar 16 21:50:20 2015 -0400 MDEV-6069: Remove old logic for 3.23-to-higher upgrades from upgrade SQL scripts Removed pre-5.1 tweaks & logics from mysql_system_table_fix.sql. commit 0d7bc1edf35ce0bf91c70cbae8a53930959c4e68 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Mon Mar 16 21:01:58 2015 +0100 32 bit test fix commit fec94a6b44902092ac0294e1b51e1c7d5ee11cc8 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Mar 16 22:54:43 2015 +0400 MDEV-7728 - Improve xid cache scalability by using lock-free hash This is an addition to original patch. Some platforms are strict about atomic op argument signedness. commit e6f67c64cda4e4ca4f1463ae65f301358ed356a7 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 16 21:55:10 2015 +0400 MDEV-6572 "USE dbname" with a bad sequence erroneously connects to a wrong database commit 73d042755345bbc113f6711ce03fd932e72aacd7 Author: Olivier Bertrand <bertrandop@gmail.com> Date: Mon Mar 16 17:22:50 2015 +0100 Changes to avoid compiling error with Visual Studio 2008 Adding files to ignore commit 4cb86b79dd61b51ab09811a8c5ef383a16638fc9 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Mar 16 18:54:45 2015 +0400 MDEV-7728 - Improve xid cache scalability by using lock-free hash Spider support for new xid cache implementation. commit 6bd24deab46efc7d67401ac1b30194f03a03ad02 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Mar 16 18:44:06 2015 +0400 MDEV-7728 - Improve xid cache scalability by using lock-free hash XID cache is now based on lock-free hash. Also fixed lf_hash_destroy() to call alloc destructor. Note that previous implementation had race condition when thread was accessing XA owned by different thread. This new implementation doesn't fix it either. commit be1c5660f45503ab911cc72797ff9fee10d0db8f Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Mar 16 15:02:05 2015 +0100 MDEV-6981: feature request MASTER_GTID_WAIT status variables Missing .result file update. commit 1f8efee58467d05c76ac366226634d181cc72153 Merge: ef4d8db5ece 9362dd43ff6 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Mar 16 14:54:16 2015 +0100 Merge MDEV-7198: status variable for Slave_skipped_errors commit ef4d8db5ece5edfe3574561a8cec70863d390c91 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Mar 16 14:40:29 2015 +0100 MDEV-6981: feature request MASTER_GTID_WAIT status variables Review fixes: - Coding style - Fix bad .result file - Fix test to be tolerant of different timing. - Fix test to give better info in case of unexpected timing. commit 0e717c5bf424a7411030d625499485a821591830 Merge: 18e9c314e43 fa5809ce109 Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Mon Mar 16 13:41:11 2015 +0100 Merge branch 'mdev-6981-master_gtid_wait-status-variables' of https://github.com/openquery/mariadb-server into danblack Conflicts: sql/mysqld.cc commit 9362dd43ff6f08d3cde4f62c11aa0588ed84eee1 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Mon Mar 16 23:15:36 2015 +1100 additional slave_skip_errors status commit 51ea3939b4b5dfd3b72c4b1a6e6a9681a10f21e6 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Mon Mar 16 23:06:30 2015 +1100 Complete test for status slave_skipped_errors commit 18e9c314e43271debf58f3c3e5bf454eab655799 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Feb 10 14:05:49 2015 +0400 MDEV-6650 - LINT_INIT emits code in non-debug builds Replaced all references to LINT_INIT with UNINIT_VAR and LINT_INIT_STRUCT. Removed LINT_INIT macro. commit e7b1d7350f42a00a9920c704ae9099c2a2fe0821 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Mar 16 12:47:32 2015 +0200 Introduce only one combinations file and and rule for aes_ctr to suite.pm so that it is not used if not available. commit 10554ca6cbb6a02098b0cc1a55fb5426164ef348 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Mar 16 12:02:21 2015 +0400 Test results fixed. commit f48dc5ccc7246c5ca9ebad2acc2d1d56a3470f9d Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 16 12:14:31 2015 +0400 Moving the conversion code from String::well_formed_copy() to my_convert_fix() - a new function in /strings. commit c4b268add0475c6633f35eaf8cf4c7fbcad298f6 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Mar 16 09:14:13 2015 +0200 InnoDB cleanup. Remove empty statements i.e. extra ; characters. commit da4b52432a773aaa1ec9a6e231b19f77595f69f7 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Mar 15 23:00:05 2015 +0400 MDEV-7512 GIS: ST_ synonyms for functions are not consistent. Checked for missing synonims, added those found. commit 874f0d77594cf9d042daf1e95ea297d3680261fe Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Mar 15 22:27:45 2015 +0400 Test result fixed. commit 37345bd9dde7fb948c439e73fbec5a88385162b2 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Mar 15 22:20:38 2015 +0400 MDEV-7529 GIS: ST_Relate returns unexpected results for POINT relations. Problem was that we considered the point itself as the 'border' object. Instead of that the 'border' of a POINT is an empty set, and the point is the 'interior'. Another error fixed by the way - not all operations of the resulting function were properly allocated. commit 6cf20936531dba4d45fa7e6d54e8dd89065f516b Author: Olivier Bertrand <bertrandop@gmail.com> Date: Sun Mar 15 14:31:43 2015 +0100 - Commit changes to .gitignore commit ca3041883725393baa6c645050ef926d782eb3a8 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Mar 15 11:17:50 2015 +0400 MDEV-7514 GIS: PointOnSurface returns NULL instead of the point. Need to take into account cases of a polygon shaped as a very thin line. commit a21ef88d2a358904f0cdf9cadc701cb263b5e317 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 11 11:02:13 2015 +0100 MDEV-6954: SET STATEMENT rand_seedX = ...FOR ... makes the next rand() to return 0 The variables now return real values. They can't be made usual variables because they do not have DEFAULT value. commit 41106b229e027890e0fb02e6ba6c2be11fe3469a Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Fri Mar 13 16:32:47 2015 +0100 MDEV-6997: SET STATEMENT last_insert_id FOR ... does not affect the value written to the binlog Problem was in reinitialization of first_successful_insert_id_in_prev_stmt_for_binlog after setting variables. commit 197afb413fcc9f06b5e5e6ef41ce980d108b354f Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 13 16:51:36 2015 +0400 MDEV-6566 Different INSERT behaviour on bad bytes with and without character set conversion commit 7c21ea9f502ded155c12a0ee3c5ff0602e9d4c9a Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 13 14:18:07 2015 +0200 MDEV-7772: SIGSEGV on my_aes_encrypt_cbc when -DWITH_SSL=bundled Two problems: - Read/Write outside of buffer at memcpy() because of incorrect parameters . OPENSSL_assert(EVP_CIPHER_CTX_iv_length(&ctx.ctx) == iv_length); // ECB does not use IV, thus incorrect assertion Added: mysql-test/include/have_file_key_management_plugin.combinations ( to run with aes_cbc and aes_ecb) mysql-test/include/have_openssl_ctr.combinations ( to run with aes_cbc, aes_ecb and aes_ctr) commit 702fba1511c90ea9c72b6c00122e0f31a05237b4 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Fri Mar 13 16:10:31 2015 +0400 MDEV-7510 GIS: IsRing returns false for a primitive triangle. The problem is in the IsSimple function. If the first and the last points of a curve coincide it's and exception and the line is still 'simple'. commit 75d65b5f4e5428310e57155903602801d7d86ee2 Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 13 15:48:39 2015 +0400 MDEV-6989 BINARY and COLLATE xxx_bin comparisions are not used for optimization in some cases commit bd2105855ac03cb3d4705342b01a3361a45a5f7c Author: Alexander Barkov <bar@mariadb.org> Date: Fri Mar 13 13:52:07 2015 +0400 Adding "const" qualifier to Item::compare_collation() commit 4d0e52189ca945c94146035c2733d85c9c6fd18d Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 13 09:38:08 2015 +0200 MDEV-7770: Online DDL progress output contains incorrectly printed index names Index names were not formatted correctly. commit bb3115b256113097bcfd0d80213e160339e4b00b Author: Alexander Barkov <bar@mariadb.org> Date: Thu Mar 12 18:12:15 2015 +0400 MDEV-6990 GROUP_MIN_MAX optimization is not applied in some cases when it could commit 129c82bb5916d05ece4efad55e8dede3005559b4 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Mar 12 17:50:23 2015 +0400 MDEV-7334 valgrind warning "unitialized bytes" in 10.1. The 'srid' field's copying was missing in the copying Create_field::Create_field() constructor. commit 8249dcaaebf8cd1944bd4ab7ccaa8b199e76d6f9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 10 08:28:51 2015 +0200 MDEV-6858: enforce_storage_engine option Merge from Percona Server enforced use of a specific storage engine authored by Stewart Smith. Modified to be session variable and modifiable only by SUPER. Use similar implementation as default_storage_engine. commit ba3573cae8f0d269452cc6213f1a8243e455830e Author: Alexander Barkov <bar@mariadb.org> Date: Thu Mar 12 13:40:52 2015 +0400 Clean-up: - Renaming Item::is_bool_func() to is_bool_type(), to avoid assumption that the item is an Item_func derivant. - Deriving Item_func_spatial_rel from Item_bool_func rather than Item_int_func commit a71e2d23bd08ca041a953df44f2235a8ef20bfcc Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Feb 17 12:54:51 2015 +0100 MDEV-7006 MDEV-7007: SET STATEMENT and slow log fixed embedded server tests MDEV-7009: SET STATEMENT min_examined_row_limit has no effect MDEV-6948:SET STATEMENT gtid_domain_id = ... FOR has no effect (same for gtid_seq_no and server_id) old values of SET STATENENT variables now saved in its own Query_arena and restored later commit dab12366b1c7ee4e3477ac9dd37ea6c24113cf5b Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Feb 25 21:29:13 2015 +0100 MDEV-6956:SET STATEMENT default_master_connection = ... has no effect the problem was in assigning default value during parsing. commit e91bc2e91d649d4650fc4d8961edc3280d1203fe Author: Alexander Barkov <bar@mariadb.org> Date: Thu Mar 12 11:40:37 2015 +0400 MDEV-7759 NULLIF(x,y) is not equal to CASE WHEN x=y THEN NULL ELSE x END commit fa5809ce109a8966059ea3cbda982cf2f160c430 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Mar 12 06:43:38 2015 +1100 Add Master_gtid_wait_{count,time,timeouts} status MASTER_GTID_WAIT function needs some status to evaluate its use. master_gtid_wait_count indicates how many times the function is called. master_gtid_wait_time indicates how much time in microseconds occurred waiting (or timing out) master_gtid_timeouts indicates how many time times this function timed out rather than all successful gtids events being available. commit eac71ced18e281e2b4e6bd9bb1739d227e9d55d2 Author: Daniel Black <grooverdan@users.sourceforge.net> Date: Thu Mar 12 05:23:05 2015 +1100 Add Slave_skipped_errors to global status This counts the number of times a replication event is ignored due to slave_skip_errors. commit 555915faa9fc5ec0a7df09b51716be027120fa8c Merge: 100249be6aa 7a6cad5221b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 11 13:15:16 2015 -0400 Merge branch '5.5-galera' into 10.0-galera Conflicts: mysql-test/suite/galera/r/rpl_row_annotate.result sql/rpl_rli.cc sql/slave.cc sql/wsrep_applier.cc sql/wsrep_thd.cc commit 80f03abcca0d902a876d10e6c1dc8c4c6d3b2bfa Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Mar 10 10:24:20 2015 +0100 MDEV-7671: Cache VIEW definitions in the TDC (changes of backported patch are very small: strlen removed, error processing fixed, view open statistics added) commit 7a6cad5221b19ed5d54eaca83c16655089734a0e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 11 12:36:00 2015 -0400 Backport fix for MDEV-7673, MDEV-7203 and MDEV-7192 from 10.0-galera commit 3aa1a600bb3cc72dd30edd8f1c41b90e1157a2ed Merge: be73c7ee441 52a1b5a8c23 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 11 15:15:43 2015 +0100 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit be73c7ee4415af4c1188689e1642a39512c2ecbd Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Wed Mar 11 14:57:30 2015 +0100 MDEV-6951: Erroneous SET STATEMENT produces two identical errors Double error reporting removed. commit 52a1b5a8c23ebd068172c3c18a4f11c690fd1a2c Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Mar 11 13:05:03 2015 +0400 MY_CHECK_AND_SET_COMPILER_FLAG changes * watch for "redefined macro" warning * don't enable -D_FORTIFY_SOURCE=2 in debug builds (it requires -O) commit 190858d996e7dc90e01fe8a5e7daec6af0012b23 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 11 12:40:35 2015 +0400 Removing duplicate code: adding Item_func_bool_predicate as a common parent class for Item_func_isnull and Item_func_isnotnull commit 9f4ee16bf351ea2969d73abcdea92e70538c723c Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Mar 11 07:29:51 2015 +0200 MDEV-7619: Improve long semaphore wait output Add holder thread_id, file_name and line to output. commit ba43735c6871656d50e6d6fb6dc0d7308e9ea749 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Mar 10 22:34:57 2015 +0400 Check for the openssl-dev so the build doesn't fail without it. commit 100249be6aa00288081b2374db105a81cc525daf Merge: 56bbc0a2308 07ff90e99b4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Mar 10 09:23:03 2015 -0400 Merge branch '5.5-galera' into 10.0-galera Conflicts: storage/innobase/dict/dict0dict.c storage/xtradb/dict/dict0dict.c commit 0ed57e34c76ffa5e457e1abb402ada6352fb52b2 Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> Date: Wed Mar 4 12:20:10 2015 +0200 MDEV-7025 ANALYZE SELECT/INSERT/UPDATE/DELETE from a view does not check access permissions on the view Added access checking for the ANALYZE statement command. commit c8035da9b8d037b43c27268b37df40e587780bec Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 10 14:05:57 2015 +0200 Add more information if page state is not correct. commit 07ff90e99b40f86511651415d13a3299a45a01d4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Mar 9 22:55:54 2015 -0400 Reduce gcache size to cut down disk usage commit f7d196bb2e605766668895027c48728f03803734 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 8 17:22:37 2015 +0100 32bit fix commit e2de804491a62a1b2a414ad9f49a8cde85d4cf9e Merge: 5bff6c5d579 2288b84df46 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 8 12:54:42 2015 +0100 Merge branch '10.1' into bb-10.1-serg commit 6c19f51a5fe6bd0dbecf3cb8fd4f88e4f8da477e Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Fri Mar 6 11:19:23 2015 +0200 MDEV-7672: Crash creating an InnoDB table with foreign keys Analysis: after a red-black-tree lookup we use node withouth checking did lookup succeed or not. This lead to situation where NULL-pointer was used. Fix: Add additional check that found node from red-back-tree is valid. commit 1626e0d3d48f56bd91239c4fcbc24595ee3a34e3 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Mar 7 22:47:28 2015 +0300 MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmt Show total execution time (r_total_time_ms) for various parts of the query: 1. time spent in SELECTs 2. time spent reading rows from storage engines #2 currently gets the data from P_S. commit 2288b84df46501b89a70d7dc3b46020e0af9a95e Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Mar 7 20:51:35 2015 +0300 MDEV-7679: ANALYZE crashes when printing WHERE when no default db Fix Item_ident::print() to work when there is no current database commit 66ad265f3b58121d5a48c492dff79f48863df7c0 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Mar 7 19:30:19 2015 +0300 MDEV-7674: ANALYZE shows r_rows=0 Change r_rows to be double commit 5bff6c5d579af21ba05ecee3152c620e6c705932 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 7 15:32:52 2015 +0100 bison warning: clash on default action: <NONE> != <object_ddl_options> commit 6d8b74dd0736d95827fd73c1fa965482f293d911 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 5 17:11:23 2015 +0100 add a test for drop trigger under --read-only commit 18feb62feeb833494d003615861b9c78ec008a90 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Mar 4 10:13:06 2015 +0100 MDEV-6819 st_mysql_show_var::value should be void* not char* commit 20cacb00647cf4e5e170338363f3f09cf2f5b2e6 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Mar 5 09:58:08 2015 +0100 fix a crash of innodb.innodb_mutexes,innodb_plugin add forgotten initialization of the mutex name commit 2db62f686e148f09fe5fd0b385fc71f2a3c4a133 Merge: 143f5d91726 d61573d3e5c Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Mar 7 13:21:02 2015 +0100 Merge branch '10.0' into 10.1 commit 56bbc0a2308355d0d40d0222a399aac3149c5022 Merge: d146605124a e52a58a5cc3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Mar 6 23:46:35 2015 -0500 Merge branch '5.5-galera' into bb-10.0-galera-merge Conflicts: BUILD/compile-pentium-debug-wsrep BUILD/compile-pentium-wsrep BUILD/compile-pentium64-wsrep CMakeLists.txt client/mysqlcheck.c cmake/cpack_rpm.cmake cmake/install_macros.cmake cmake/os/FreeBSD.cmake cmake/plugin.cmake cmake/wsrep.cmake debian/dist/Debian/control debian/dist/Debian/mariadb-galera-server-10.0.README.Debian debian/dist/Debian/mariadb-galera-server-10.0.postrm debian/dist/Debian/mariadb-galera-server-5.5.README.Debian debian/dist/Debian/mariadb-galera-server-5.5.dirs debian/dist/Debian/mariadb-galera-server-5.5.files.in debian/dist/Debian/mariadb-galera-server-5.5.postinst debian/dist/Debian/mariadb-galera-server-5.5.postrm debian/dist/Debian/mariadb-server-5.5.README.Debian debian/dist/Debian/mariadb-server-5.5.postrm debian/dist/Debian/rules debian/dist/Ubuntu/control debian/dist/Ubuntu/mariadb-galera-server-10.0.README.Debian debian/dist/Ubuntu/mariadb-galera-server-10.0.postrm debian/dist/Ubuntu/mariadb-galera-server-5.5.README.Debian debian/dist/Ubuntu/mariadb-galera-server-5.5.dirs debian/dist/Ubuntu/mariadb-galera-server-5.5.files.in debian/dist/Ubuntu/mariadb-galera-server-5.5.postinst debian/dist/Ubuntu/mariadb-galera-server-5.5.postrm debian/dist/Ubuntu/mariadb-galera-server-5.5.py debian/dist/Ubuntu/mariadb-server-5.5.README.Debian debian/dist/Ubuntu/mariadb-server-5.5.postrm debian/dist/Ubuntu/rules debian/mariadb-galera-server-10.0.NEWS debian/mariadb-galera-server-10.0.config debian/mariadb-galera-server-10.0.logcheck.ignore.paranoid debian/mariadb-galera-server-10.0.logcheck.ignore.server debian/mariadb-galera-server-10.0.logcheck.ignore.workstation debian/mariadb-galera-server-10.0.mysql-server.logrotate debian/mariadb-galera-server-10.0.prerm debian/mariadb-galera-server-5.5.NEWS debian/mariadb-galera-server-5.5.config debian/mariadb-galera-server-5.5.logcheck.ignore.paranoid debian/mariadb-galera-server-5.5.logcheck.ignore.server debian/mariadb-galera-server-5.5.logcheck.ignore.workstation debian/mariadb-galera-server-5.5.mysql-server.logrotate debian/mariadb-galera-server-5.5.mysql.init debian/mariadb-galera-server-5.5.preinst debian/mariadb-galera-server-5.5.prerm debian/mariadb-galera-server-5.5.templates debian/mariadb-galera-test-10.0.links debian/mariadb-galera-test-5.5.dirs debian/mariadb-galera-test-5.5.files debian/mariadb-galera-test-5.5.links debian/mariadb-server-5.5.NEWS debian/mariadb-server-5.5.config debian/mariadb-server-5.5.logcheck.ignore.paranoid debian/mariadb-server-5.5.logcheck.ignore.server debian/mariadb-server-5.5.logcheck.ignore.workstation debian/mariadb-server-5.5.mysql-server.logrotate debian/mariadb-server-5.5.prerm debian/mariadb-test-5.5.links debian/po/POTFILES.in debian/po/ar.po debian/po/ca.po debian/po/cs.po debian/po/da.po debian/po/de.po debian/po/es.po debian/po/eu.po debian/po/fr.po debian/po/gl.po debian/po/it.po debian/po/ja.po debian/po/nb.po debian/po/nl.po debian/po/pt.po debian/po/pt_BR.po debian/po/ro.po debian/po/ru.po debian/po/sv.po debian/po/templates.pot debian/po/tr.po mysql-test/extra/binlog_tests/binlog.test mysql-test/include/mtr_check.sql mysql-test/r/innodb_load_xa_with_wsrep.result mysql-test/r/mysqld--help.result mysql-test/suite/binlog/r/binlog_row_binlog.result mysql-test/suite/binlog/r/binlog_stm_binlog.result mysql-test/suite/galera/galera_2nodes.cnf mysql-test/suite/galera/r/create.result mysql-test/suite/galera/t/create.test mysql-test/suite/perfschema/r/all_instances.result mysql-test/suite/perfschema/r/dml_setup_instruments.result mysql-test/suite/wsrep/r/variables.result mysql-test/suite/wsrep/t/variables.test mysql-test/t/mysqld--help.test mysys/default.c mysys/thr_lock.c scripts/CMakeLists.txt scripts/mysqld_safe.sh scripts/wsrep_sst_common.sh scripts/wsrep_sst_mysqldump.sh scripts/wsrep_sst_rsync.sh scripts/wsrep_sst_xtrabackup-v2.sh sql/event_data_objects.cc sql/events.cc sql/ha_partition.h sql/handler.cc sql/handler.h sql/lock.cc sql/log.cc sql/log.h sql/log_event.cc sql/mdl.cc sql/mysqld.cc sql/mysqld.h sql/rpl_record.cc sql/slave.cc sql/sp.cc sql/sql_acl.cc sql/sql_admin.cc sql/sql_alter.cc sql/sql_base.cc sql/sql_class.cc sql/sql_class.h sql/sql_connect.cc sql/sql_insert.cc sql/sql_parse.cc sql/sql_partition_admin.cc sql/sql_prepare.cc sql/sql_repl.cc sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sys_vars.cc sql/transaction.cc sql/wsrep_applier.cc sql/wsrep_binlog.cc sql/wsrep_binlog.h sql/wsrep_hton.cc sql/wsrep_mysqld.cc sql/wsrep_mysqld.h sql/wsrep_priv.h sql/wsrep_sst.cc sql/wsrep_sst.h sql/wsrep_thd.cc sql/wsrep_thd.h sql/wsrep_utils.cc sql/wsrep_var.cc storage/innobase/dict/dict0dict.c storage/innobase/fil/fil0fil.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/handler/handler0alter.cc storage/innobase/include/lock0lock.h storage/innobase/include/srv0srv.h storage/innobase/include/trx0sys.h storage/innobase/include/trx0trx.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/rem/rem0rec.c storage/innobase/row/row0ins.c storage/innobase/row/row0upd.c storage/innobase/srv/srv0srv.c storage/innobase/trx/trx0roll.c storage/innobase/trx/trx0sys.c storage/innobase/trx/trx0trx.c storage/innobase/ut/ut0ut.c storage/tokudb/CMakeLists.txt storage/xtradb/buf/buf0buf.c storage/xtradb/dict/dict0dict.c storage/xtradb/handler/ha_innodb.cc storage/xtradb/handler/ha_innodb.h storage/xtradb/handler/handler0alter.cc storage/xtradb/include/lock0lock.h storage/xtradb/include/srv0srv.h storage/xtradb/include/trx0sys.h storage/xtradb/lock/lock0lock.c storage/xtradb/os/os0file.c storage/xtradb/os/os0proc.c storage/xtradb/rem/rem0rec.c storage/xtradb/row/row0ins.c storage/xtradb/row/row0upd.c storage/xtradb/srv/srv0srv.c storage/xtradb/srv/srv0start.c storage/xtradb/trx/trx0roll.c storage/xtradb/trx/trx0sys.c storage/xtradb/trx/trx0trx.c support-files/mysql.server.sh support-files/mysql.spec.sh wsrep/CMakeLists.txt commit d146605124a3d326f3769fd162e0af0a124266a9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Mar 6 13:22:15 2015 -0500 MDEV-7673: CREATE TABLE SELECT fails on Galera cluster Enable execution of CREATE TABLE SELECT in total order isolation. Added a test case. Contributed by : Andrew W Elble commit c6acdf7c281f91026cfac549d718511b9ed083aa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Mar 6 13:19:49 2015 -0500 MDEV-7203: replicate_events_marked_for_skip didn't work on Galera cluster OPTION_SKIP_REPLICATION flag needs to be preserved for events received on non-originating nodes. commit 6f9e33ecb020bcf3e6db246bc04a9be153c63dc4 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Dec 26 23:38:45 2014 +0400 MDEV-7273 - 10.1 fails to start up during tc_log initializations on PPC64 log-tc-size is 24K by default. Page size is 64K on PPC64. But log-tc- size must be at least 3 x page size. This is enforced by TC_LOG_MMAP::open() with a comment: to guarantee non-empty pool. This all makes server not startable in default configuration on PPC64. Autosize log-tc-size, so that it's min value= page size * 3, default value= page size * 6, block size= page size. Conflicts: mysql-test/suite/sys_vars/inc/sysvars_server.inc mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result mysql-test/t/mysqld--help.test sql/mysqld.cc sql/sys_vars.cc commit 9af42db6138a555454b7631761b81f8d259f014e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Mar 5 14:14:00 2015 -0500 MDEV-7192: binlog_annotate_row_events not completely compatible with galera Annotate_rows event needs to be preserved until the last Rows event has been applied because after it has been applied thd->query points to the query stored inside this event. commit 73a143ab34be0007cc0fc17cf5fda00fef063c1c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 4 19:52:15 2015 -0500 Update galera package name commit e52a58a5cc338a82a9de446785f81c8f45064fa5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Mar 4 19:49:17 2015 -0500 Update galera package name commit 143f5d9172647a43cdcf5c27b8a78f32c9f639c0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 3 17:38:02 2015 +0200 MDEV-7061: Augment innochecksum to give insight of fragmentation Merged https://github.com/facebook/mysql-5.6/commit/615dd07d900ce08948340b6c11e37fd1d2a91065 from https://github.com/facebook/mysql-5.6/ authored by rongrong. Removed C++11 requirement by using std::map instead of std::unordered_set. Add analysis to leaf pages to estimate how fragmented an index is and how much benefit we can get out of defragmentation. commit 2e4dc5a3703c3e8e00cb0b403c9c3118e3d0e4af Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Mar 4 14:06:44 2015 +0100 after-merge fixes commit 95d72088596c9c58c30ab87781061094309b4460 Merge: f4f37533a09 78c74dbe30d Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Wed Mar 4 13:48:28 2015 +0100 Merge MDEV-6589 and MDEV-6403 into 10.1. Conflicts: sql/log.cc sql/rpl_rli.cc sql/sql_repl.cc commit f4f37533a09b9776e8d5ac3f3a27957f553c9043 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Mar 4 11:01:32 2015 +0400 Replaced lf-hash element_size hack with initializer function. commit 5c6aa4dea00c4e289491dfa717a25b56ec9441c2 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Feb 27 11:30:35 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Replaced hash with lock-free hash. commit d9e3a9f20e59142666c72c7fb876fbf05b0cf510 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Feb 27 00:01:38 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Extended lf-hash implementation to accept user defined hash function. commit 9c8165fdb46737c5a7205849e9197c4d35f7b5d8 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 26 21:17:33 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Added initializer callback to lf-hash. Needed to initialize properly non-POD types. commit f5bd1d012653f074b7eca7f5bc136e2bcb988980 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 26 18:40:05 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Simplified MDL_object_lock and MDL_scoped_lock dichotomy so that they can be stored in LF_HASH. This was done by moving out their differences to a MDL_lock_strategy structure which is referenced from the MDL_lock object by pointer. commit f475a7f9490a59e38fade4bc334986b6681abc59 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 26 13:12:28 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Replaced m_ref_usage, m_ref_release, m_is_destroyed and m_version with single m_state, which is updated atomically. Needed to get rid of MDL_map::m_mutex. commit ecd3ff9f24d8cf0c51ad564d9c8b335299dcdd9e Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 26 13:12:01 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Removed MDL map partitions. Won't be needed when this MDEV is implemented. commit 903160ef5937daab0b13c534e0704be428efb0f0 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 26 13:11:30 2015 +0400 MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash" Removed MDL objects cache. Won't be needed when this MDEV is implemented. commit 87b0cc99123e5d6923c77ac3e08c4e9ed0d4d769 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 4 09:52:01 2015 +0400 MDEV-7286 TRIGGER: CREATE OR REPLACE, CREATE IF NOT EXISTS Based on the patch by Sriram Patil, made under terms of GSoC 2014. commit a7ed8523e35ff2e82701cd1f483c8f665f322f3b Author: Alexander Barkov <bar@mariadb.org> Date: Wed Mar 4 09:16:43 2015 +0400 Adding a shared include file ctype-mb.ic and removing a number of very similar copies of my_well_formed_len_xxx(), implemented for big5, cp932, euckr, eucjpms, gb2312m gbk, sjis, ujis. commit d8c1165c28ae6ce2e29ecd5492c2540bfd6b2177 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Mar 3 11:46:44 2015 +0100 fix failing innodb.innodb-page_encryption_log_encryption again adjust suppression rules after warning message format change commit b1b6101af2f69871ff3f3049c6e42e95ced20544 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Mar 2 18:24:22 2015 +0400 A preparatory patch for MDEV-6566. Adding a new virtual function MY_CHARSET_HANDLER::copy_abort(). Moving character set specific code into the correspoding implementations (for simple, multi-byte and mbmaxlen>1 character sets). commit 7047bef1ef8c2cf04932b4b1a51a479a746d9a40 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Mar 2 10:55:48 2015 +0200 Use standard InnoDB error mechanism on compression and encryption error messages. commit 1f1f977167c7e749a4f906a878157978907551b0 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 1 16:51:34 2015 +0100 Fix test failing when file_key_management_plugin doesn't load * remove useless suppressions from the test file, when a plugin doesn't load, the file isn't executed anyway * add the suppression to mysql-test-run.pl instead commit c3f80a2bff953e18a2252935c45292f2a5013757 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Mar 1 16:53:16 2015 +0100 fix new innodb warnings to use the standard innodb warning syntax commit c78f594bbc934a080c5008ddc7a11daf2595a75c Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 28 13:51:22 2015 +0100 MDEV-6479 stack traces in 10.1 Take into account that PIE binaries are loaded at some offset, so addresses cannot be directly resolved with addr2line. Find this offset and subtract it before resolving an address. commit 7ba2916c552638e3f8ab4cf2945bbfe99f745dd4 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 27 21:42:03 2015 +0100 MDEV-7000 Assertion `0' failed in Protocol::end_statement() on executing DDL under innodb_fake_changes=1 correct the if() condition to match the behavior of the old code that this if() was supposed to replace commit ba80708f66fca32c7c2fbc66879177e5590e53fb Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 27 20:13:51 2015 +0100 MDEV-6960 Server crashes in check_alter_user on setting a default role via PS There were two issues: * set_var_default_role::user was overwritten with a new value, allocated in the thd->mem_root, which is reset between executions. That was causing the crash. Solved by introducing set_var_default_role::real_user * when privilege tables were opened on EXECUTE, the reprepare_observer would abort the statement (as privilege tables are opened using the local TABLE_LIST that doesn't preserve metadata from PREPARE, so reprepare_observer thought they're changed). This issue also applied to SET PASSWORD. Solved by disabling reprepare_observer. commit 7951bb16565e84a87d5289fa3eb4450bdf50ab96 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Feb 25 17:34:31 2015 +0100 cleanup: remove unused variables commit 75a27eeaf7a0bcdd3888e1bbaf5d55c573d7696b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 23:33:22 2015 -0500 MDEV-4987: Sort by domain_id when list of GTIDs are output Added logic to sort gtid list based on domain_id before populating them in string. Added a test case. commit 34d86ac9ff664972d2031e3fabf6c4a407e32c8a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 22:33:41 2015 -0500 MDEV-6594: Use separate domain_id for Galera transactions commit 0f8cb3c399b230dbbf1ab2f8d11538e2ae0c27c1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 22:30:38 2015 -0500 MDEV-7615: Remove --galera-sst-mode option from mysqldump Removed 'galera-sst-mode' option from mysqldump and added logic in wsrep_sst_mysqldump script to retrieve gtid_binlog_state from donor node and send it to the joiner node. commit 4c191de323be14993947197d84057c4d32fda0e6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 22:13:37 2015 -0500 MDEV-7560: wsrep* tests depend on the version of galera library Added an include file to check galera library version. commit aa2904a7f4014cd4790086a2512dc39b533b2a8a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 22:13:37 2015 -0500 MDEV-7560: wsrep* tests depend on the version of galera library Added an include file to check galera library version. commit 16c446235ecba3abeaee0fa8e433d882ee833cd7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 24 21:55:22 2015 -0500 Changes in wsrep_guess_ip() * Changed loopback detection to be done via ifa->ifa_flags * Removed unused function wsrep_guess_address() commit 8ee5668033ed9f4c59cd5bf0b995dd77d326fe36 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 24 21:55:22 2015 -0500 Changes in wsrep_guess_ip() * Changed loopback detection to be done via ifa->ifa_flags * Removed unused function wsrep_guess_address() commit af651c80f7d7b49a141958a68e81f2de90e62f25 Merge: f02fdb6b55a 5c66abf0b0d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 27 17:36:54 2015 -0500 Merge tag 'mariadb-10.0.17' into 10.0-galera Conflicts: storage/innobase/include/trx0trx.h commit 72d7b12b9c9c5ceffef9fff3adc86c149f57f20f Author: Alexander Barkov <bar@mariadb.org> Date: Fri Feb 27 16:26:12 2015 +0400 Reducing duplicate code and simplifying well formed string copying by adding a new class String_copier. This is a pre-requisite patch for MDEV-6566 and MDEV-6572, to avoid adding more similar code. commit 2d01907c1d6c65ff6d851dec032540f2ff57caae Author: Alexander Barkov <bar@mariadb.org> Date: Fri Feb 27 13:34:18 2015 +0400 MDEV-7281 EVENT: CREATE OR REPLACE commit 77806da0da65add3a9e1709aa9b14c3496d33dd1 Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Thu Feb 26 23:31:35 2015 +0200 Fix incorrect parameter passing to create_tmp_table in create_result_table Create_tmp_table was called incorrectly called in select_materialized_with_stats::create_result_table, having keep_row_order passed for the do_not_open parameter and keep_row_order always set to false. commit d7c6f1191d375f703dd4d7d30d47c8221a9257ee Merge: 018f932024e f37b857f803 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Feb 26 19:41:21 2015 +0200 Try to fix test warning. commit f37b857f803fcc0ae8c3e66a57849df76ffdacee Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Thu Feb 26 17:19:51 2015 +0200 Fix test case. commit 018f932024ee92987f56446445776810796a942d Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Feb 26 12:09:35 2015 +0200 test commit 2eae6848d9758f7781ea86df2061b473542c33c6 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 25 13:26:57 2015 +0200 MDEV-7572: InnoDB: Assertion failure in log_init_crypt_key if file_key_management_plugin is used Fixed error handling and added disabling InnoDB redo log encryption if encryption key management plugin is not there. commit 702aee649287a1b2c4834794732feaf13960fd58 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Feb 25 23:56:44 2015 +0300 MDEV-6323: ‘explain_node’ may be used uninitialized in this function - Remove the compiler warning, add assert statements. - make select_describe() not call mysql_explain_union() for views that were "merged for INSERT". commit 2330107ca886512c2f03696ce086f94beb39d70b Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 25 13:26:57 2015 +0200 MDEV-7572: InnoDB: Assertion failure in log_init_crypt_key if file_key_management_plugin is used Fixed error handling and added disabling InnoDB redo log encryption if encryption key management plugin is not there. commit 4fb2f6690748833775b888a49501a7057e827be6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Feb 24 21:55:22 2015 -0500 Changes in wsrep_guess_ip() * Changed loopback detection to be done via ifa->ifa_flags * Removed unused function wsrep_guess_address() commit da181fee4ec849985b15a758c6b26058a0f5e318 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 24 16:26:18 2015 +0100 disable feedback plugin again commit b2862912af1af30158208197f979d5395494bf8f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Sun Feb 22 08:46:22 2015 +0200 Try to stabilize test case. Problem was that test compares number of encryption/compression pages and that will happen if and only if dirty pages are written to the disk. commit 1cc7befc14cd2ad637ffb6fc29fae0f978735acf Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Sat Feb 21 21:45:16 2015 +0200 MDEV-7109: Add support for INFORMATION_SCHEMA.INNODB_SEMAPHORE_WAITS MDEV-7399: Add support for INFORMATION_SCHEMA.INNODB_MUTEXES MDEV-7618: Improve semaphore instrumentation Introduced two new information schema tables to monitor mutex waits and semaphore waits. Added a new configuration variable innodb_intrument_semaphores to add thread_id, file name and line of current holder of mutex/rw_lock. commit f02fdb6b55a2b29595cb7e4eed48a51755e967fb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 20 22:11:45 2015 -0500 MDEV-7615: remove galera_sst_mode.result file commit f68ce6860454379f65131046dbba8cd4e65acda1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 20 17:51:33 2015 -0500 MDEV-7615: Remove --galera-sst-mode option from mysqldump Removed 'galera-sst-mode' option from mysqldump and added logic in wsrep_sst_mysqldump script to retrieve gtid_binlog_state from donor node and send it to the joiner node. commit 360ff3b0da557dc9fdbf3178ccaf084e6cb36cd0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 20 17:29:03 2015 -0500 Fix for build failures on Power8 commit c6e62acb9e78d28179f922f2c212ae82d390c138 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 20 17:21:15 2015 -0500 Fix for build failures on Power8 commit 69e5f0f42395d0028e75760685cdd7588854f1df Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Feb 19 17:48:23 2015 -0500 cleanup: remove duplicate declaration commit a174aaed754b96cefe4a9dd2bb2865f81bad1471 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Feb 19 17:28:18 2015 -0500 cleanup: remove unused THD::COND_wsrep_thd Conflicts: mysql-test/suite/perfschema/r/all_instances.result sql/mysqld.h commit 1e6f46d78f61dbf5cbb13a862ddc0bb6fcaaf41b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Feb 19 17:28:18 2015 -0500 cleanup: remove unused THD::COND_wsrep_thd commit 9152b83973419ea034bb6040703c18b3ee87e084 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Feb 19 17:42:18 2015 +0200 Merged from 10.0-FusionIO: Added support for compression method snappy for page compression. commit bab1c686a464afab46caef7639086acefa43b63c Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Feb 19 12:41:10 2015 +0200 Push forgotten file change to fix compiler errors. commit fcc6e12d69e371e160735bcd4fb324f7a382eda3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 18 19:02:00 2015 -0500 MDEV-7544: Update global_suppressions to include warning related to "gvwstate.dat" commit a518cc4470124854482467de92abdfff69f83baf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 18 18:59:01 2015 -0500 MDEV-7544: Update global_suppressions to include warning related to "gvwstate.dat" commit 860576f4161ab0ea29bf7ecf6dee0e9d10b6fed6 Merge: cd187ecf90e f37bdd9c1a2 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 18 18:07:45 2015 -0500 Merge branch '10.0' into 10.0-galera Merge branch 10.0 till revision: f37bdd9 - Merge remote-tracking branch 'github/10.0' into 10.0 Conflicts: .bzrignore storage/xtradb/CMakeLists.txt commit 3c9137deeb84dff9fa52734fb5fc3966c6746c00 Merge: d8ee54c6332 fdd6c111c25 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 18 17:15:57 2015 -0500 Merge branch '5.5' into 5.5-galera Merge banch 5.5 till revision : fdd6c11 - MDEV-7419 Function cli_safe_read not exported Conflicts: .bzrignore debian/dist/Debian/mariadb-galera-server-5.5.files.in debian/dist/Ubuntu/mariadb-galera-server-5.5.files.in storage/tokudb/CMakeLists.txt support-files/build-tags commit 36c1982a19723e45c00cb0b5eea16d2e4c069c21 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 18 15:23:37 2015 +0200 MDEV-7604: wsrep plugin lists its plugin_maturity as Unknown Changed wsrep plugin from mysql_plugin to maria_plugin to set up plugin_maturity to Stable. commit 4040bf18cfe7c200bc85b5f3afdab498245fcb32 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 18 08:29:38 2015 +0200 MDEV-7593: Default encryption key does not work correctly for page encrypted tables Introduced a new innodb_default_page_encryption_key configuration variable to allow user to set the default key identifier. commit 11536f99f14a2fedb822abb6be3a6ad79ad3abc9 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 16 23:18:32 2015 +0100 MDEV-7305 Difficulties building cracklib_password_check put cracklib_password_check into a separate package. build it conditionally on Debian/Ubuntu commit 87eb82d4d52dd9ed1c954b0068898a4ec7a02df2 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 16 23:18:00 2015 +0100 cleanup: remove old debian/ubuntu names from debian/* files namely, remove the code to support: etch, lenny, hardy, intrepid, jaunty, karmic, maverick, natty commit a0e93bceb7bdbe52485ac8b822e70748c0b08830 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 17 23:49:02 2015 +0100 innodb/xtradb: update nonnull attributes to match the new semantics commit 4da7aa55f6e7844d66899909d76e061426991fac Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Feb 17 18:43:22 2015 +0300 Add a testcase for EXPLAIN FORMAT=JSON for ROR-union index_merge. commit 3e2849d2a01b06a61407b00989c3f981e62dd183 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 13 00:50:30 2015 +0100 update result files commit db227616d2ac4529041f37dbc4b6cd5e0338c4a1 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Feb 12 12:26:37 2015 +0100 followup for "MDEV-6248 GUI-friendly cmake options to enable/disable plugins" Remove ONLY_IF clause in MYSQL_ADD_PLUGIN and the requirement that every plugin's CMakeLists.txt *must* do MYSQL_ADD_PLUGIN for PLUGIN_XXX=YES to work. This was very fragile and cannot be relied on. Use a different implementation of =YES check - iterate all PLUGIN_* variables and see which one doesn't have a matching target. Revert all ONLY_IF changes in CMakeLists.txt files. commit 985ef1d42a7b71c72aa3b26d96f0876ac597522f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Feb 12 22:33:30 2015 +0100 Don't link plugins with libmysys.a or libmysys_ssl.a we don't want mysys static data structures to be overwritten when a dynamic plugin is loaded. commit 4c9d0b2b0cfb3032382c40cc8a31e1c637279dbc Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 13 15:04:23 2015 +0100 yassl builds: don't hide mysys_ssl symbols that cannot possibly collide with openssl commit 2043e3d44011ea3664698f880c79791f29fab45d Author: Alexander Barkov <bar@mariadb.org> Date: Thu Feb 12 17:10:59 2015 +0400 Removing the Hybrid_type_traits framework. It's not used since 5.5. commit 0ed60af42373976d7bf280f89ac408855c816def Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 11 19:52:43 2015 +0200 Fix test failure seen on p8-rhel7 commit d72dea1959da32d79ea74f37177a1d9b043faf41 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 10 21:08:57 2015 +0100 Revert "Fixing ConnectSE compilation warnings" This reverts commit aa61e4c76e80bf833abc1d340468673c26551252 that broke the compilation on few platforms (e.g. centos5). These warnings are already fixed properly in 10.0-connect. commit aa61e4c76e80bf833abc1d340468673c26551252 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Feb 10 16:47:42 2015 +0400 Fixing ConnectSE compilation warnings (and failires in maintainer mode). commit 1c801650f83c285dc6bcf9ab26d0847b1de07333 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Feb 4 17:09:43 2015 +0100 MDEV-7450 key management plugins don't work with yassl workaround, not a fix: don't build key management plugins in yassl builds commit d78a53ec43835798eb950e781e1423b2a5b3a217 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jan 9 15:59:55 2015 +0100 update 32-bit rdiff files in sys_vars suite commit 093b232a8716a853595731a1ba48391e95f08ff5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Jan 12 19:24:24 2015 +0200 Do not yet allow encrypted tables with compressed tables. commit e2e809860e8a1ad6a4d82859558cfd89409ac6d4 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Jan 9 12:30:59 2015 +0200 Pass down the information should we encrypt the page at os0file.cc when page compression and google encryption is used. commit e109a662c77ec8f6db42c940d6c82c00d2f9f5d9 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jan 9 15:12:17 2015 +0100 mtr check for openssl support for AES_CTR commit f3da18f635f43fdd4438213750ee97af74400ec0 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 8 00:25:05 2015 +0100 cmake-time detection for EVP_aes_128_ctr() because old openssl versions (e.g. on labrador) don't have it commit faad7e0c1899798172d779746dd9bb2c1db89eb9 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jan 7 15:24:09 2015 +0200 Add test case for combination Google encryption and page compressed tables. commit 21430e43786edaf5b689c8b4aed49341bb7021c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jan 2 22:53:54 2015 +0100 encryption keys service commit cf8bf0b68e1c4281535813d4087680296138271c Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 5 13:36:14 2015 +0100 encryption key management plugin api commit c8997c39b4fac47eb580ea31f97a421bfc399e28 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 5 13:27:44 2015 +0100 initialize plugins in the specific order by plugin type but do MyISAM first - to read mysql.plugin table commit 9cdf494197ae53fef5712ab9cbdecbed98462f1f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Dec 29 21:55:20 2014 +0200 Fixed XtraDB implementation of encryption and page encryption. commit d7d589dc01f6d70d1518b74d46fd3b75e76267f5 Author: Monty <monty@mariadb.org> Date: Mon Dec 22 16:53:17 2014 +0200 Push for testing of encryption commit 3a3ec744b5a31318a00821dc0ed6da8af49fda25 Author: Monty <monty@mariadb.org> Date: Mon Dec 22 02:02:38 2014 +0200 cleanups done as part of adding encryption - Fixed compiler warnings - Added include/wait_for_binlog_checkpoint.inc, as suggested by JonasO - Updated 'build-tags' to work with git (Patch by Serg) commit 01963e5df10eb1439f3b71541832e77dd4e80c64 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 26 21:30:34 2015 +0100 fix for cmake builds on windows commit 83c0866082cd630cada815add97bbf2d09ac8ab3 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jan 9 14:00:00 2015 +0100 new read-only server variable version_ssl_library commit 0d676fa0b745257673e0f986472209d313aa4dae Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Feb 4 17:07:47 2015 +0100 minor cleanup: ssl.cmake commit 4280b25ed85dba6e231d483e58a1c90b91730434 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jan 7 12:13:21 2015 +0100 --getopt-prefix-matching command-line option commit 0ce8703e99dabfa95d1cc0cd720c14f68d4cdda5 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 5 13:35:55 2015 +0100 password validation plugin API: renames commit 5e17ca565e3d1aa9bbb096c60d01eadfef651ddb Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 5 16:54:00 2015 +0100 don't mention bzr in "make distclean" warning message commit df37215efb698e46368db2581197758732cf17d3 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 5 18:18:33 2015 +0100 small cleanup of my_default.c commit c7d9f11c8b1fd1557af4387eb4b3ab660b137537 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 10 00:45:37 2015 +0100 update test results for embedded commit 4c69a6fff267f4c80ef1b360985b831932353c10 Author: Vicențiu Ciorbaru <cvicentiu@gmail.com> Date: Mon Feb 9 17:16:55 2015 +0200 MDEV-6918 Create a way to see a user's default role. Added an extra column to i_s_applicable_roles, named IS_DEFAULT. The column displays which role is the default role for the user querying the table. commit bceb0b0be10bfbcd49981fa48981ca9b491b868e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Feb 8 20:44:46 2015 +0100 MDEV-7151 ha_archive.so missing from .deb add missing plugins to debs commit f13939061d468a47985dee0268652a6fe2db7862 Merge: 8672339328c 3b267eb6465 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Feb 7 16:14:21 2015 +0100 Merge branch 'bb-10.1-merge' into 10.1 commit 8672339328c30c894b4062f94c4fb0510fb20f9a Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Feb 6 10:02:02 2015 +0100 MDEV-6676: Optimistic parallel replication Adjust the configuration options, as discussed on the maria-developers@ mailing list. The option to hint a transaction to not be replicated in parallel is now called @@skip_parallel_replication, consistent with @@skip_replication. And the --slave-parallel-mode is now simplified to have just one of the following values: none minimal conservative optimistic aggressive This reflects successively harder efforts to find opportunities to run things in parallel on the slave. It allows to extend the server with more automatic heuristics in the future without having to introduce a new configuration option for each and every one. commit 734c4c01439488781837196ff09ad5f2c5276ead Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Feb 6 08:31:38 2015 +0100 Add error handling on realpath() call. (Without this, it happened for me that realpath() failed returning undef for the default vardir. This in turn caused mysql-test-run.pl to delete the source mysql-test/ directory.) commit 2deaa292e71630325d4c1d7aedfb2678fe356ba1 Author: Daniel Black <daniel.black@openquery.com> Date: Wed Feb 4 13:57:09 2015 +0100 MDEV-7201: parallel threads resizing - potential race condition to access freed memory pool->threads is freed before being reassigned the new pool. Although not really a memory barrier I though it prudent to keep the pool thread count to be the lower of the old/new thread list before the new threads is allocated. commit 3b267eb6465479c8ac9cdb5a68c4a9ffac68d979 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 6 20:18:40 2015 +0100 after-merge fixes for test cases commit 324cd36bd2950b88bc4ef84c436ca3aa5428be72 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 6 18:06:46 2015 +0100 disable -Werror in the maintainer mode until we're ready for it commit 2a1470a0ed4665e4a2602c5905042ac6732c2562 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 6 16:16:38 2015 +0100 wsrep: check options as early as possible to be able disable wsrep before any further code that uses it (e.g. initialized binlog when wsrep is enabled) commit c877610e16ef8f922bc5c2e0aef31e968a66d4ab Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 6 16:15:17 2015 +0100 wsrep: ha_abort_transaction() does NOT end the transaction commit 8e7649867f23ef4fca5ddb6678a66e414026ef7b Merge: f9448bcb215 7cda4bee0ef Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Feb 6 16:14:23 2015 +0100 Merge 10.0-galera into 10.1 commit f9448bcb2153aac614ecb260a4dd7f27b04f17a2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Feb 5 19:18:09 2015 +0100 small cleanups commit 32b0b6434b368d722c21861888e18f393f7af11b Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 5 13:58:30 2015 +0400 MDEV-7177 - Server hangs on shutdown after InnoDB error (main.plugin_loaderr fails in buildbot) There was a race condition in timer functionality of query timeouts. Race was as following: main thread: init_thr_timers() timer handler thread: my_thread_init() main thread: end_thr_timer()/timer_thread_state= ABORTING timer handler thread: timer_thread_state= RUNNING, continue normal op main thread: waits indefinitely for timer handler thread to go down The original idea of the fix is to set RUNNING state in main thread, before starting timer handler thread. But it didn't survive further cleanups: - removed "timer_thread_state" and used "thr_timer_inited" for this purpose - removed unused "timer_thread_running" - removed code responisble for "timer handler thread" shutdown synchronization, use pthread_join() instead. commit 451e9b7a50ccbced8beca81e53ae5427fac5e594 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Feb 5 13:54:55 2015 +0400 MDEV-7499 - System variables have broken default values on big endian INFORMATION_SCHEMA.SYSTEM_VARIABLES.DEFAULT_VALUE had broken values on big endian. Default value is internally stored as longlong, while I_S references it's pointer (longlong *) according to variable type (e.g. int, my_bool, etc). This works well on little endian, but on big endian we always get 0 for such variables. commit b08126aad1a33ec0ad3491b061e888908d1edfe5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Feb 5 08:52:17 2015 +0200 MDEV-7178: wsrep* tests fail in buildbot This is temporal test fixt to avoid concurrent IST for now until the actual issue https://github.com/codership/galera/issues/204 is fixed. commit ad433e17f97ee6593346adfea38018f7af1c34f5 Author: Elena Stepanova <elenst@montyprogram.com> Date: Thu Feb 5 02:44:03 2015 +0300 MDEV-7255 Failures in engines/* tests With commit 227510e039b4e (parser cleanup: don't store field properties in LEX, use Create_field directly) it became possible to create columns DOUBLE(0,0) and alike commit 41dc186aa8a5340c78e783a635a95173cc46a697 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Feb 4 19:31:16 2015 +0200 MDEV-6633: Remove magic dependencies for InnoDB compression methods Added options for each compression type that can be disabled i.e. bzip2, lz4, lzma and lzo. commit bfe703a45888107936c184076eaead28b8b8a90a Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 3 18:19:56 2015 +0100 don't let current_thd to point to a destroyed THD * reset current_thd in THD::~THD, otherwise my_malloc_size_cb_func() might access THD after it was destroyed. * remove now redundant set_current_thd(0) calls that follow delete thd. commit d0fb9580e0b2400d633b672e881a9d661cafb07f Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Feb 3 09:31:13 2015 +0100 Update test results after the last push. Again. This reverts commit 06c16904459db6b46518e2f4ac6e21327d336cfd. commit d8eba59d9c30046ac949290a6147da058102d8f8 Author: Monty <monty@mariadb.org> Date: Tue Feb 3 00:47:39 2015 +0200 Commit one file that I forgot in last commit commit 80ce0c1c9c234dc53b963659690a1a8368b52124 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Feb 1 13:43:19 2015 +0100 cleanup: ha_checktype() * error reporting was never needed * avoid useless transformaton hton to db_type to hton * in many cases the engine was guaranteed to exist, add asserts * use ha_default_handlerton() instead of ha_checktype(DB_TYPE_DEFAULT) commit 06c16904459db6b46518e2f4ac6e21327d336cfd Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 2 18:02:43 2015 +0100 revert test changes from "cleaned up code for setting slave_parallel_mode" but keep the code cleanup. as it turns out, it didn't change the behavior, which is good :) commit 51bdfb01d884514195766b52e39a3d1d07791a09 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 2 09:04:16 2015 +0100 trivial cleanup: be explicit about extern variables commit 9efd0207e4f1cac7a84699a5d770bebbfa82f191 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Feb 2 09:03:40 2015 +0100 fix the code to compile commit cd9e69ec709ad960e40633f09dc9660fa5866929 Author: Monty <monty@mariadb.org> Date: Sun Feb 1 22:39:59 2015 +0200 Cleaned up code for setting slave_parallel_mode Now this works the same way as all other multi source variables. commit 0ee879ff8ac1b80cd9a963015344f5698a81f309 Author: Monty <monty@mariadb.org> Date: Sun Feb 1 15:24:22 2015 +0200 Improve performance for calculating memory allocation Extend interface for 'show variables' with current scope commit 67b24a2374fed4a7533d14cc443afa0f4e9febc7 Author: Monty <monty@mariadb.org> Date: Thu Jan 29 15:36:25 2015 +0200 Remove some allocations not needed for internal temporary tables. commit e7870122f332b1f5e876c1d79a34da61c1f6bbed Author: Monty <monty@mariadb.org> Date: Thu Jan 29 15:35:52 2015 +0200 Ignore tokudb binaries commit 6a3fee211f0595e0adcdf058b36c4231035a4a53 Merge: b2ceedc9fb7 edf34f38ac4 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Feb 1 12:39:59 2015 +0100 Merge remote-tracking branch 'refs/remotes/github/10.1' into 10.1 commit b2ceedc9fb7c12159448cd7ad5db62e1226a2c43 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 16:35:50 2015 +0100 main.ctype_ucs2 --ps: Item_func_nullif should use m_args0_copy metadata in case args[0] changes between PREPARE and EXECUTE commit f122cca4df7e63744524ab9d5814e1bc26e1d3bd Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 16:01:20 2015 +0100 main.null --ps: Item_null doesn't need charset converter in particular, not the one that destructively changes Item's charset (meaning different metadata for PREPARE and EXECUTE) commit 6f12cfdc5e10f4e41e0ee44a0d0a5db2706a7bf3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 15:14:59 2015 +0100 fix semisync plugin locking: rpl.rpl_semi_sync_uninstall_plugin failed commit 863cfb3fa5153e7754279324ba7e66a4cfdac805 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 15:04:37 2015 +0100 small cleanup, remove a useless function commit b050354ffb15e4e27498b169ec723da4d8aa8da6 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 12:54:07 2015 +0100 compiler warnings commit f299da89babddc78a06efff918d815bc3b9562d8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jan 30 21:12:26 2015 +0100 rpl.rpl_parallel: after-merge fix * fix the test to pass * rearrange tests in a file to allow it to auto-merge in the future commit 4b21cd21fef2763d757aa15681c9c9a7ed5db3c9 Merge: 0b049b40124 a06624d61f3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jan 31 21:48:47 2015 +0100 Merge branch '10.0' into merge-wip commit edf34f38ac4fad7996bf19cd9ac669d2a6825400 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Jan 29 22:43:07 2015 +0100 MDEV-7024: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status on executing ANALYZE SELECT via PS select_send::is_result_interceptor() should return FALSE because it return results to the client. commit 51feb6fa99ebf027b74e2e01fb1839df97f76070 Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Thu Jan 29 12:47:13 2015 +0100 MDEV-7023: Error 2027: Malformed packet and assertion `field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || field_types[field_pos] == MYSQL_TYPE_LONG' failure in Protocol_text::store_long The problem was that sp_head::MULTI_RESULTS was not set correctly for ANALYZE statement. commit cd187ecf90e9988e5a729a1a4db7239e3baa2e6c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 20:22:06 2015 -0500 Add cmake check for getifaddrs. commit d8ee54c63321e81ef99465bbadc8e4fb45fe7569 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 20:02:43 2015 -0500 Add cmake check for getifaddrs. commit 47d8001c672a161eaa9e498889a365c5601850e7 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 16:54:24 2015 -0500 MDEV-7476: Allow SELECT to succeed even when node is not ready Added a SESSION-only system variable "wsrep_dirty_reads" to allow SELECT queries to pass even when the node is not prepared to accept queries (wsrep_ready=OFF). Added a test case. commit 950d69610aff4b2ee2cfe83113d339eac1ba0668 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 16:25:18 2015 -0500 MDEV-7322: Option to allow setting the binlog_format with Galera At session scope, allow binlog_format to be changed to values other than ROW with a warning. commit 9b7e3801f4d3b241d525c7f2d6f0e2aedb35e3cc Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 16:22:29 2015 -0500 MDEV-7476: Allow SELECT to succeed even when node is not ready Added a SESSION-only system variable "wsrep_dirty_reads" to allow SELECT queries to pass even when the node is not prepared to accept queries (wsrep_ready=OFF). Added a test case. commit 5b6f637caafba84457b91e08ce9c4f3fc6e8202f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 27 14:17:40 2015 -0500 MDEV-7322: Option to allow setting the binlog_format with Galera At session scope, allow binlog_format to be changed to values other than ROW with a warning. commit 0b049b40124d72d77c008d4441e4db2e77f0f127 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Jan 27 15:40:50 2015 +0200 Fix test failure on innodb_stats_fetch_nonexistent. commit 7cda4bee0ef7c8a3ec85e94bc1443ceaba3a64e8 Merge: ea229eb6bb2 fb71449b101 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 26 22:54:27 2015 -0500 maria-10.0.16 merge bzr merge -r4588 maria/10.0 commit ea229eb6bb29ee7b11a7d28a7d4c80a593cb1d3b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 26 22:48:02 2015 -0500 Minor test modifications. commit 248c662cd7b7421f0a87c21a3903395c99c04939 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 26 22:43:46 2015 -0500 Minor test modifications. commit e6f35f15115283f6d446af25a5c33e615c6afe7c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 26 11:58:16 2015 -0500 Backported changes done in wsrep_guess_ip() from 10.1. commit f9e7f82d153e568c0d795b8f8a1d911fa4dbc9ab Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 26 11:44:39 2015 -0500 Backported changes done in wsrep_guess_ip() from 10.1. commit 53b9f755aff1d6ef5753e0fbca50859126927752 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Jan 24 18:46:48 2015 -0500 MDEV-7374 : Losing connection to MySQL while running ALTER TABLE Backport from 10.1. commit fffc9f585ddaed46dc3d157ebde3c1aeeb8a8c8c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Jan 24 18:39:21 2015 -0500 MDEV-7374 : Losing connection to MySQL while running ALTER TABLE Backport from 10.1. commit 0105bf349a44f33fff3410af1db31d4c6116f14a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 22 18:00:37 2015 -0500 MDEV-7476: Allow SELECT to succeed even when node is not ready Added a SESSION-only system variable "wsrep_dirty_reads" to allow SELECT queries to pass even when the node is not prepared to accept queries (wsrep_ready=OFF). Added a test case. commit b5201200407e6d69ddceb5f482d966f95f5b30ac Merge: f6e1906ced5 dd80c22c2d9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jan 21 10:57:46 2015 -0500 MDEV-7123 : MariaDB 10.0.14 Galera node shutdown with signal 11 wsrep-patch uses same connection name for constructing Master_info objects. As a result all existing wsrep Master_info objects refer to same rpl_filter object. This could lead to race when multiple threads try to delete/destruct Master_info object, as they would all try to delete the same relay_log object. Fixed by adding a check in Master_info's destructor to not free the "wsrep" rpl_filter, so that its reused by current & subsequent wsrep threads and later reclaimed by free_all_rpl_filters() during server shutdown. commit f6e1906ced57cdc77f4e4374d74ef658f861ac05 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Jan 18 18:16:36 2015 -0500 MDEV-7470: MariaDB-Galera-server uses 'tar', but 'tar' is not in the dependency list Added tar to the dependency list. commit 887628acee72e8082285f6fa33e5e261e22d7f48 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 16 13:53:23 2015 -0500 Test changes (backported from 10.1). commit bb93d46241d4c563844ffd7455ac2336a28bd66f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 16 13:52:30 2015 -0500 Test changes (backported from 10.1). commit ab440b0fb7302d707ba0ba41382bf911404db1cb Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 15 14:59:20 2015 +0100 update sysvars_server_embedded,32bit.rdiff commit 90f2ec5122789e30874947e43729d3b602201f6b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 15 14:57:50 2015 +0100 bugfix: incorrect cast causing random memory write options->app_type was set to mysql_sysvar_t* pointer, later changed to sys_var* pointer, and even later dereferenced as sys_var*. But for PLUGIN_VAR_NOSYSVAR variables the pointer wasn't changed to sys_var*, so mysql_sysvar_t* pointer was dereferenced (and updated!) as if it was sys_var*. This caused maria.maria-gis-recovery test failure on x86 (fulltest2). commit b4daf8efac1342c461f28cdf59e75ff397a562f4 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 15 14:41:24 2015 +0100 split an assert commit de4cfabe5f26fccea6b92e3233e8b1fcdd0df9c8 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 15 08:36:13 2015 +0100 sort a non-deterministic test result commit a1e3eaf953346b708817f2233124648863873919 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jan 13 11:00:40 2015 +0100 fix a duplicate macro definition commit fe0112e2522750493eb3cb89ad3bf4985f311279 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jan 14 19:24:37 2015 +0200 MDEV-7424: InnoDB: Assertion failure in thread 139901753345792 in file buf0mtflu.cc line 439 Analysis: At shutdown multi-threaded flush sends a exit work items to all mtflush threads. We wait until the work queue is empty. However, as we did not hold the mutex, some other thread could also put work-items to work queue. Fix: Take mutex before adding exit work items to work queue and wait until all work-items are really processed. Release mutex after we have marked that multi-threaded flush is not anymore active. Fix test failure on innodb_bug12902967 caused by unnecessary info output on xtradb/buf/buf0mtflush.cc. Do not try to enable atomic writes if the file type is not OS_DATA_FILE. Atomic writes are unnecessary for log files. If we try to enable atomic writes to log writes that are stored to media supporting atomic writes we will end up problems later. commit abf400e810900b84c0f9a9095917809f7eec40dd Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 13 13:12:05 2015 -0500 MDEV-6771 : Incorrect Size for Transfer Reported to pv xargs may split the input and execute them in batches for large number of files. As a result xtrabackup sst script may feed incorrect size to pv. Fixed by piping the files to du directly (du --files0-from=-). [Based on suggestions from Brad Jorgensen] commit 33b4fab8679a2e34a97e167a2a88dc5ea0a5686a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Jan 13 13:10:07 2015 -0500 MDEV-6771 : Incorrect Size for Transfer Reported to pv xargs may split the input and execute them in batches for large number of files. As a result xtrabackup sst script may feed incorrect size to pv. Fixed by piping the files to du directly (du --files0-from=-). [Based on suggestions from Brad Jorgensen] commit 2de9427ccfb1256e6c63810b845ebfedc101890f Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Tue Jan 13 14:18:23 2015 +0100 MDEV-7391: rpl.rpl_semi_sync, rpl.rpl_semi_sync_after_sync_row fail in buildbot The problem was caused by a merge error (incorrect conflict resolution) when the MDEV-7257 patch was merged into 10.1. The incorrect merge put two code blocks in the wrong order. This caused a race that was seen as sporadic test failures. (The problem was that binlog end position was updated before running after_flush hook; this way it was possible for the binlog dump thread to send a transaction to a slave without requesting semi-sync acknowledgement. Then when no acknowledgement was received, semisync replication would be disabled on the master.) commit e695db0f2d97cbba2832e0f3dc25af5add1f16ac Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jan 12 17:03:45 2015 +0100 MDEV-7437 remove suport for "atomics" with rwlocks commit 1f0ad6c6b3421a815ea6373c66aaf693852342cf Author: Alexander Barkov <bar@mariadb.org> Date: Tue Jan 13 11:50:33 2015 +0400 MDEV-7288 USER/ROLE: CREATE OR REPLACE, CREATE IF NOT EXISTS, DROP IF EXISTS commit a68ad5d50f5a3a6f7ef4d573e889aa97cfc6d749 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jan 7 11:36:46 2015 +0100 MDEV-7325 make lf_hash_delete(), lf_hash_search(), and lf_hash_iterator() never to return OOM if lf_hash_delete() and lf_hash_search() cannot create a new bucket because of OOM, they'll start the search from the parent bucket. As for lf_hash_iterate() - it only ever uses bucket number 0, so if it cannot create *that* bucket, the hash must surely be empty. commit 2a4a5d890e933a7e993bb5d7625d26ab8b3d5317 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Jan 12 13:30:30 2015 +0400 MDEV-7426 - federated.federated_server fails Fixed error path of close_cached_connection_tables() to unlock mutex. commit 517c5c9e8935d4bfce27c42007bc3e9ec02bddaa Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Jan 12 09:30:49 2015 +0200 MDEV-7262: innodb.innodb-mdev7046 fail on BuildBot Test causes OS error printout and we need to supress this error message on tests. commit 2501a0ea59509ff5b8644adbe229ae16a8a11718 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 11 16:37:25 2015 +0100 MDEV-7364 - mysqld --help --verbose prints random values for "debug" better fix that doesn't make debug-dbug variable to disappear from mysqld --help output (this fact is used by have_debug.inc) and shows correctly what dbug value was set on the command line. commit 3fcbd7cb47b1b251d3d541c9e67c1a0b7d53fdc0 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jan 11 15:49:23 2015 +0100 cleanup: remove unused THD::COND_wsrep_thd commit 1182aeb096aa509a04ce60df61289cfef184b4f6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 9 21:52:16 2015 -0500 MDEV-7271 : rpl.rpl_domain_id_filter fails sporadically in buildbot Use save_master_gtid.inc/sync_with_master_gtid.inc to sync slave with master instead of log position. commit 66278951761e973761fa037178ecf67562f0db2e Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 8 21:26:56 2015 +0100 MDEV-6731 No ALGORITHM information in I_S.VIEWS commit b111d9884747001937f9272675536ece5254f1d3 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 8 16:53:36 2015 +0100 MDEV-5533 increase the default max thread pool size 500 -> 1000 commit dd80c22c2d97d81abbf08c05576ce420708eccce Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 9 00:32:28 2015 -0500 MDEV-7123 : MariaDB 10.0.14 Galera node shutdown with signal 11 wsrep-patch uses same connection name for constructing Master_info objects. As a result all existing wsrep Master_info objects refer to same rpl_filter object. This could lead to race when multiple threads try to delete/destruct Master_info object, as they would all try to delete the same relay_log object. Fixed by adding a check in Master_info's destructor to not free the "wsrep" rpl_filter, so that its reused by current & subsequent wsrep threads and later reclaimed by free_all_rpl_filters() during server shutdown. commit 86551362229c8f110575234a98598e4e8af7a707 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jan 8 20:26:53 2015 +0100 remove wsrep_hton dependency from innodb/xtradb commit 4ce39dca99568677daf8cedafc2cbaa169e4eb7d Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 17:59:07 2014 +0100 enable feedback plugin by default As requested by Monty commit 743a28ea5714459fe09782dab9a4a7a0b0ff6673 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jan 7 17:22:53 2015 -0500 MDEV-7129 : Galera duplicate error on autoincrement field primary key Merged fix for https://github.com/codership/mysql-wsrep/issues/18. commit 54b26b494b76804dbaf9f016ccae9c505d0ed4b3 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jan 7 13:12:31 2015 -0500 MDEV-7129 : Galera duplicate error on autoincrement field primary key Merged fix for https://github.com/codership/mysql-wsrep/issues/18. commit ed0ea644a0770194b6c8a61f9106e44f711dedf6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Jan 5 17:06:50 2015 -0500 MDEV-7412: Segfault during start with mysqldump SST Added a validity check for my_bind_addr_str before its value is accessed. commit aee3ac48775c1d88fbdd75c24d82e8f5570e65ff Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 2 10:02:04 2015 -0500 MDEV-7222: Cluster Node Crash at CREATE DEFINER statement Check whether the definer host string is not null before appending it to the specified buffer. commit 455f77bdbb14d5f41809ef5bbd234ea9fd92f972 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Jan 2 10:01:09 2015 -0500 MDEV-7222: Cluster Node Crash at CREATE DEFINER statement Check whether the definer host string is not null before appending it to the specified buffer. commit 6f4f8c5f8ae55f6fe05990e047c10309d598eb28 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 31 20:58:54 2014 -0500 MDEV-7374 : Losing connection to MySQL while running ALTER TABLE In the special case of ALTER TABLE with >10K rows, wsrep commit should skip if wsrep is not enabled. Added a test case. commit 61f73d40cab40994a1baaacc87c9e81d8e335975 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 31 19:52:35 2014 -0500 MDEV-7397: SIGSEGV on inserting into a key-less table When wsrep is enabled, an md5 hash of the entire row is calculated for tables with no PK. It, however segfaulted as the md5 context object was not properly constructed. Fixed by ensuring that the YaSSL's context object gets constructed explicitly at the specified pre-allocated location (placement) before its used. Added a test case. commit 25aaa652c489839f5ef9e0ff6d067e8c1702970d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 31 19:46:48 2014 -0500 MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS Synchronous read view should not be needed for SHOW commands. commit 952b575272d47a48a1c55e83d3ff9a548857e564 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 31 19:28:20 2014 -0500 MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS Synchronous read view should not be needed for SHOW commands. commit dc92032fa33cc1f3bc7fb0f885433826246bcdc0 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Dec 29 15:41:08 2014 +0400 Fixed sysvars_server_embedded test result to reflect new values for query_prealloc_size, query_alloc_block_size and log_tc_size. Fixed incorrect registration of LOCK_binlog_end_pos in PFS. commit 6dbc48ca79e5fdd8d4022b00b862e08a4198155b Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sun Dec 28 19:42:17 2014 +0400 MDEV-7324 - Lock-free hash for table definition cache commit 8883c54ac08a555bc7d9b09395f49893ad4d80b5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 27 23:49:45 2014 +0100 lf_hash_iterate() function commit 48430e46768d6ebe1e103a5ac48ad5361513715f Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 27 20:51:23 2014 +0100 lf_hash changes, in lfind() casts, etc real changes are: * remove one retry, it is enough to check for DELETED after the key is read * advance 'head' pointer when we see a dummy node to have shorter retries commit c0d4e8a395347e0b4c7167f118ccb9169e1b1f07 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Sun Dec 28 13:54:41 2014 +0200 MDEV-7262: innodb.innodb-mdev7046 fail on BuildBot commit 46f3f93a2c123dcfdb4ab55e8d7141d2c22c26c5 Merge: f65901eef28 78603336699 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Sun Dec 28 12:55:01 2014 +0200 Merge pull request #14 from James-TR/MDEV-7369 Add fix for MDEV-7369 commit 786033366991c1ea2b8a460585096ad8c6a18510 Author: James Taylor <james@jtaylor.id.au> Date: Sat Dec 27 03:23:49 2014 +0000 Add fix for MDEV-7369 See also https://mariadb.atlassian.net/browse/MDEV-7369 commit f65901eef28728212a350f61569dc884c747bffc Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Dec 26 23:38:45 2014 +0400 MDEV-7273 - 10.1 fails to start up during tc_log initializations on PPC64 log-tc-size is 24K by default. Page size is 64K on PPC64. But log-tc-size must be at least 3 x page size. This is enforced by TC_LOG_MMAP::open() with a comment: to guarantee non-empty pool. This all makes server not startable in default configuration on PPC64. Autosize log-tc-size, so that it's min value= page size * 3, default value= page size * 6, block size= page size. commit 8c616cd347aa7b3fcc2d8defb5e172ad316f432c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Dec 26 19:44:38 2014 +0400 MDEV-7053 - WSREP_STATUS & WSREP_MEMBERSHIP I_S tables wsrep_status was renamed to wsrep_info. Adjusted deb build scripts accordingly. commit db89dd3a8f7b0d868946d25ba98c6f88612d309a Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Dec 26 13:07:43 2014 +0400 MDEV-7364 - mysqld --help --verbose prints random values for "debug" getopt value pointer of "debug" variable was pointing to incorrect address: &global_system_variables. Runtime statements like SHOW VARIABLES materialize value from DBUG structures on demand, so they never access getopt value pointer. But mysqld --help --verbose loaded this value from &global_system_variables. Remove "debug" variable from mysqld --help --verbose output by setting value pointer to NULL. commit ae09895c9136ef6455d3bac3f25070a90e1df9c2 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Dec 24 10:06:12 2014 +0400 MDEV-7277 Server crashes on creating/opening tables on Windows debug build. The srid variable was used uninitialised when the field wasn't GIS. Only problem is that it makes the debugger unhappy. Still added the initialization. commit 03e0f1f86617c54722cc23f4f5c101d60adfa485 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 23 18:36:33 2014 -0500 MDEV-7053 : WSREP_STATUS & WSREP_MEMBERSHIP I_S tables Addendum : Renamed plugin .so file. commit 0b87de124d716cee7c1aa56f30c7f80c2c2bfcce Author: Jonas Oreland <jonaso@google.com> Date: Tue Dec 23 13:38:00 2014 +0100 MDEV-162 Enhanced semisync replication Implement --semi-sync-master-wait-point=AFTER_SYNC|AFTER_COMMIT. When AFTER_SYNC, the semi-sync wait will be done earlier, before the storage engine commit rather than after. This means that a transaction will not be visible on the master until at least one slave has received it. commit 4d8b346e079a27960dbe49e4d0ec4364bed8d30e Author: Jonas Oreland <jonaso@google.com> Date: Fri Dec 19 12:36:23 2014 +0100 MDEV-7257: Dump Thread Enhancements Make the binlog dump threads not need to take LOCK_log while sending binlog events to slave. Instead, a new LOCK_binlog_end_pos is used just to coordinate tracking the current end-of-log. This is a pre-requisite for MDEV-162, "Enhanced semisync replication". It should also help reduce the contention on LOCK_log on a busy master. Also does some much-needed refactoring/cleanup of the related code in the binlog dump thread. commit eda3db826f741b6cb62bb6903bd6b55a6aca4c3a Merge: cb47155c68f 0f64a927a93 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 22 20:09:25 2014 -0500 Merge revisions from maria/5.5 (5.5.41) bzr merge -r4393 lp:maria/5.5 commit 96e505e4b7635412739ed39710bcc13cf14aedf5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Dec 20 19:58:54 2014 -0500 MDEV-7319 : Galera bootstrap (/etc/init.d/mysql bootstrap) returns code 0 on failure Modified init script to return with proper exit status for bootstrap command. [Based on Kenny Rasschaert's suggestion] commit cb47155c68f38c6931fd539a8615373199b4ee64 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Dec 20 19:49:04 2014 -0500 MDEV-7319 : Galera bootstrap (/etc/init.d/mysql bootstrap) returns code 0 on failure Modified init script to return with proper exit status for bootstrap command. [Based on Kenny Rasschaert's suggestion] commit 89b2bc42f405e20af11423b0cf83032fcb2a3de4 Merge: 920bc0aff10 357cb12d87a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 16 20:07:34 2014 -0500 Merge revisions from maria/5.5 bzr merge -r4388 lp:maria/5.5 commit ea01fff5053acc6526bc995c2a3c85474c844508 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Dec 16 15:31:25 2014 +0400 Fixing test failures caused by the previous commits. Adding "--source include/have_udf.inc" and a few "--replace" commands. commit 2dbd26932d0c22cb333a73262db8135779c6f098 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Dec 15 17:41:15 2014 +0400 MDEV-7283 UDF: CREATE OR REPLACE, CREATE IF NOT EXISTS, DROP IF EXISTS MDEV-7282 SP: CREATE OR REPLACE, CREATE IF NOT EXISTS commit 3a37c01334ab420d447b66656ee1132384c593fa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 12 17:16:11 2014 -0500 MDEV-6891: Addendum, update company name in copyright notice commit 920bc0aff10b87a8524939c31029653afb94470c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 12 17:14:06 2014 -0500 MDEV-6891: Addendum, update company name in copyright notice commit 48ed8ab2155b31d36358b2efd348f3036a294971 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 12 10:58:38 2014 -0500 MDEV-6891: Update company name commit 756c6f74bf4ba73ccd7d7b824a39745413752520 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 12 10:46:31 2014 -0500 MDEV-6891: Update company name commit 64714ae2c1f8036ca18cefa0c2dc8270d12e522c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 12 10:45:32 2014 -0500 MDEV-6891: Update company name commit 263cf26e8b0c1a8505de54726ba23e1aacc479a4 Author: Elena Stepanova <elenst@montyprogram.com> Date: Fri Dec 12 04:42:59 2014 +0400 Increased the version number commit 0b936cda07d17d5baddddbcdfb218d2e16e8cc1a Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 16:46:21 2014 +0400 Using Schema_specification_st instead of HA_CREATE_INFO in a few places where the former is enough. commit 4f9f3d4391f7b05877a12ada5d640a34c8bce68b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 10 06:24:56 2014 -0500 empty revision commit 822eb6ca3da3e1e93d4cf4845f3123fa4762e8cc Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 13:41:14 2014 +0400 MDEV-7285 SERVER: CREATE OR REPLACE and CREATE IF NOT EXISTS commit 14cfb0acb83b3c9a4a1ae424f80a7bff1a8058b2 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 12:00:25 2014 +0400 MDEV-6409 CREATE VIEW replication problem if error occurs in mysql_register_view An additional debug test, made by Sriram Patil while working on "CREATE VIEW IF NOT EXISTS". commit 60277b8b3cd49792a59ad460920931f146789d0a Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 11:32:52 2014 +0400 MDEV-7287 VIEW: CREATE IF NOT EXISTS Forgot to do "git add" for a number of files in the previous commit. commit acdc383445f71060f459f656fe44bafccdd3f07e Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 11:06:36 2014 +0400 MDEV-7287 VIEW: CREATE IF NOT EXISTS commit 92a523e5d56264702982435fdd01eb63e37cc4da Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 10:40:35 2014 +0400 MDEV-7280 DATABASE: CREATE OR REPLACE A clean-up: require CREATE+DROP privileges for "CREATE OR REPLACE DATABASE", instead of just CREATE privilege. commit 31c7458e1a62ec4961d914b0eb376319a350cca1 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 08:19:19 2014 +0400 MDEV-7280 DATABASE: CREATE OR REPLACE A test clean-up: The "SHOW DATABASES" queries now use "LIKE 'db%'", to display only the databases created during this test, thus exclude the system databases, as some of them can be optional (e.g. performance_schema). commit dd270e43bf84e7dbf2a9ee7c6c3a6de372128e83 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Dec 10 08:13:08 2014 +0400 MDEV-7280 DATABASE: CREATE OR REPLACE commit 41367e4023d0823624a461597813e6902437f096 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 9 10:35:16 2014 -0500 MDEV-7204: mariadb-galera-server el7 rpms packaging issue, no mariadb-server in provides MDEV-7233: Fix issue with missing dependency socat when installing MariaDB-galera-server on RedhatEL/OracleEL/(Others?) RPM based * Added mariadb-server to "provides" for MariaDB Galera server package. (rpm) * Removed "socat" from MariaDB Galera server's mandatory dependency list. (rpm) * Moved "socat" from mandatory to optional dependency. (deb) commit 86d7512f428393a54251624072702549804f2a75 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 9 10:27:49 2014 -0500 MDEV-7204: mariadb-galera-server el7 rpms packaging issue, no mariadb-server in provides MDEV-7233: Fix issue with missing dependency socat when installing MariaDB-galera-server on RedhatEL/OracleEL/(Others?) RPM based * Added mariadb-server to "provides" for MariaDB Galera server package. (rpm) * Removed "socat" from MariaDB Galera server's mandatory dependency list. (rpm) * Moved "socat" from mandatory to optional dependency. (deb) commit e51e5e940c5c0b2cfd1a9bc07833a933a0460c4e Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Dec 8 23:44:53 2014 -0500 Merged patch for lp:1167368 from maria-5.5-galera. commit c6d3f8058db30a6621e36b05564a1b2ae68bec7f Author: Alexander Barkov <bar@mariadb.org> Date: Mon Dec 8 10:56:08 2014 +0400 MDEV-7112 Split HA_CREATE_INFO commit b372720177cececb499b96b5e6d422b32d85729c Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 20:34:33 2014 +0300 Update test results commit 913b7672c5fe2db750a382685f0810d383b43faa Merge: db21fddc374 eeef80d09f8 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 20:33:25 2014 +0300 Merge bb-10.1-explain-json into 10.1 commit eeef80d09f8045d99963a2bf2fa92595c55bb26d Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 20:13:38 2014 +0300 EXPLAIN FORMAT=JSON : Fix MDEV-7266, bug in pretty-printer - Single_line_formatting_helper should not accidentally exit the DISABLED state. No JSON construct should be able to move the Single_line_formatting_helper from DISABLED state. commit dc259324d767e10f118c2d14dc905e1bb54aa58a Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 19:27:42 2014 +0300 EXPLAIN JSON: Print out the "expensive constant condition" attached to joins. commit db21fddc3740dfa48f3443751c48282467afac5e Author: Kristian Nielsen <knielsen@knielsen-hq.org> Date: Fri Dec 5 16:09:48 2014 +0100 MDEV-6676: Optimistic parallel replication Implement a new mode for parallel replication. In this mode, all transactions are optimistically attempted applied in parallel. In case of conflicts, the offending transaction is rolled back and retried later non-parallel. This is an early-release patch to facilitate testing, more changes to user interface / options will be expected. The new mode is not enabled by default. commit 1e3f09f1638e2bdec6029f6c98317d17d7ca76d1 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 04:02:30 2014 +0300 MDEV-7264: Assertion `0' failed in subselect_engine::get_identifier() Switch EXPLAIN JSON from using subselect_engine::get_identifier() to the number from Item_subselect::unit. Remove subselect_union_engine::get_identifier() because it was added only for EXPLAIN JSON code. commit 5ee1c25fa8043f81ad744d1c532b8c1dafa3b5ea Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 03:11:03 2014 +0300 EXPLAIN FORMAT=JSON: Full scan on NULL key (join case) commit a80a797686e72644e0ad479fdfd2a3b56c4ddf05 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 02:23:37 2014 +0300 EXPLAIN FORMAT=JSON: Support "range checked for each record" commit 9cac7649eade35f2e5a52e4107067701de315abc Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Dec 6 01:11:22 2014 +0300 EXPLAIN FORMAT=JSON: Support range+MRR plans (when MRR is used but BKA is not) commit 3bb02f3e6d70687b02c6902fd6478e8c328608f8 Merge: a4cdd20d49a ffc0ef63164 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Dec 5 12:33:02 2014 -0500 bzr merge -rtag:mariadb-10.0.15 maria/10.0 commit 8fb2c80fdb9868b45ab91c915b32d2c39fd7fcd0 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Fri Dec 5 16:38:48 2014 +0400 Fixed valgrind warnings in delete_dynamic(). Join_plan_state performs out-of-API initialization of DYNAMIC_ARRAY. This is done to postpone actual array initialization till first use, whilst retaining the right to call delete_dynamic(). Since delete_dynamic() now checks DYNAMIC_ARRAY::malloc_flags it should be initialized it as well. commit 78564373fee5e6cccf144b11bc60b0876b4bbd0b Author: Monty <monty@mariadb.org> Date: Fri Aug 29 14:07:43 2014 +0300 my_alloc.c - Changed 0x%lx -> %p array.c: - Static (preallocated) buffer can now be anywhere my_sys.h - Define MY_INIT_BUFFER_USED sql_delete.cc & sql_lex.cc - Use memroot when allocating classes (avoids call to current_thd) sql_explain.h: - Use preallocated buffers sql_explain.cc: - Use preallocated buffers and memroot sql_select.cc: - Use multi_alloc_root() instead of many alloc_root() - Update calls to Explain commit 3392278c869a9594f13a0b956d34efb600ab0ed0 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Dec 4 17:44:46 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power Preallocate dynamic array and bitmap on mem_root to avoid expensive malloc. This reduces number of allocations from 39 to 31 per OLTP RO transaction. commit eaa8c154e81cb3a9a2623f53482fe2bbd9ffa459 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Dec 4 17:42:32 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power Preallocate dynamic array on THD mem_root to avoid expensive malloc. commit 070a6e7a890e5a73eb38920657c060605e520b55 Author: Monty <monty@mariadb.org> Date: Fri Aug 29 14:09:51 2014 +0300 - Changed default values of query_prealloc_size and query_alloc_block_size so that a simple query with one join would not have to call my_malloc. - Allow lower limites for query_prealloc_size for testing. - Fixed wrong initialization of trans_alloc_block_size commit 9127784d5ce845c9d66a34eee371cbaf82468d89 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Thu Dec 4 17:35:55 2014 +0400 Cherry pick dynamic array changes from commit: commit 85fd3d901311688e18ffce92ffc78129e5625791 Author: Monty <monty@mariadb.org> Date: Fri Aug 29 14:07:43 2014 +0300 my_alloc.c - Changed 0x%lx -> %p array.c: - Static (preallocated) buffer can now be anywhere my_sys.h - Define MY_INIT_BUFFER_USED sql_delete.cc & sql_lex.cc - Use memroot when allocating classes (avoids call to current_thd) sql_explain.h: - Use preallocated buffers sql_explain.cc: - Use preallocated buffers and memroot sql_select.cc: - Use multi_alloc_root() instead of many alloc_root() - Update calls to Explain commit 974808772b63563d031f687fd0fd158f83eb94aa Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 2 15:03:35 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power All callers of open_cached_file() use 2 characters prefix. Allocating memory for such short string is an overkill. Store it on IO_CACHE structure instead. All callers of open_cached_file() use mysql_tmpdir as dir. No need to allocate memory for it since it is constant and available till server shutdown. This reduces number of allocations from 31 to 27 per OLTP RO transaction. commit 9e9f1da0d2dd5d9de9094d20d0b39e71ec4ce479 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 2 14:59:01 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power Remove call to deprecated set_thread_state. It is noop anyway, but generates function call independently of performance schema state. According to perf this saves ~0.2% of execution time. commit b4ec230917a50cbc1e406f5175189c8359bcb9a0 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 2 14:54:30 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power Preallocate locks on THD mem_root to avoid expensive malloc. commit 9bc5cec0f115d7d0c277a49b91b96109560280f4 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 2 14:50:18 2014 +0400 MDEV-7004 - Merge scalability fixes from 10.0-power Preallocate locks on THD mem_root to avoid expensive malloc. commit faf169d245d05a835ec8ebcf1defb556c85f2766 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Dec 2 14:02:48 2014 +0400 MDEV-6906 - Relaxed memory order for counters Let some atomic counters use relaxed memory order. commit 732d2daf448077a7d3ac88afaf1104f0ba4a9ba5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 20:19:15 2014 +0100 fix for 32-bit commit 6ea90367431c5ff7d97530692cd711e5360bd98b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 20:17:26 2014 +0100 fix out-of-source builds commit e1913ba15a11549207f8b4b0bd70e25dcd39e7c2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 15:58:25 2014 +0100 fix set_statement test for windows timestamp has a lower granularity on windows so it needs more time to change. commit 7a474162598c6d708ff969b9fbd85851bac35ec7 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 14:31:31 2014 +0100 compilation failure on windows commit c4cb15e87ba8cf4f1e7fd8e7cda5c88098ecd515 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Dec 3 14:07:43 2014 +0400 MDEV-60 Support for Spatial Reference systems for the GIS data. The GEOMETRY field metadata is stored in the FRM file. SRID for a spatial column now can be stored, it was added to the CREATE TABLE syntax, so the AddGeometryData() stored procedure is now possible. Script adding the required Add/DropGeometryColumn sp-s added. commit c4655cf862b24fe040280e38cb71d3b5d25f049b Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 14 13:46:21 2014 +0100 cleanup: comments referring to non-extistent Item classes commit 65f0a8d4873e79534a5e56341c4df0f22ae533c2 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 8 18:47:05 2014 +0100 cleanup: sort and reorder %union elements in sql_yacc.yy commit 227510e039b4ec6bff3096a4b9b39847551dab1a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 8 17:37:19 2014 +0100 parser cleanup: don't store field properties in LEX, use Create_field directly length/dec/charset are still in LEX, because they're also used for CAST and dynamic columns. also 1. fix "MDEV-7041 COLLATION(CAST('a' AS CHAR BINARY)) returns a wrong result" 2. allow BINARY modifier in stored function RETURN clause 3. allow "COLLATION without CHARSET" in SP/SF (parameters, RETURN, DECLARE) 4. print correct variable name in error messages for stored routine parameters commit d1522af72dad1965b8a8a37415545014ba743f49 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 13:06:57 2014 +0100 update 32-bit rdiff's commit 0fe39b6856a108bca2e0767df94d9a429d5f8203 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Dec 4 12:40:19 2014 +0200 MDEV-7262: innodb.innodb-mdev7046 and innodb-page_compression* fail on BuildBot If persistent trim is not used some OS require that we write full page. commit 8360e1a5b5e44debcc7aeaa10331278eb6273176 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 3 23:51:47 2014 +0100 MDEV-6712 THD specifics for plugins thd_specifics service commit 0c7d773fca1497ce4edae0a72c6f01348b0ca9be Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 22:22:55 2014 +0100 test for two password validation plugins when many plugins are active, all must approve the password commit 78cb6e34ad99186bf302520d914ec2e84fbc6946 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 21:48:13 2014 +0100 cracklib_password_check plugin commit 7516a3c7f44fe45aaa6599c7e3135c7ef4f1c9ef Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 18:47:44 2014 +0100 strict_password_validation commit b81404671998009c25a56cc83aa7bf098ef9d964 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 10:07:59 2014 +0100 validate SET PASSWORD commit dccd85e7c72b873d3824be5ef1dcba8a7bb777e7 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 24 21:02:57 2014 +0100 cleanup: s/(OLD_)?PASSWORD/&_SYM/g commit 8934794a7043d3d62422613df26df9b37e450e0b Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 18:53:40 2014 +0100 password validation function in sql_acl.cc commit c98b2b393db7559e04b69a649e38716f46ce5dbd Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 21:58:14 2014 +0100 password validation plugin type and a simple plugin commit b5357f025b071574f07d307f37957df2931d83d5 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 25 19:05:49 2014 +0100 GRANT: calculate pasword hash in sql_acl.cc don't do it in the parser, one should not make run-time decisions (like, checking thd->variables.old_passwords variable) during parsing. commit 7bd9eb1f410be849edef2be3548ec9cd14d67c3a Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 24 16:55:56 2014 +0100 parser: store the password hash in LEX_USER::auth, not in ::password * indeed, "username IDENTIFIED BY PASSWORD hash" is the same as "username IDENTIFIED VIA mysql_native_password USING hash" * LEX_USER::password can now be used for plain-text passwords commit 91ad0cd5801ed16670f1f6d31d1d3dbd1be104d2 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 24 16:53:51 2014 +0100 sql_acl.cc: better recognize the context to tell the role from a user REQUIRE and MAX_QUERIES_PER_HOUR can not possibly apply to a role commit bc603c604daaf8c4e7b31c9ad1b4724f9ab3f450 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 24 15:10:51 2014 +0100 bugfix: IDENTIFIED BY clause was lost in some GRANT variants commit 61820bca9b4a4caa30127b17bca93d2bf37217ff Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Nov 24 14:07:42 2014 +0100 cleanup: sql_acl.cc * remove no-op check_password_policy() and references to it * add 'static' to functions that need it * remove unused function check_acl_user() commit f5722f5851bb4603040d5010aeeb98244cc2789f Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 23 20:30:56 2014 +0100 cleanup: normalize LEX_USER to get rid of different representation of the same thing username IDENTIFIED BY PASSWORD xxx username IDENTIFIED VIA mysql_native_password USING xxx etc also check for valid strlen(xxx) commit c1204da1c72bb51c0b4904704b69411f7ce391e3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 23 19:36:08 2014 +0100 cleanup: bool_variable= -1; -> bool_variable= true; commit 7f856f0a8204e8faa41b3778a0aa103acd8ef331 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 21 17:53:16 2014 +0100 remove unsupported service file commit 4027e3b88580e011b799cd4c2d7b94b400ba6f73 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 21 14:45:25 2014 +0100 don't load plugin of unsupported types commit 77e3cb7dc1d1b3b3a59179cf9ae8833c88309821 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 23 21:01:52 2014 +0200 cleanup: sql_plugin.cc * test for opt->name being non-NULL *before* dereferencing it * remove unused argument in cleanup_variables() * simplify commit bdb222bcc46faa9fd6b57021de330ff9bfcdf61e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 3 14:25:01 2014 +0100 update 32-bit rdiff's commit 23fa0a367bcdc0d07dde1c5c397c42d2d40a9169 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 29 19:49:42 2014 +0100 fix a comment commit fc40f81edaee5d01dbaf6a3499147bde70bf01e8 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 29 00:53:09 2014 +0100 a case of uninitialized variable commit e4f973930c6fd8d76c7ad4f2e0769336e555ef67 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 29 00:52:48 2014 +0100 MDEV-6999 Remove or deprecate unused variables commit 6a2fbdf948af3e72be577daaac89e9a3ce69a682 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 29 00:29:40 2014 +0100 MDEV-6979 simplify trigger rules for RBR triggers Rows_log_event::write_row - don't optimize DELETE+INSERT into UPDATE if RBR triggers are used commit 1bd1c29ea0ec51d2efefcadbc1ca217aff9f7610 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Nov 28 22:39:22 2014 +0100 MDEV-6895 switch to dynamic libjemalloc.so commit 0438f1254090f65290b3d58a7c2722d1c5311afd Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Nov 27 09:45:10 2014 +0100 MDEV-6980 OUT parameters in PREPARE revert the patch for "out parameters in prepare" commit 717a264ef4d74fdb9723fc2e713878d26c7d3a8e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 26 20:49:24 2014 +0100 MDEV-6894 Enable SEQUENCE engine by default commit 69d700ace31887714be026b7c1526ee7832fba94 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 26 20:34:40 2014 +0100 MDEV-5871 support assisted discovery in oqgraph v3 commit 2ef0312cd97a6cd6973a3e1221c127adf669bd72 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 26 20:33:50 2014 +0100 oqgraph cleanup: remove casts commit 2ae7541bcf93985302bc7efb2629e6f623ccfc64 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 19 09:13:38 2014 +0100 cleanup: s/const CHARSET_INFO/CHARSET_INFO/ as CHARSET_INFO is already const, using const on it is redundant and results in compiler warnings (on Windows) commit 0d30423900dd3a384f061c32f6ec3de9c11cdde9 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Nov 19 08:55:06 2014 +0100 cleanup: reuse MY_CHECK_AND_SET_COMPILER_FLAG in sphinx/CMakeLists.txt commit d2a78def63687ca7068acd9ec3bb4e45b14d49c6 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Nov 18 11:36:15 2014 +0100 cleanup: ptr_cmp 1. don't cast size_t* to int* 2. remove long obsolete register specifier commit 20c3b2ff807b07610ed9012f31fce0ba68d522b0 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 16 13:15:35 2014 +0100 MDEV-6311 Add errors on CREATE SERVER fail CREATE SERVER foreign data wrapper is "mysql" and neither HOST nor SOCKET are specified. Also default PORT to 3306 (again, only for foreign data wrapper "mysql") commit 97a913e31c161dbd18f4fcb9cc00f23640497e03 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 16 13:12:58 2014 +0100 cleanup: freshen up CREATE SERVER code * pass LEX_STRING's from the parser, don't ignore the length only to strlen later * init LEX::server_options only for SERVER commands, not for every statement * don't put temporary values into a global persistent memroot but really it's just scratching a surface commit a50ddebb5cfa7b79540d155e8e41c7a07c4c3fbf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Dec 3 22:30:48 2014 -0500 MDEV-6593 : domain_id based replication filters Implementation for domain ID based filtering of replication events. commit 7bf4f9f7f66192f07fa46ed30c38f8842502fc4f Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 3 21:33:34 2014 +0100 followup for MDEV-6996, update tests and results commit 24a6b413489e82971673d2a68e754fc30add3f9c Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Dec 3 13:45:21 2014 +0200 Move page initialization to better place. commit 316d8c7fc8ab8c33ffddc898667f409bc86c7d5a Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 3 11:58:33 2014 +0100 compiler warning commit ec4137c62b00a2bad91dd108f5782b206fe86a8b Merge: 1caee393076 bafe529af76 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Dec 3 11:37:26 2014 +0100 Merge branch '10.1' into bb-10.1-merge commit bafe529af76a915f43dbf6a3fb8dc610a4ea121b Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Dec 3 11:41:48 2014 +0200 Fix Windows compiler error. commit d4aef382fd9e3cc10ed687cc981b43aac1f29281 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Dec 3 10:41:52 2014 +0200 Fix compiler failure on fallocate function and used flags. commit 1caee393076dc642a7d8e1283377b59ef8f52dbd Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 2 22:25:53 2014 +0100 disable mroonga temporarily: see MDEV-7246 commit 853077ad7e81be1ade20b4beab1b95d5766d87b1 Merge: bf3b4a23f75 2b5db1d5bcd Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Dec 2 22:25:16 2014 +0100 Merge branch '10.0' into bb-10.1-merge Conflicts: .bzrignore VERSION cmake/plugin.cmake debian/dist/Debian/control debian/dist/Ubuntu/control mysql-test/r/join_outer.result mysql-test/r/join_outer_jcl6.result mysql-test/r/null.result mysql-test/r/old-mode.result mysql-test/r/union.result mysql-test/t/join_outer.test mysql-test/t/null.test mysql-test/t/old-mode.test mysql-test/t/union.test packaging/rpm-oel/mysql.spec.in scripts/mysql_config.sh sql/ha_ndbcluster.cc sql/ha_ndbcluster_binlog.cc sql/ha_ndbcluster_cond.cc sql/item_cmpfunc.h sql/lock.cc sql/sql_select.cc sql/sql_show.cc sql/sql_update.cc sql/sql_yacc.yy storage/innobase/buf/buf0flu.cc storage/innobase/fil/fil0fil.cc storage/innobase/include/srv0srv.h storage/innobase/lock/lock0lock.cc storage/tokudb/CMakeLists.txt storage/xtradb/buf/buf0flu.cc storage/xtradb/fil/fil0fil.cc storage/xtradb/include/srv0srv.h storage/xtradb/lock/lock0lock.cc support-files/mysql.spec.sh commit 01590005ba44f350f63b70a7ceb9f69095b293d5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Dec 2 19:25:58 2014 +0200 Fix buildbot valgrind errors on test innodb.innodb-page_compression_tables Problem was that temporal buffers allocated for page compression are not initialized and rest of the page that is actually writen was als not initialized after previous usage. commit 3502d7412148d543082aad3c72bbadf742f0a60d Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Dec 2 10:59:44 2014 +0100 MDEV-7015: SET STATEMENT old_passwords has no effect Decision about algorihtm moved on prepare phase. Made possible to add mpore password algorithms. commit 53ff66fe31ee4e0fa646f646cee10095390471af Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Tue Dec 2 09:04:09 2014 +0100 MDEV-6996: SET STATEMENT default_week_format = .. has no effect Change constant with a system variable. commit d6e881643508b77ae482014a061927f91f4a8eec Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 10:35:28 2014 +0300 Make analyze_format_json.test work on case-insensitive FS. commit b3d930b39c1d874d269a256e7ae05ae3e1956d4d Merge: 8722b6de4dc 149e8a7b28c Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 02:26:55 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 149e8a7b28cb883dd3f2dc9353760a97b526fb71 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 02:26:25 2014 +0300 Update test results after fix for MDEV-7245 commit 8722b6de4dc7c895692323db124ac4f9c7745291 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 02:14:17 2014 +0300 Code cleanup commit fc2871acbe5396fc8087b55ecaa0028301b0db3d Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 01:58:22 2014 +0300 Update test results. commit 0000695025dea9740842ea57a5d79cd56d880405 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 01:40:10 2014 +0300 EXPLAIN FORMAT=JSON Add support for semi-join strategies: FirstMatch, DuplicateWeedout, LooseScan. commit a35b05399ef20de3c0d5e521a62b5e297c6ccd1e Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 01:22:16 2014 +0300 EXPLAIN FORMAT=JSON: Do set usable_key_parts for key in the temp. table If we didn't do it, SJ-Materialization table would appear to EXPLAIN JSON code as having different keyparts than it actually has. This caused unpredictable content in "used_key_parts" commit 5c5a8b1cc8c2241e82635aeb1476f911fca6e904 Merge: 753718c2019 54392f0a223 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 00:32:31 2014 +0300 Merge ../10.1 into bb-10.1-explain-json commit 54392f0a223121fd95ae00590370909415dbdd96 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Dec 2 00:18:57 2014 +0300 MDEV-7245: Incorrect display of subquery cache in union.result - Do set nest_level and nest_level_base for fake_select_lex objects. commit 753718c20194f9f04432a5657a661eb6e9440483 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Dec 1 21:35:31 2014 +0300 EXPLAIN FORMAT=JSON: support SJ-Materialization - Switch Explain data structure from "flat" representation of SJ-Materialization into nested one. - Update functions that print tabular output to operate on the nested structure. - Add function to generate JSON output. commit bf3b4a23f75de50e0f1ab4a562e5801dabc7305b Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 1 16:43:09 2014 +0100 fix mysqld_safe to work local function variable was overwriting the global one. also remove unused variable expansion. commit dbbe8310964266f78882c926ec363a10066d1824 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 1 15:25:07 2014 +0100 don't skip wsrep position recovery silently control scripts (mysqld_safe for example) want to know whether a recovery was successful or not. total silence is too suspicious to be trusted. commit aa4ad1c6b048d8254c47ab248d1e2a60a71b7c96 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 1 13:43:17 2014 +0100 update result files commit bb070f9367403611c473ad28e9e4cedec882f76f Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Dec 1 10:31:31 2014 +0100 MDEV-7188 main.signal_demo3 and sys_vars.max_sp_recursion_depth_func fail in biuldbot on labrador with Thread stack overrun reduce stack requirememnts for CALL by just a little bit commit 2b40a389a5d82cfea7fabf1f34ff2737b4d65cfa Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Nov 30 21:13:41 2014 -0500 MDEV-4412 : SLOW QUERY LOG - add affected rows (UPDATE / DELETE) in slow query log Added Rows_affected to slow query log & mysql.slow_log table. commit b16b072186764da468dd947b33a8299b7f4c1a8a Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 30 09:26:32 2014 +0100 Make test results stable. (just like in the test below) commit 2e728c706982e80d90658363f0cf022194b1e8f8 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Nov 30 08:32:36 2014 +0100 rdiff not needed anymore commit 3e792e6cbccb5d7bf5b84b38336f8a40ad232020 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Nov 30 01:05:34 2014 -0500 MDEV-4018 : Feature Request: microseconds in GET_LOCK() Updated MDL_context's lock methods to accept double precision lock_wait_timeout. commit 5298e21c32666f558b2ecdfee12df493d87d4e07 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Nov 30 00:12:45 2014 -0500 MDEV-6961: mysqld should terminate when started with --wsrep-recover Fixed the condition to make sure mysqld process terminates when started with wsrep-recover. commit f7708d683036a1471bcdaa25580ac995edfa9f49 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Nov 29 22:29:03 2014 +0100 fixes for --embedded commit c46eadb2b33ca152525a18d9b5425fedbef7f277 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Nov 29 03:28:46 2014 +0300 EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ... commit e235bb864d2b8daae3dc7061249f59fb0127bdc5 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Nov 29 03:07:24 2014 +0300 ANALYZE FORMAT=JSON: better output and tests - Print r_loops - Always print r_* members. Print NULL values if no scans took place - Added testcases. commit 0b5d989c894a14ebcb786940fafd025e31523d8b Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Nov 29 01:08:18 2014 +0300 EXPLAIN FORMAT=JSON: Add support for non-merged semi-joins commit 2ac3b39e68bf6bf1b56e6eafd290c0a78368d0be Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 28 22:23:29 2014 +0300 EXPLAIN FORMAT=JSON: support derived tables commit 3a5e080d4dbe58675e6324eaa807bc2c7aa8795d Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 28 16:46:05 2014 +0300 Make explain_json.test pass on case-insensitive FS. commit d5fbfb9a93704ebe4b1df37f74850a7464140991 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 28 02:36:31 2014 +0300 EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE. commit d0d6284cab70af148269d95744f615454cac24bb Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Fri Nov 28 00:29:37 2014 +0400 MDEV-4045 Missing OGC Spatial functions. Missing GIS functions added: IsRing() PointOnSurface PointOnSurface Relate Distance Intersection ConvexHull Other old OpenGis standard inconsistencies fixed. commit 461dbd80d2ea96034f330dd238282d2167ed2c4d Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Nov 27 23:10:44 2014 +0300 EXPLAIN FORMAT=JSON: support join buffering - Basic support for JOIN buffering - The output is not polished but catches the main point: tab->select_cond and tab->cache_select->cond are printed separately. - Hash join support is poor still. - Also fixed identation in JOIN_TAB::save_explain_data commit 7b55b67de5fdfe91283357fe6c7ccc3f9e355925 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Nov 27 20:11:14 2014 +0200 MDEV-7228: innodb.innodb-page_compression_tables, innodb.innodb-page_compression_zip, innodb.innodb_stats_create_on_corrupted fail with embedded server Problem is that tests restart the server and "shutdown_server" looks for pid file # which is not there with embedded mode. Fix tests so that they are not run with embedded mode. commit 37c444e1a079b25d0a34efbbc2fadfae17999966 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Nov 27 19:32:48 2014 +0300 EXPLAIN FORMAT=JSON: further development Writing JSON: - Fix a bug in Single_line_formatting_helper - Add Json_writer_nesting_guard - safety class EXPLAIN JSON support - Add basic subquery support - Add tests for UNION/UNION ALL. commit 3d5f97fd708e12201636179baee2c8bc0093c109 Merge: 55e99b29339 3c5ce8a0a32 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Nov 27 00:51:54 2014 +0300 Merge ../10.1-explain-json-r4 into 10.1 commit 55e99b29339dae833448ded6d0ca3d31f673d02a Author: Alexander Barkov <bar@mariadb.org> Date: Wed Nov 26 13:28:46 2014 +0400 MDEV-7162 main.mysqld--help fails in buildbot on Windows: commit 98a78c460f3e7951712255e68a6dce614551683d Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Nov 25 09:11:48 2014 +0200 MDEV-7181: innodb.innodb_defrag_concurrent fails in buildbot Problem was that test tried to calculate number of pages on buffer pool and operations done to them. This is not realible way on buildbot. commit afe6d88d78ddd31aec3e74d8470a492d77da3f18 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 24 21:29:12 2014 +0200 MDEV-7167: innodb.innodb_bug12902967 fails in buildbot on Windows Problem is that there is additional error message from function that is not really needed now. commit 96b031b56387799aa9132a0a9bc7cb8986f67a41 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 24 20:27:43 2014 +0200 MDEV-7169: innodb.innodb_bug14147491 fails in buildbot on Windows Problem is that test could open Microsoft C++ Client Debugger windows with abort exceptin. Lets not try to test this on windows. commit 8ba3585b47ee678de16dd7d4ec063e76fe7b7b1d Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 24 19:42:39 2014 +0200 MDEV-7168: Tests innodb.innodb_stats_create_table innodb.innodb_stats_drop_locked fail and innodb.innodb_stats_fetch_nonexistent fails in buildbot on Windows Analysis: Problem is that innodb_stats_create_on_corrupted test renames mysql.innodb.index_stats and all the rest are dependend on this table. Fix: After rename back to original, restart mysqld to make sure that table is correct. commit 1ac12df0cb064ad7f2ad87804c1d2d80c9cfa6c5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 24 15:20:23 2014 +0200 MDEV-7164: innodb.innodb-alter-table-disk-full fails in buildbot on Windows Analysis: Test case uses Linux specific error codes. Fix: Can't run test case with Windows currently because requires to inject error to system. commit c0a00a2dcfd71500b7d53e49340d1c4695c3382e Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Nov 24 12:25:56 2014 +0400 MDEV-7171 funcs_1.is_tables_is and main.information_schema-big fail in buildbot. test results updated with the new GIS-related IS tables. commit 1a05bb4010aed7c8353f5d75be0b1cfc520e87cc Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 24 10:01:49 2014 +0200 MDEV-7166: innodb.innodb-page_compression_zip fails in buildbot Analysis: If innodb_use_trim is not enabled or system does not support fallocate to make persistent trim, we should always write full page not only partial pages. commit deffb95bc2849b016e309a1d5803d13d3ceff05a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Nov 23 09:55:57 2014 -0500 MDEV-7161: Build failure in buildbot on work-amd64-valgrind Fix for embedded build failure. Also added wsrep_info plugin library to server debian package. commit 369c02674cb024ceb1995433913ef2fb32f815ca Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Nov 22 14:33:51 2014 -0500 MDEV-7053: WSREP_STATUS & WSREP_MEMBERSHIP I_S tables wsrep_info INFORMATION_SCHEMA plugin to provide WSREP_STATUS and WSREP_MEMBERSHIP tables. commit 3c5ce8a0a32a74cd8e0ddc81bcfacf7c85f0d90a Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 21 21:44:06 2014 +0300 Make testsuite to pass - Drop all tables in explain_json.test - Tabular form should print ref='' when type='fulltext' (another peculiarity of the traditional EXPLAIN format) - String_list::append_str should allocate memory for \0, too - Some temporary code for EXPLAIN JSON and join buffering. commit 305dd8e5fba804d8006d34ca7cb05bec5a3b45e6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Nov 21 20:45:18 2014 +0300 Better comments commit 1f3724a5831cd6529f4917b0a977d456465c68fe Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Nov 20 21:09:57 2014 +0300 Better comments commit cbc318fcf3680c01dca1320b87f625124a497528 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 20 21:29:11 2014 +0400 Removing some duplicate code: deriving Item_func_opt_neg from Item_bool_func. commit 52b3d95f2a6408466ba89dbdbb45cea59027af49 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 20 12:56:47 2014 +0400 Deriving Item_bool_func from Item_bool_func2. commit 969f4918451324bf833836570c7b617456065840 Author: Alexander Barkov <bar@mariadb.org> Date: Thu Nov 20 11:59:00 2014 +0400 MDEV-7005 NULLIF does not work as documented MDEV-7146 NULLIF returns unexpected result with a YEAR field commit a4cdd20d49a5a6ca0eb7346b7b9e898ac5e7995b Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Nov 19 13:33:37 2014 -0500 MDEV-7131: [PATCH] wsrep_guess_ip doesn't compile on OpenBSD Extend platform check to include OpenBSD. (Contributed by: Jonathan Matthew) commit 9f4abde608006ade7de3209fa1127bf20d4b2907 Author: Alexander Barkov <bar@mariadb.org> Date: Wed Nov 19 21:34:51 2014 +0400 Sharing similar code between Item_func_ifnull and Item_func_if commit b432c7bc4226af87a0de1ea3b4dc5a5accbfee0a Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Nov 19 14:58:48 2014 +0200 MDEV-7133: InnoDB: Assertion failure in dict_tf_is_valid Problem is that page compressed tables currently require atomic_blobs and that feature is not availabe currently for row_format=redundant. Fix: Disallow page compressed create option if table row_format=redundant. commit 6f65d2d11433b0bfa30d5a4cd9178a7aaaea05f6 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 17 11:56:03 2014 -0500 MDEV-6924 : Server crashed on CREATE TABLE ... SELECT Do not allow server to start if binlog_format is set to a format other than ROW. Also restrict the change of GLOBAL/SESSION binlog_format value at runtime. commit c68e73b53fa2e1d6c60930f5f85f0ac52dabc825 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 17 09:55:53 2014 -0500 MDEV-6924 : Server crashed on CREATE TABLE ... SELECT Do not allow server to start if binlog_format is set to a format other than ROW. Also restrict the change of GLOBAL/SESSION binlog_format value at runtime. commit 7bf391c2059f452eafb424336faa30d402f92b67 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 17 09:55:55 2014 +0200 MDEV-7108: Make long semaphore wait timeout configurable Merge Facebook commit https://github.com/facebook/mysql-5.6/commit/cd063ab930f05efdba39d504543998512d1bd71f authored by Peng Tian from https://github.com/facebook/mysql-5.6 Introduced a new configuration variable innodb_fatal_semaphore_wait_threshold, it makes the fatal semaphore timeout configurable. Modified original commit so that no MariaDB server files are changed, instead introduced a new InnoDB/XtraDB configuration variable. Its default/min/max vlaues are 600/1/2^32-1 in seconds (it was hardcoded as 600, now its default value is 600, so the default behavior of this diff should be no change). commit ea8322687254fad00143ff7850a67ea8c7f0027e Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Nov 12 15:37:52 2014 +0200 MDEV-7088: Query stats for compression based on TRIM size Analysis: Status variables were missing from innodb_status_variables array. Fix: Add missing status variables to the array. commit 1827d9e6d188e3ad53e057a583ebed02767b65ac Author: Oleksandr Byelkin <sanja@mariadb.com> Date: Fri Oct 24 10:13:08 2014 +0200 MDEV-5231: Per query variables from Percona Server (rewritten) commit a03dd94be804a4b8b1406696920834bb2c0bedbd Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Nov 6 13:17:11 2014 +0200 MDEV-6936: Buffer pool list scan optimization Merged Facebook commit 617aef9f911d825e9053f3d611d0389e02031225 authored by Inaam Rana to InnoDB storage engine (not XtraDB) from https://github.com/facebook/mysql-5.6 WL#7047 - Optimize buffer pool list scans and related batch processing Reduce excessive scanning of pages when doing flush list batches. The fix is to introduce the concept of "Hazard Pointer", this reduces the time complexity of the scan from O(n*n) to O. The concept of hazard pointer is reversed in this work. Academically hazard pointer is a pointer that the thread working on it will declar such and as long as that thread is not done no other thread is allowe do anything with it. In this WL we declare the pointer as a hazard pointer and then if any thread attempts to work on it, it is allowed to do so but it has to a the hazard pointer to the next valid value. We use hazard pointer sol reverse traversal of lists within a buffer pool instance. Add an event to control the background flush thread. The background f thread wait has been converted to an os event timed wait so that it c signalled by threads that want to kick start a background flush when buffer pool is running low on free/dirty pages. commit 84de27709913fa6dcb90f535d54cd866f2ba5b7f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Nov 5 09:18:47 2014 +0200 Fix error message output if posix_fallocate (trim) is not successfull. commit 8b1b62dd8fb7baec93c4396230ea6c3cc3513845 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Nov 4 15:41:39 2014 +0200 Fix compiler failure on Windows. commit 8e27845bb063187acc682d6184b2ec91c9c14786 Author: Alexander Barkov <bar@mariadb.org> Date: Tue Nov 4 15:02:49 2014 +0400 A follow up fix for MDEV-5528 (forgot to do "git add" for two files in the previous commit for MDEV-5528) commit 251fa7ffc59f236a8c493465519bc70152466385 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Nov 4 12:26:48 2014 +0200 Fix error on trim operation alligment. Furthermore, make sure that we do not return simulated out of file space on read operation, that would cause crash. commit 43f185e171eecdce41e71c548ce0bc2bd6969c0f Author: Alexander Barkov <bar@mariadb.org> Date: Mon Nov 3 21:45:06 2014 +0400 MDEV-5528 Command line variable to choose MariaDB-5.3 vs MySQL-5.6 temporal data formats commit a245543bc8821b15409b839197d911302fb5bfb0 Author: Alexander Barkov <bar@mariadb.org> Date: Mon Nov 3 19:05:16 2014 +0400 MDEV-6649 Different warnings for TIME and TIME(N) when @@old_mode=zero_date_time_cast Merging from 10.0 (pre-requisite for MDEV-5528) commit cb37c557688e2f7f0381d02f78976a1b7d1bfd65 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Nov 3 11:18:52 2014 +0200 MDEV-6929: Port Facebook Prefix Index Queries Optimization Merge Facebook commit 154c579b828a60722a7d9477fc61868c07453d08 and e8f0052f9b112dc786bf9b957ed5b16a5749f7fd authored by Steaphan Greene from https://github.com/facebook/mysql-5.6 Optimize prefix index queries to skip cluster index lookup when possible. Currently InnoDB will always fetch the clustered index (primary key index) for all prefix columns in an index, even when the value of a particular record is smaller than the prefix length. This change optimizes that case to use the record from the secondary index and avoid the extra lookup. Also adds two status vars that track how effective this is: innodb_secondary_index_triggered_cluster_reads: Times secondary index lookup triggered cluster lookup. innodb_secondary_index_triggered_cluster_reads_avoided: Times prefix optimization avoided triggering cluster lookup. commit 3c2c03624803abd20e5e4e589fa6b14bd92c29f5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 29 22:31:19 2014 -0400 MDEV-6939 : Dots in file names of configuration files Use fn_ext2() to get the file extension from last occurrence of FN_EXTCHAR ('.') instead. commit 822dc6f5df21d0905aad943324bcdaefdb11dc60 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 29 22:28:14 2014 -0400 mysys/mf_fn_ext.c: typos & indents commit 2bf3e416fedf9984296da9ff43c7ff54780010d1 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Oct 29 13:49:12 2014 +0200 MDEV-6932: Enable Lazy Flushing Merge Facebook commit 4f3e0343fd2ac3fc7311d0ec9739a8f668274f0d authored by Steaphan Greene from https://github.com/facebook/mysql-5.6 Adds innodb_idle_flush_pct to enable tuning of the page flushing rate when the system is relatively idle. We care about this, since doing extra unnecessary flash writes shortens the lifespan of the flash. commit 58888e2c08935d27249d6d29eda3d4f26a9d9060 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Oct 29 10:42:27 2014 +0200 MDEV-6935: Change the default value for innodb_log_compressed_pages to false Merge Facebook commit ca40b4417fd224a68de6636b58c92f133703fc68 authored by Steaphan Greene from https://github.com/facebook/mysql-5.6 Change the default value for innodb_log_compressed_pages to false Logging these pages is a waste. We don't want this to be enabled. One caution here: If the zlib version used by innodb is changed, but the running version is still the previous version, and the running version crashes, it is possible crash recovery could fail. When crash recovery uses a zlib version at all different than the version used by the crashed instance, it is possible that a redone compression could fail, where the original did not, because the new zlib version compresses the same data to a slightly larger size. Because of the nature of compression, this is even possible when upgrading to a version of zlib which actually peforms overall better compression than the previous version. If this happens, mysql will fail to recover, since a page split can not be safely triggered during crash recovery. So, either the exact zlib version must be controlled between builds, or these rare recovery failures must be accepted. The cost of logging these pages is quite high, so we consider this limitation to be worthwhile. This failure scenario can not happen if there was a clean shutdown. This is only relevant to restarting crashed instances, or starting an instance built via a hot backup too (XtraBackup). commit 2d2d11f02b7ed74672c4976df9335f82697a16f6 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Oct 29 08:39:48 2014 +0200 MDEV-6968: CREATE TABLE crashes with InnoDB plugin Analysis: fil_extend_space_to_desired_size() does not provide file node to os_aio(). This failed on Windows only because on Windows we do not use posix_fallocate() to extend file space. Fix: Add file node to os_aio() function call and make sure that we do not use NULL pointer at os_aio_array_reserve_slot(). Additionally, make sure that we do not use 0 as file_block_size (512 is the minimum). commit b96697d286e477ae8df212bdf0350d3110168499 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Oct 28 14:49:31 2014 +0400 MDEV-6648: InnoDB: Add support for 4K sector size if supported New generation hard drives, SSDs and NVM devices support 4K sector size. Supported sector size can be found using fstatvfs() or GetDiskFreeSpace() functions. commit e48fbd28d298417aae1eb06b3842586598e5dfce Author: Elena Stepanova <elenst@montyprogram.com> Date: Tue Oct 28 14:49:31 2014 +0400 Increase the version number commit 5ff6f6f883b8c9c6ae58abe6e8febe6a8b23ce3d Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Oct 27 21:19:12 2014 -0400 Added SST scripts to the server package. commit 9646f946e912db02fb75493b48db188476860c8e Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Oct 27 16:34:53 2014 +0200 MDEV-6759: innodb valgrind failures Fix failure seen on dict_foreign_remove_partial. commit 0a16fe4ec9add45532b6fd36a1059c33bac14f05 Author: Alexey Botchkov <holyfoot@montyprogram.com> Date: Fri Oct 24 17:12:03 2014 +0500 GIS-related test results updated. commit cc656e4d8538326d85e84adbe48d0a3739d55674 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Oct 22 16:14:25 2014 +0300 Enhance row-merge sort progress logging. commit c3db4459561bc491582bef6bea7b83e9fe464a10 Author: Alexey Botchkov <holyfoot@montyprogram.com> Date: Tue Sep 2 11:31:26 2014 +0500 MDEV-12 OpenGIS: create required tables: GeometryColumns, related views. GEOMETRY_COLUMNS and SPATIAL_REF_SYS tables added to the INFORMATION_SCHEMA. commit c1f5f61c9b651cac80f22319beed13733963c632 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Oct 20 15:53:07 2014 +0300 Make sure that information schema knows also page compressed page type and that we decompress fist page if it is page compressed before really accessing it. commit d24919969a4dcebf5bd206ee2678d23c72ca726a Author: Igor Babaev <igor@askmonty.org> Date: Sun Oct 19 09:50:50 2014 -0700 Correction for the fix of the bug mdev-6874. commit ec89abfef4d0ceef06e4037e8fa1a3cdad7ca18d Merge: aa0fd5ca53b a4d1783aaee Author: Igor Babaev <igor@askmonty.org> Date: Fri Oct 17 14:06:54 2014 -0700 Merge branch '10.1' of ../10.1-mdev334 into 10.1 commit a4d1783aaeea6a3e4a46084fde161ff7152fd2da Author: Igor Babaev <igor@askmonty.org> Date: Fri Oct 17 12:59:28 2014 -0700 Fixed bug mdev-6874. The method subselect_union_engine::no_rows() must take into account the fact that now unit->fake_select_lex is NULL for for select_union_direct objects. commit aa0fd5ca53b381094c03fce4808032c98d0fe0f4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 17 23:24:00 2014 +0400 MDEV-6388: ANALYZE $stmt output in the slow query log Add testcase. commit 47ced6556652beb39cee0f280c3cfb3e39ba74e5 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 17 22:47:06 2014 +0400 MDEV-6388: ANALYZE $stmt output in the slow query log Make log_slow_verbosity=explain actually print ANALYZE (that is, EXPLAIN otuput with two extra columns). commit d3bdc142b404426c279dacc1d64684b85c120b38 Merge: d44dd54bc83 1e791384590 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 17 14:21:40 2014 +0400 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit d44dd54bc838e6679f451a8faf07a7f44efe2fa4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 17 14:18:10 2014 +0400 MDEV-6400: "ANALYZE SELECT ... INTO @var" doesn't set @var Make ANALYZE work for - ANALYZE SELECT ... INTO @var - ANALYZE INSERT SELECT ...; - ANALYZE SELECT .. INTO OUTFILE commit 1e79138459038c39c85239a825bf1727ef43c156 Merge: 7aed4419638 42f359f9827 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 16 00:30:29 2014 +0200 Merge branch 'bb-10.1-merge' into 10.1 commit 42f359f9827340bf430a9f1a0bda9b059951ea08 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 15 22:42:08 2014 +0200 after-merge fixes commit be1c17669cb90e18315d7675c8b4d3c906cd64a7 Merge: 041e03e251e fec5ab5a56c Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Oct 15 17:21:59 2014 +0400 Merge ../10.1 into bb-10.1-explain-json commit f62c12b405ba7ec80b8e2490856b83c6f5899211 Merge: f947f73b2b6 f1afc003eef Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 15 12:59:13 2014 +0200 Merge 10.0.14 into 10.1 commit cc9d1bd8dc55ddc451cd2a255958fac313fe79d0 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Oct 14 18:04:04 2014 -0400 empty patch commit 7aed441963823191e94da3df069e123dc8794eee Merge: e813f9b9b3a 3c4bb0e8720 Author: Igor Babaev <igor@askmonty.org> Date: Tue Oct 14 09:41:25 2014 -0700 Merge branch '10.1' of ../10.1-mdev334 into 10.1 commit 3c4bb0e8720b84a14fe4822d1986d01290b9ab44 Author: Igor Babaev <igor@askmonty.org> Date: Tue Oct 14 09:36:50 2014 -0700 MDEV-334: Backport of UNION ALL optimization from mysql-5.7. Although the original code of mysql-5.7 was adjusted to the current MariaDB code the main ideas of the optimization were preserved. commit e813f9b9b3a087910b94ffeda968b53f9fca4311 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Oct 14 14:58:35 2014 +0400 MDEV-6693 - Atomic operations with explicit memory barrier Added API for atomic operations with explicit memory barrier. Only gcc atomic builtins are currently supported. If they're unavailable, fall back to atomic operations with implicit full memory barrier. commit f947f73b2b6d2bd246b81a9038224d2a85777520 Merge: fec5ab5a56c e3ac16d7210 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Oct 13 21:47:56 2014 +0200 Merge branch '10.1' of https://github.com/ottok/server into ottok-10.1 commit fec5ab5a56cb9a45c621207620cc85079cddf537 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Oct 12 20:48:07 2014 +0400 MDEV-6396: ANALYZE INSERT/REPLACE is accepted, but does not produce a plan Add ANALYZE STMT handling into INSERT command. commit 5c33632b50ab37641b2b0a60729ffda3dbeac31c Author: Elena Stepanova <elenst@montyprogram.com> Date: Sun Oct 12 14:26:27 2014 +0400 engine_condition_pushdown has been deprecated commit 698fcc5cd28f353b083288e7a6317022e758729b Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Oct 11 16:00:52 2014 +0200 fix unstable test results commit 2f294dbcd8fff29921fd5f4a1d5b57e3ecd808b9 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Oct 11 10:18:55 2014 +0200 fix a big test commit 5ca5f92a1d6f4af0b407bc22e89b8ed78be09bc9 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 8 09:40:39 2014 +0200 MDEV-5749 Please add a .pc file to MariaDB for easy use via pkg-config commit 7f5e51b940d65cf541403a50af74163b9aed5cb8 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 21 18:11:46 2014 +0200 MDEV-34 delete storage/ndb and sql/*ndb* (and collateral changes) remove: * NDB from everywhere * IM from mtr-v1 * packaging/rpm-oel and packaging/rpm-uln * few unused spec files * plug.in file * .bzrignore commit 57dd1f6f3fcbc7a46e1b3e71257987315f7aa687 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 15 13:25:53 2014 +0200 MDEV-6108 update userstat feature from percona server TOTAL_SSL_CONNECTIONS columns in CLIENT_STATISTICS and USER_STATISTICS commit 43450fcc4732ae736c6aad020ef1589ece2b992e Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 18:28:40 2014 +0200 rename status_user.test -> userstat.test commit 3182938d22b705d616b83d83dd72c31f24bc365f Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 19:08:55 2014 +0200 move userstat tables to a plugin commit db8af31831beb949dfcf7675b3c6392dc52dc38c Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 19:08:01 2014 +0200 SHOW and FLUSH for I_S tables. Extend existing plugins to support * SHOW QUERY_RESPONSE_TIME * FLUSH QUERY_RESPONSE_TIME * SHOW LOCALE move userstat tables to use the new API instead of hand-coded syntax commit 932eaf31e91cf875e336b8d9332682aca03c6e58 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 14:22:22 2014 +0200 cleanup: sort struct members by size commit 3f7cc414fed92228c37fd75fcee62ca4e2a170ed Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 09:51:46 2014 +0200 cleanup: remove dead code commit 534cbc1f2affb2953f3ad988b027e5bc116de0eb Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 19:05:38 2014 +0200 cleanup: my_init_dynamic_array2 -> init_dynamic_array2 commit 236556df3fc6ab4be1751f1c611c4ae46a4c82f4 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 4 14:38:29 2014 +0200 fix TokuDB not to build ft-index library when disabled commit e24c1c027853be2a8089530b27b8ebf91fdfde5a Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 4 14:37:43 2014 +0200 cleanup: remove unnecessary hack from federated/CMakeLists.txt commit c006105bbf82cb82d14a64e3a4a9d03b882a5db8 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 9 21:43:48 2014 +0200 make sysvars_* tests to work on 32-bit too commit 41756a30d269d984dc7a52e22f35516fe90eca83 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Oct 11 10:19:56 2014 +0200 portability fixes for sysvar_* tests commit 2a4e8813f6820ca0771a8d7aa94016fbefa732ac Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 3 15:16:43 2014 +0200 GLOBAL_VALUE_ORIGIN=AUTO commit 3fa8c279d57e4a23a8ee34f50d5261541bf928e5 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 1 20:29:58 2014 +0200 INFORMATION_SCHEMA.SYSTEM_VARIABLES.GLOBAL_VALUE_ORIGIN commit 513f5840f89d061615780a950e5e1a7f176e67d8 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 3 20:16:51 2014 +0200 MDEV-6138 show sysvar's help in I_S tables INFORMATION_SCHEMA.SYSTEM_VARIABLES commit beb2422ad8084839294e4c79c227cf0f1eec8244 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 3 20:16:13 2014 +0200 cleanup: @@mutex_deadlock_detector -> @@debug_mutex_deadlock_detector commit 15623fd7bb309cf472fddc806793f88df2caa1cc Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 1 14:46:20 2014 +0200 mysqltest bug: replace_regex /^foo/bar/ didn't work commit a7b2c95a40101f218d6ed608e8703c2ff761ea47 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Sep 3 20:05:51 2014 +0200 bugs in sys_var::val_* code 1. @@boolean_var differs from SHOW VARIABLES 2. @@str_var ignored variable charset (which is wrong for path variables that use filesystem charset) 3. @@signed_int_var in the string context was printed as unsigned commit b969a690217f2364cd6c8b55315360223fe1f00b Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 31 13:39:05 2014 +0200 cleanup: simplify sys_var::val* methods, introduce val_str_nolock() commit a4e7d339af0ea95b8b3c68e2b648294932e8550e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 31 13:21:06 2014 +0200 cleanup: VARIABLE_VALUE column should be NOT NULL it can never be set to NULL, so it should not use MY_I_S_MAYBE_NULL flag either commit 5389300f49dd43af8dcf05dae52c1890abed25f6 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 29 13:59:08 2014 +0200 cleanup: option_type -> scope commit 99677cc510df14440958a784195679eedb5788a2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 28 20:07:27 2014 +0200 cleanup: move safe_str*() from sql_acl.cc to m_string.h commit 9bd5d54c112c706c4ddd80356444a084dc623225 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 28 09:33:00 2014 +0200 correct fix for the old Bug#39955 (warnings in I_S.VARIABLES) old fix only generated a warning for the *first* row in the output commit d281faf9925080741b1069b0e2f0aca1612611cf Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 23:54:51 2014 +0200 cleanup: sql_show.cc commit d508ef789828ed79dec5a568743574cb32e91710 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Aug 28 09:23:15 2014 +0200 cleanup: more 'const' qualifiers commit 9ccaa62dd5a975178d02040514f84119f3371c74 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 23:28:59 2014 +0200 sys_var_pluginvar: populate my_option and misc cleanup commit 28ebc2a72485c4b2956531010bd3ee247ae91df2 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 20:32:32 2014 +0200 cleanup: sysvar, only one common check_update_type() commit 051c132635555371c57b4dea3d1f9f1ad037342c Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 16:05:54 2014 +0200 cleanup: sysvar, SHOW_VALUE_IN_HELP->GETOPT_ONLY_HELP replace flag SHOW_VALUE_IN_HELP (that's not really an independendent flag, as it should only be used for NO_CMD_LINE sysvars) with a special getopt.id type. commit db2399b0c189d96131bf0ac4997daeda4050d2ff Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 10:23:20 2014 +0200 small cleanup commit 8f15bf9d0c0bc1bb8be2218411ae862a4903ae31 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 27 09:40:52 2014 +0200 cleanup: remove hidden I_S.VARIABLES and I_S.STATUS tables their only purpose was to distinguish between SHOW and SELECT and there are cleaner ways of doing it. commit 2fae1b576dd844edfbf6c6477bd6c25e8d1c6332 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 8 09:39:43 2014 +0200 prefer to use new flag name when possible commit ab34aecff3c6c9c33ca682c90a79ec60d59f42ed Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 25 23:13:37 2014 +0200 MDEV-6513 deprecate engine_condition_pushdown value of the @@optimizer_switch * ignore the OPTIMIZER_SWITCH_ENGINE_CONDITION_PUSHDOWN bit * issue a deprecation warning on 'engine_condition_pushdown=on' * remove unused remains of the old pre-5.5 engine_condition_pushdown variable commit 686f102eb9a9eb4c9b0f713e532b19409b8bbbe6 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 20 21:36:23 2014 +0200 MDEV-6609 SQL inside an anonymous block is executed with wrong SQL_MODE MDEV-6606 Server crashes in String::append on selecting sql_mode inside anonymous block commit 30ea6ddda00e75c023c270e9e068591e27354834 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 20 20:57:32 2014 +0200 MDEV-6603 SBR failure upon executing a prepared statement with input placeholder under anonymous block Normally, Prepared_statement object rewrites the query on execution to replace ?-placeholders with values. The rewritten query may be written to logs (including binlog) or stored in the query cache. But for compound statements, the whole block is prepared and executed, while contained statements are logged individually. So it doesn't make sense to rewrite the original statement block. Instead, we need to rewrite every contained statement. SP is already doing it to replace SP variables with values. Let it rewrite PS parameters too in the same loop. commit 013f0f6ceca51514a9cbfb599c397e8a4d72934c Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 20 17:25:44 2014 +0200 cleanup: query rewrites for Item_param and Item_splocal Fix query rewrites in PS code - it was memcpy-ing the same query tail many times. Instead use the same logic as in SP code, copy query pieces into the destination buffer. Extract this logic into a separate class Rewritable_query_parameter with Item_param and Item_splocal inheriting from it. Create a helper class Copy_query_with_rewrite that incapsulates the query rewriting logic, use it in SP and PS. commit d7c1e0ebbd272d6198733e8a71f1c16548733262 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Aug 18 21:36:11 2014 +0200 MDEV-5317 Compound statement / anonymous blocks originally based on the patch by Antony T Curtis commit a99af484cd9360c2cea92798bcde594adcf23b7e Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Aug 13 21:04:05 2014 +0200 MDEV-5317 out parameters in PREPARE "SELECT ... INTO" originally based on the patch by Antony T Curtis commit 278f7fdd7e62b71bb1693c97b69c0ad515da9e2c Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Aug 19 21:06:20 2014 +0200 cleanup: get rid of (Item_splocal*)item downcast commit 932100c813d9509c36bd6430e1cf853bafaf1dff Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:36:40 2014 +0200 cleanup sql_yacc.yy: remove redundant ev_sql_stmt_inner rule commit 60475b8f27eebb4b8159c27ffadc6c1b2679a5c1 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:35:39 2014 +0200 cleanup sql_yacc.yy: rules for the CASE ... END CASE statement commit 319f206d01ecca6ad21ac6eac3b8b534945fb32c Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 13:28:27 2014 +0200 cleanup sql_yacc.yy: s/IF/IF_SYM/ commit 09c1af93642f484e20a9a8a257f581b6b1c82057 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:54:48 2014 +0200 cleanup sql_yacc.yy: reduce code duplication in rules for BEGIN...END with and without label commit d49e11834a952207b2a7bb6df5a5d847f0a5d98e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:51:59 2014 +0200 cleanup sql_yacc.yy: factor out duplicate code in PROCEDURE/FUNCTION/TRIGGER/EVENT grammar commit 352723cd902b739b2ada07ee644421f976e5d2cb Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:50:53 2014 +0200 cleanup sql_yacc.yy: rename rules for loops with and without label to follow BEGIN...END rule naming commit 45907bec50a68be75a387cc9392f1a7df760d9d5 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:48:48 2014 +0200 cleanup sql_yacc.yy: remove duplicate code in opt_union rule commit 71485e7c7b82280b390cd9e0eae694c2ca6c09df Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:46:46 2014 +0200 cleanup sql_yacc: introduce opt_not rule, combine otherwise duplicate rules commit c655609d1e53b168f2e5479184d290ad97ca6f74 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Aug 17 20:37:49 2014 +0200 cleanup sql_yacc.yy: s/YYABORT/MYSQL_YYABORT/ commit fdf32f578c5847ecba6bc38745e0c76a9d05142d Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:47:29 2014 +0200 cleanup: param_marker rule in the parser preserve the Item_param type of the param_marker in the parser, don't upcast cast it to Item commit 1e0a11a3c74c9e434ce43edbe3ece3852f539c36 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:46:27 2014 +0200 cleanup: class my_var * split my_var class in three - base my_var and two descencants, move properties into descendants, remove if(), create a virtual method instead * factor out the common code in the select_var_ident parser rule commit 624888b4e63ca73daec2674be32ba088175a5a53 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:17:29 2014 +0200 cleanup: inherit from Sql_alloc instead of copy-pasting its methods into a new class commit 43d1f0b6b918df8d0aa31800caec4bceb1c3426d Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Aug 15 17:35:07 2014 +0200 cleanup: rename List<> methods prepand() -> prepend() concat() -> append() commit aabb33cc54e6031f7c9f5b2a06566387550fa194 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:17:08 2014 +0200 cleanup: public Item_param::get_settable_routine_parameter() make Item_param::get_settable_routine_parameter() public, because it's public in the parent Item class and all other Item descendants too commit e8fb24664e3382055dca4a0c35fd5aed2d3ed13f Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:16:44 2014 +0200 cleanup: use null_lex_str where appropriate commit 6e05aabb9b94d20e5024aed8c398ed70a955de4e Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Aug 16 08:16:18 2014 +0200 cleanup: case SQLCOM_CALL move SP invocation code out of the huge switch in mysql_execute_command commit 3d9aa6c46700f39033814f8d9fd4c29545d6eacd Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 8 18:49:34 2014 +0200 Plugin API: increase SHOW_VAR_FUNC_BUFF_SIZE for 64-bit CPUs instead of having it 1K everywhere, make it 1K on 32-bit and 2K on 64-bit. As the latter has larger pointers (and larger sizeof(SHOW_VAR), it needs a larger buffer to store the same amount of SHOW_VARs commit 03ec3511a82e90310c850ea71b395b214cab1645 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 8 18:47:16 2014 +0200 cleanup: galera misc cleanups also disable galera-specific output in mysql_tzinfo_to_sql, it'll be enabled later. commit 8596b70f96fc543c2e1cac4bc8cbe58dcc4004e5 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Oct 7 20:28:33 2014 +0200 cleanup: simplify the usage of WSREP_FORMAT macro commit d103e359f875e53b7e34fe0c0d58ba9f36b9af50 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Oct 8 08:47:22 2014 +0200 followup changes to timeout commit * fix debian patch * update the copyright * rename include guards to follow conventions * restore incorectly deleted test file, add clarification in a comment * capitalize the first letter of the status variable commit e6152f929369758691d863191f58d71d48b3d6c6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 10 21:30:23 2014 +0400 MDEV-6702: analyze_stmt test fails in --embedded 10.1 Provide Protocol_discard::storeXXX functions for all kinds of objects that could be stored. Failure to so would caused crashes in embedded server which attempted to collect the stored info. This also reduces the amount of copy operations for non-embedded case. commit 988f3fbed947af76f9958802d0aae40925f309e4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Oct 10 14:40:21 2014 +0400 MDEV-6846: Test tokudb_mariadb.mdev6657 fails in buildbot Update the testcase so it is still meaningful when fix for MDEV-6657 is present in the code. commit 542968cf0a68070d7b45859a3148a602e2089a35 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Oct 9 18:28:14 2014 -0400 bzr merge -r4015..4026 codership/5.5 commit 068fb8569f2300e4a5c08413a756417d923ecf5f Merge: 59277a7d833 dbda20caffb Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Oct 9 17:25:08 2014 -0400 bzr merge -rtag:mariadb-5.5.40 maria/5.5 commit 7dd74fa3a2f167424624bf71d54ff965514239a9 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Oct 8 13:30:45 2014 -0400 MDEV-6481: Yum Upgrade on CentOS 6.5 causes instant crash of MariaDB/Galera mysqld crashes during startup when its started with --wsrep-recover (mysqld_safe.sh). The problem was that during server startup "wsrep" handle is not initialized for --wsrep-recover and since the condition to register wsrep hton depended only on 'wsrep_on' global/session variables (WSREP(thd) macro), it can eventually get registered and calls to wsrep handle's functions (commit, rollback, etc.) can be made (SIGSEGV!). Fixed by adding a check for "wsrep" pointer in WSREP(thd) macro (added by lp:1367173). Additionally, a check for WSREP(thd) (instead of checking the availability of wsrep provider) has been added before invoking wsrep handle's commit & rollback functions. commit 4439d1febfe18687eab5aa97732725c4e312bf49 Merge: 4af97bc0e32 f7c57b4a361 Author: Monty <monty@mariadb.org> Date: Tue Oct 7 11:40:10 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 Merge with main branch commit 4af97bc0e3290461eb872fcfc0fbf51c00c0c6bf Author: Monty <monty@mariadb.org> Date: Tue Oct 7 11:39:42 2014 +0300 Removed files that had been accidentally committed Removed compiler warnings commit cc8aed3eb7a671d353c453a255b53e8d91d7fa73 Author: Monty <monty@mariadb.org> Date: Tue Oct 7 11:37:36 2014 +0300 MDEV 4427: query timeouts Added MAX_STATEMENT_TIME user variable to automaticly kill queries after a given time limit has expired. - Added timer functions based on pthread_cond_timedwait - Added kill_handlerton() to signal storage engines about kill/timeout - Added support for GRANT ... MAX_STATEMENT_TIME=# - Copy max_statement_time to current user, if stored in mysql.user - Added status variable max_statement_time_exceeded - Added KILL_TIMEOUT - Removed digest hash from performance schema tests as they change all the time. - Updated test results that changed because of the new user variables or new fields in mysql.user This functionallity is inspired by work done by Davi Arnaut at twitter. Test case is copied from Davi's work. Documentation can be found at https://kb.askmonty.org/en/how-to-limittimeout-queries/ mysql-test/r/mysqld--help.result: Updated for new help message mysql-test/suite/perfschema/r/all_instances.result: Added new mutex mysql-test/suite/sys_vars/r/max_statement_time_basic.result: Added testing of max_statement_time mysql-test/suite/sys_vars/t/max_statement_time_basic.test: Added testing of max_statement_time mysql-test/t/max_statement_time.test: Added testing of max_statement_time mysys/CMakeLists.txt: Added thr_timer mysys/my_init.c: mysys/mysys_priv.h: Added new mutex and condition variables Added new mutex and condition variables mysys/thr_timer.c: Added timer functions based on pthread_cond_timedwait() This can be compiled with HAVE_TIMER_CREATE to benchmark agains timer_create()/timer_settime() sql/lex.h: Added MAX_STATEMENT_TIME sql/log_event.cc: Safety fix (timeout should be threated as an interrupted query) sql/mysqld.cc: Added support for timers Added status variable max_statement_time_exceeded sql/share/errmsg-utf8.txt: Added ER_QUERY_TIMEOUT sql/signal_handler.cc: Added support for KILL_TIMEOUT sql/sql_acl.cc: Added support for GRANT ... MAX_STATEMENT_TIME=# Copy max_statement_time to current user sql/sql_class.cc: Added timer functionality to THD. Added thd_kill_timeout() sql/sql_class.h: Added timer functionality to THD. Added KILL_TIMEOUT Added max_statement_time variable in similar manner as long_query_time was done. sql/sql_connect.cc: Added handling of max_statement_time_exceeded sql/sql_parse.cc: Added starting and stopping timers for queries. sql/sql_show.cc: Added max_statement_time_exceeded for user/connects status in MariaDB 10.0 sql/sql_yacc.yy: Added support for GRANT ... MAX_STATEMENT_TIME=# syntax, to be enabled in 10.0 sql/structs.h: Added max_statement_time user resource sql/sys_vars.cc: Added max_statement_time variables mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test Removed test as we require all fields in mysql.user table. scripts/mysql_system_tables.sql scripts/mysql_system_tables_data.sql scripts/mysql_system_tables_fix.sql Updated mysql.user with new max_statement_time field commit f7c57b4a3618c99352ade432396390a70b5257fa Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Oct 6 15:26:09 2014 -0400 MDEV-6667: Merged fix from maria-10.0-galera. commit 1a7d17311c8325a072e5c912a2eb3fffb95aa97d Merge: 61d8b4a29bd 605b48d3e31 Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Oct 6 12:21:53 2014 +0400 Merge ../10.1-orderby-fixes into 10.1 commit 61d8b4a29bd6295b9db153a6ebb451346cd5bc64 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat Oct 4 13:59:07 2014 -0400 MDEV-6833: SIGSEGV on shutdown with non-default wsrep_slave_threads thd->variables' table_plugin & tmp_table_plugin should be set to NULL for wsrep system threads. Also made a minor change to skip checking of wsrep options if wsrep_on is not set. commit c768af75b768d45fe045444fe316402ba10b4e29 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat Oct 4 13:53:33 2014 -0400 Minor modifications - Simplified test cases in wsrep.variables - Fixed a condition in wsrep_check_opts.cc - Fixed an "unbound variable" in wsrep_sst_rsync commit b197066ca02411455590249c5e4910ad5ef2bd9f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Oct 3 21:22:41 2014 -0400 MDEV-6807: InnoDB: Assertion failure in file lock0lock.cc (lock != ctx->wait_lock) Merged patch for lp:1364840. commit 7474e7baa06505c015d0d327ae923add76306a32 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Oct 2 21:01:57 2014 +0300 MDEV-6807: InnoDB: Assertion failure in file lock0lock.cc (lock != ctx->wait_lock) References: lp:1364840 lp:1280896 - reverted a part of fix for lp:1280896 (updating a unique key can cause parallel applying to hang ) in revision #4105. This "BF (brute force) lock skipping" caused regression which surfaced in randgen test for bug lp:1364840 commit ebe4fadcd5d1286d4c29b980185f32db2c5eaf59 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Oct 2 18:54:01 2014 +0200 when running mtr tests don't let galera-started rsyncd to log to syslog commit 251239af67dd20b68e95d58122bdb9a2beafe67f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Oct 2 15:09:17 2014 +0300 Fix Windows compiler error 'log2f': identifier not found commit f13cf621472904db6328e5769929b6fc5f08e1cc Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Sep 30 11:04:38 2014 +0200 don't enable SECURITY_HARDENED on old gcc on CentOS 5 x86 (at least) this results in a binary that cannot load plugins. Draw the line, quite arbitrarily, at gcc 4.6. commit 2156f62d2ecddf48844bfa558c7e9bc33edca53c Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Sep 29 19:50:56 2014 +0200 portability: use getifaddrs() instead of exec'ing /usr/sbin/ifconfig|grep|sed|awk commit edd1de3d1c348ef9f5bfc4f602692f4e438e7fcb Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Sep 28 17:50:02 2014 +0200 cleanup: introduce CF_SKIP_WSREP_CHECK remove if() over many COM_xxx values commit b3469520a1b838f08cbebaa8047f2bd3f58fef89 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Sep 28 16:43:44 2014 +0200 cleanup: remove OPT_WSREP_START_POSITION and OPT_WSREP_SST_AUTH there is no reason to initialize wsrep start position and auth from inside the get_one_option() callback commit eaec266eb16c8f02835f76ac987fca5de4debd51 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Sep 28 12:41:51 2014 +0200 restore and fix wsrep status variables commit 13af416a82796648dffdffbda0da6d60513d7ddf Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Sep 28 11:08:07 2014 +0200 cleanup: wsrep_check_opts commit 425dc6d2fd80531d553e25790f6a6e7e199445f6 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Sep 28 09:13:05 2014 +0200 small cleanup commit 7aabc2ded2b63fed1e149276bfb5f8e0fd7d723f Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Sep 27 22:29:10 2014 +0200 fixing embedded: WaaS. Wsrep as a Service. commit 8877adb773abeafafcdee18fe30fca1c8589ee2c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 17:02:47 2014 +0200 fixing embedded: first set of changes (storage engines don't work yet) commit c6b95222c3c614342575f752a6787b83fe6ffaa4 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 20:03:38 2014 +0200 use MD5 service in innodb/xtradb commit d6141a553c566b3c8f997ae811dd4c00d9019613 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 20:03:20 2014 +0200 MD5 service commit 11b6452a0f2f0f99bbd7c2767ebca7d043a2f43c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 18:49:47 2014 +0200 extend SHA1 service. cleanup of sha1 wrappers commit 93b50e64a04efd54ab1ef64f593da0d4a7de6fb6 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 10:22:44 2014 +0200 cleanup: remove galera/wsrep magic from mtr commit 4bb49d84a9df8c3f29683bfe8503a575bc0ab84b Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 15:54:42 2014 +0200 correct handling on defaults[-extra]-file is SST scripts pass --defaults-file and --defaults-extra-file (whatever was specified, or none) from mysqld down to SST scripts. parse these options in SST scripts and pass them down to mysqldump, my_print_defaults, and xtrabackup commit dc113e2765c19cc3b1dff7c6141701411c93ce42 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 12:55:56 2014 +0200 fix cmake detection of bfd.h commit d06b5b6a2d37323157bd50060c6ed2bf7f8fe4d8 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 10:22:18 2014 +0200 disable wsrep by default. fix wsrep not to crash when started disabled commit 4b9bf9d3b87005d6570d76f9de074615d7f8ca36 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 26 07:04:33 2014 +0200 bugfix: remove the code that broke XA recovery commit 3620910eeac8f118c9a6cb8a1c0ec23e56fb5d98 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 25 23:00:45 2014 +0200 cleanup: galera merge, simple changes commit b04f848176b0d8af41eb3627ba1b6ed4dd3327e3 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Sep 20 21:36:51 2014 +0200 cleanup: use is_supported_parser_charset commit 1a731af1941f9df57c90dbad8614c76b65ba688d Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 19 21:10:06 2014 +0200 cleanup: remove redundant clauses from sys_vars.cc commit b054e4bdb109c6ec7459c26cc81ba964e52cb090 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 19 12:51:33 2014 +0200 bugfix: disabling partitioning in already built tree that didn't quite work, WITH_PARTITION_STORAGE_ENGINE was not undefined commit 88cebbdf6dd02113e8ccadd0424b1713d8b6aeb2 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 11 10:08:48 2014 +0200 cleanup: remove libedit, move readline to extra/ commit 74a552d5dc74fb54bc9256887cd957a3754bb70c Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Sep 5 16:08:58 2014 +0200 cleanup: remove table->status from some engines from engines that we don't need to merge from a third-party repository on a regular basis commit fe0ff580009a5d5bdb853224568a7eaaf147f060 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Sep 4 21:37:10 2014 +0200 compiler warnings commit 9a57de86beda0032a6dd9f804822e2651eb869bf Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Sep 30 18:06:15 2014 -0400 bzr merge -r4123..4144 codership/5.6 commit 605b48d3e311e783ff60644dd468bbabb9a4a15c Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 30 19:22:27 2014 +0400 MDEV-6814: Server crashes in calculate_key_len on query with ORDER BY - if test_if_skip_sort_order() decides to switch to using an index, or switch from using ref to using quick select, it should set all members accordingly. commit fc2df3c637d51c4ab32132e2d8f63dbe7e80f056 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Sep 30 14:50:34 2014 +0300 MDEV-6812: Merge Kakao: Add global status variables which tell you the progress of inplace alter table and row log buffer usage - (x 100%, it's 4-digit. 10000 means 100.00%) - Innodb_onlineddl_rowlog_rows Shows how many rows are stored in row log buffer. - Innodb_onlineddl_rowlog_pct_used Shows row log buffer usage in percent ( *100%, it's 4-digit. 10000 means 100.00% ). - Innodb_onlineddl_pct_progress Shows the progress of inplace alter table. It might be not so accurate because inplace alter is highly depend on disk and buffer pool status. But still it is useful and better than nothing. - Add some log for inplace alter table XtraDB/InnoDB will print some message before and after doing some task. commit c916085e271cd049537b1e07b36cd060c44750bd Merge: 023366e6eb6 f1afc003eef Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sun Sep 28 20:43:56 2014 -0400 bzr merge -rtag:mariadb-10.0.14 maria/10.0/ commit 0b15557c8fec3de5c3ef3cce2b5ff9340159751f Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Sep 26 15:54:35 2014 +0400 MDEV-6796: Unable to skip filesort when using implicit extended key Re-work test_if_order_by_key() to work correctly for extended indexes. commit bef30f2e306dc6107f0ec314bf7bde8939c124e1 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Sep 26 12:16:05 2014 +0300 Fix test failures seen on -- innodb-wl5522-debug-zip (path differences win/unix) -- innodb_defragment_fill_factor (stabilise) -- innodb_force_pk (case difference win/unix) commit 236cc6cd49f250a43f0f6a794d5052207b2d9348 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Sep 25 20:59:15 2014 -0400 wsrep-related changes: removed some unnecessary files & minor modifications. commit a756ac61900e28448776427e6ebbb0ef6f48d5cc Merge: 98c95ff1e23 d6a67ce080a Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 22:12:52 2014 +0400 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 98c95ff1e23452395aa58eabf9346d8d1f234000 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 22:12:18 2014 +0400 Better comments about KEY::ext_key_part_map commit d6a67ce080aaf4238cd531dac83633005d7fbb46 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Sep 25 13:32:55 2014 -0400 Fix for syntax error in debian control file. commit a28c9a5857dc47b74aa739e814fafb9aa7dade6d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Sep 25 11:46:52 2014 -0400 MDEV-6790: 10.1: debian build failure Updated 33_scripts__mysql_create_system_tables__no_test.dpatch to reflect user.default_role. commit 30fab5fb511ac29dcaef1f17a653f461ab32f029 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 19:14:16 2014 +0400 MDEV-6788: The variable 'role' is being used without being initialized at sql_acl.cc:8840 [re-commit in git] Second variant of the fix: reduce the scope of 'role' variable commit 532334cb11835d18f2705ecfd014659b4a2e8252 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 18:27:20 2014 +0400 MDEV-6788: The variable 'role' is being used without being initialized at sql_acl.cc:8840 [Re-commit in git] Don't check the value of 'role' variable in the cases where we don't need it. (it may be marked as uninitialized and we get a runtime error). commit 9ce830d641f532a3d318b35f6c3e807c8c57d990 Merge: e74bf079829 3f2d9a902ec Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 14:30:59 2014 +0400 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit e74bf0798297551bc02e6d8cac76e0d13ffdad0e Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 25 14:29:14 2014 +0400 Better comments commit 3f2d9a902ec93327515ae94ae0c8c0c2c485d15f Author: Monty <monty@mariadb.org> Date: Wed Sep 24 23:52:17 2014 +0300 Fixed failing test temp_table_frm The problem was that the internal temporary table created for information_schema overflow to MyISAM because it has a row width of > 3000 characters, which filled the in memory temporary tables. Fix was to increase size for the heap table. commit 023366e6eb68edca3858c32e7492788e047d927a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 24 12:17:29 2014 -0400 Moved wsrep_slave_threads to optional settings. commit 59277a7d83374bc293cd58f8be509a81792d829e Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 24 12:16:09 2014 -0400 Moved wsrep_slave_threads to optional settings. commit 15ad0d0bb7c62af47ea0d8d98fc59f4ddf4b292e Merge: c7d45c220fe 8707f172e1d Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Sep 24 12:17:15 2014 +0400 Merge ../10.1-mdev6657 into bb-10.1-orderby-fixes commit c7d45c220feccefdd163fc3e5ded0b057f36c17d Merge: f5d845426eb 8aa88db3c2f Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Sep 24 12:04:16 2014 +0400 Merge ../10.1-mdev6402 into bb-10.1-orderby-fixes commit f5d845426eb38f0b5641c30d0d3a56c2b6a2b6a0 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Sep 24 11:56:22 2014 +0400 Better comments commit e207e5fe272886cccc10bfa8069ead0d9a051083 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 23 14:33:27 2014 -0400 Updated config files: - Removed QC restriction - Added bind-address Fixed file permissions for wsrep_sst_rsync.sh. Removed some unnecessary files. commit 851e428e4e94e22d14fab4694b3135011026f418 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 23 14:03:13 2014 -0400 Updated config files: - Removed QC restriction - Added bind-address Fixed file permissions for wsrep_sst_rsync.sh. commit 4538665a63491a36bdbfa631df7dd457010bc293 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Sep 22 12:15:44 2014 -0400 MDEV-6740 : Galera crash in rpl_sql_thread_info/cached_charset_compare Properly initialized rpl_sql_thread_info for bf threads. Also removed some dead code. commit c4356bfccb972a3b1a8798ba552c92881a3f74e1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 17 14:59:39 2014 -0400 MDEV-6447: Galera: Enable QC * Added galera/query_cache test * Merged patch for lp:1296403 commit 5589509353bfc3222799cc66881117e95d82d68c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 17 14:39:43 2014 -0400 MDEV-6447: addendum, moving QC code within HAVE_QUERY_CACHE. commit 9a0566b09b075f29ff5f9f8b3a70b473433e6c58 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 17 14:12:00 2014 -0400 MDEV-6447: Galera: Enable QC * Added galera/query_cache test * Merged patch for lp:1296403 commit cf180e7f3d075beac02964d23773631edb0423b8 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 17 09:54:04 2014 -0400 Reverting version change to match the version of supporting packages available on buildbot. commit 99b449bbb816a2467257c60fb6967b615db2ef4f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Sep 17 09:53:06 2014 -0400 Reverting version change to match the version of supporting packages available on buildbot. commit 69bc2d529fd7014be248902f0fb746bdd3162126 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 16 12:58:35 2014 -0400 Updated mysqld--help test and result (MDEV-6717, MDEV-6659). commit 5f3cfbb59d673eb594497121e9fc0d1d4f3e9d2f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 16 12:55:29 2014 -0400 Updated mysqld--help test and result (MDEV-6717, MDEV-6659). commit ac2a2f345391faf60ecb211320be39d453e96d77 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 16 12:42:17 2014 -0400 MDEV-6659: mysqld --help --verbose initializes wsrep Do not initialize/load wsrep subsystem if server is started in help mode. commit 8aa88db3c2f39cadeb8960f514d27cc7f071dcac Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Sep 12 02:19:49 2014 +0400 MDEV-6402: Optimizer doesn't choose best execution plan when composite... Fix test_if_skip_sort_order() logic: WHEN we use index X, which doesn't produce needed ordering, but there is an index Y which does and has the same prefix as used prefix of X THEN don't just switch to using ref access on Y. If range(Y) would use more key parts, use range(Y). commit d0a5f33ccd986dfc027ac171b6eed3e92d836012 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Sep 11 07:10:37 2014 +0300 Remove incorrect test file. commit 7e2bc140e347ecff90b272a8b2ea9ed1852c5974 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Sep 10 20:19:41 2014 +0300 Remove unnecessary debug output causing unnecessary warnings. commit 595bcb7947716e7b1758ae7c14ef29c5bbb7630e Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Sep 10 18:48:26 2014 +0300 Fix merge error on binlog_remove_pending_rows causing failure on binlog_innodb_row test. commit b67e1d3c98a221feb790a666c3ed7e10e02d9e88 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Sep 10 09:44:57 2014 +0300 Adjusted defrag test that fails randomly (timing problem) and fix result of innodb_sys_index test. commit 76d15afb332cef3c44ea8703cc19dc5c5ca02155 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 19:19:12 2014 -0400 Minor improvements in mtr and wsrep test files. commit be055b38351797b938d7bf8af5814cbefe4f8b34 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 19:05:25 2014 -0400 Minor improvements in mtr and wsrep test files. commit 4ffccff45dfb8e1856c5582913d31c7e18c2f788 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 13:43:01 2014 -0400 MDEV-6717 : wsrep_data_home_dir should default to @@datadir Used mysql_real_data_home as wsrep_data_home_dir's default. Added a test case. commit e5267cae8ae4e09aaedeba0fea8408585f1f409f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 13:41:22 2014 -0400 MDEV-6717 : wsrep_data_home_dir should default to @@datadir Used mysql_real_data_home as wsrep_data_home_dir's default. Added a test case. commit f3e95caacdd366d2c1300a7044b05d5a91ca1ffa Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 09:25:47 2014 -0400 MDEV-6699 : wsrep_node_name not automatically set to hostname Fixed by using hostname (glob_hostname) as default value for wsrep_node_name system variable. Added a test case. commit 140fd7adbdf5a998c5e984d3b8e3737587efc680 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Sep 9 09:18:35 2014 -0400 MDEV-6699 : wsrep_node_name not automatically set to hostname Fixed by using hostname (glob_hostname) as default value for wsrep_node_name system variable. Added a test case. commit 6748976d14882bfb6e1261eae635789ee95212a5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Sep 9 13:35:39 2014 +0300 Fix test failure on rpl_statements test by not listing wsrep variable. commit 8707f172e1d999f87cde6d3d85a320bc569f3618 Merge: c945233a192 bf30585eaf2 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 9 13:46:33 2014 +0400 Merge 10.1 into bb-10.1-mdev6657 commit bf30585eaf29139ee471a348fc394162ca3333bd Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 9 13:26:23 2014 +0400 MDEV-465: Optimizer : wrong index choice: Add a testcase. commit 8bd4716272ef16a4bcd3196ba62f249aa3878998 Merge: 26e048ffd30 f8f8a59c189 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 9 13:05:28 2014 +0400 Merge ../10.1-orderby-fixes into 10.1 commit 47fcca0ffcc09623731f3e36d61ccc8da6b0f493 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Sep 8 21:21:37 2014 -0400 MDEV-6667 : Improved handling of wsrep-new-cluster option Code refactoring. Using mysql option handling system to handle 'wsrep-new-cluster' option. commit c0483b00295612372af6b33c6613a1a8bd839096 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Sep 8 14:01:41 2014 -0400 Bumping server version. (10.0.14-galera) commit 6421f5f147c7f68444a499b305a037f17a7f0bd5 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Sep 8 13:58:43 2014 -0400 Bumping server version. (5.5.40-galera) commit 26e048ffd30e05a60a330a708341e1fff0df0a9e Author: Nirbhay Choubey <nirbhay.choubey@gmail.com> Date: Mon Sep 8 13:19:20 2014 -0400 Merged sys_vars.wsrep_* tests from maria-10.0-galera tree. commit 7c58dd80e599862f42c60186c0c913cb9f64b6b6 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Sep 8 15:12:18 2014 +0300 Fix another set of test failures caused by galera merge. commit d7fd3ffb4d5d3e2dabebb9dcfb6e114ca1431aac Merge: d3ceb934f1e d161546b671 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Sep 8 09:36:15 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit d3ceb934f1e537bedfaa96d157acdbfcf7b7ae67 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Sep 8 09:34:03 2014 +0300 MDEV-6701: InnoDB tests fail in 10.1 Fixed test failures seen on defragment tests, innodb.innodb-wl5522-debug-zip and innodb.innodb_bug12902967. commit d161546b67142cdd5322a4ed160441045ae0cd1e Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Sep 4 01:12:49 2014 +0400 MDEV-6689: valgrind errors in view.test in 10.1 SHOW COLUMNS and SHOW KEYS commands fill IS_table_read_plan in a special way - they don't set or use lookup_field_vals member. Added a "trivial_show_command" flag that signals that lookup_field_vals has no valid data, made EXPLAIN code honor it. commit 9e63cc07802deb3a83ad79310ebf9a5dab904f18 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Sep 3 18:51:02 2014 +0300 MDEV-6651: MariaDB galera cluster crashes in file row0mysql.cc line 684 DELETE FROM ports WHERE ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516' where table ports have foreign keys. Verified that current 5.5-galera is not affected and added test case to regression set. commit d7f377538fb6133bd3b8aa81e31e266258be5f03 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Sep 3 18:25:49 2014 +0300 MDEV-6651: MariaDB galera cluster crashes in file row0mysql.cc line 684 DELETE FROM ports WHERE ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516' where table ports have foreign keys. Problem is repeatable with 10.0.12-galera but not with 10.0-13-galera. Added test case to regression set. commit c945233a192d559695b83a252b61168e7611ea03 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Sep 2 18:54:29 2014 +0400 MDEV-6657: Poor plan choice for ORDER BY key DESC optimization... The problem was caused by the following scenario: - range optimizer picks an index IDX1 which doesn't match the ORDER BY ... LIMIT clause. - test_if_skip_sort_order() decides to switch to index IDX2 which matches the ORDER BY ... LIMIT. - it runs SQL_SELECT::test_quick_select() for the second time to produce an quick select for IDX2. - However, test_quick_select() would figure that full index scan on IDX1 is still cheaper (its calculations ignore the LIMIT n). Fixed this by - passing force_quick_range=true to test_quick_select() - in test_quick_select, don't consider full index scans if the mentioned parameter is true. Numerous changes in .result files are caused by test_quick_select() being run after "early/late NULLs filtering" feature has injected NOT NULL condition. commit e44751b65f4760067d15f8a526e8f97f84810c29 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Aug 29 10:11:08 2014 +0300 Merge revision 3882 from lp:maria/maria-10.0-galera MDEV-6656: Test wsrep.variables hangs Analysis: wsrep_applier_thread shutdown signaling does not always work correctly causing a timing problem where main thread is waiting in a condition variable a signal that all worker threads to end. commit f99f573dc79b5d976e331fecbb83935c21e81ee5 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Aug 29 09:42:13 2014 +0300 MDEV-6656: Test wsrep.variables hangs Analysis: wsrep_applier_thread shutdown signaling does not always work correctly causing a timing problem where main thread is waiting in a condition variable a signal that all worker threads to end. commit 4cccd57849283667d193b324f8fcaafdf9987e5b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Aug 28 23:42:45 2014 -0400 MDEV-6659: mysqld --help --verbose initializes wsrep Do not initialize/load wsrep subsystem if server is started in help mode. commit 5a684f829159bf4d6c2ec76479a33d1e5649b8f9 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 28 07:01:06 2014 +0300 Fix typo. commit eff5ef77dd1b8d2d407fe94b4d296c6c808b43b0 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 28 06:49:58 2014 +0300 Rule for configure wsrep-notify was missing. commit f8f8a59c189254baeb7f90920b6b23da227984e8 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Aug 27 23:31:27 2014 +0400 Forgot one file in previous commit commit f883f3ef868fb7471dafdd9b21f1f50ab98bda85 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Aug 12 14:05:35 2014 +0200 git: ignore errmsg.sys and typescript, better diff header for C/C++ files commit 422b99ed87cab7b6acdb86be0a8b424db1213af2 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 27 20:00:13 2014 +0300 Fix incorrect merge. commit 8cd08717f6eecd1a7b5c58349d2c8da52e985156 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 27 19:53:19 2014 +0300 Move galera_sst_mode test to correct location. This test tests mysqldump option. commit f1a1683309899e484c0c0d38933530dcd5012c75 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Aug 27 20:08:32 2014 +0400 MDEV-6384: It seems like OPTIMIZER take into account the order of indexes in the table When ORDER BY ... LIMIT check whether it should switch from index IDX1 to index IDX2, it should not ignore the fact that IDX2 may have a potential range or ref(const) access. Istead, it should calculate their costs: there is now a saved range optimizer cost and code to re-calculate what best_access_path() calculated for ref(const). /* in current cost model these two can be very different numbers unfortunately */ commit be00e279c6061134a33a8099fd69d4304735d02e Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Aug 27 18:47:33 2014 +0400 MDEV-6480: Remove conditions for which range optimizer returned SEL_ARG::IMPOSSIBLE Let range optimizer remove parts of OR-clauses for which range analysis produced SEL_TREE(IMPOSSIBLE). There is no need to remove parts of AND-clauses: either they are inside of OR (and the whole AND-clause will be removed), or the AND-clause is at the top level, in which case the whole WHERE (or ON) is always FALSE and this is a degenerate case which receives special treatment. The removal process takes care not to produce 1-way ORs (in that case we substitute the OR for its remaining member). commit 6907da234138e0983b6f553228590dfeef3633ac Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 27 15:35:49 2014 +0300 Fix small error on LZMA compression error printout. commit 4fb45aa219d53cd2f047c9c6a9fc1758ba4a359f Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Aug 27 15:28:43 2014 +0300 Fix compiler error when WITH_WSREP is not used. commit a60ea193ba00f5af1492d1bc2b15946a330438a5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 27 15:19:45 2014 +0300 Fix compiler error when WITH_WSREP is not used. commit ab150128ce78fd363f6041277862686a61730b2b Merge: 9534fd83ce6 20e20f6db6f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 27 13:15:37 2014 +0300 MDEV-6247: Merge 10.0-galera to 10.1. Merged lp:maria/maria-10.0-galera up to revision 3880. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication. commit 9d15afdb6156402c7763302c843b94a4c69ad250 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 26 16:23:56 2014 -0400 Merged fix for MDEV-6646 from maria-5.5-galera. commit bc59e4c17fe2db77a0f0faa179b49ce2b0a1ab26 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 26 16:14:46 2014 -0400 Switched wsrep_causal_reads ON for galera test suite. commit aece04a02c25386485c77e7140ab33e51473e366 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 26 15:56:03 2014 -0400 MDEV-6646 : global.wsrep_causal_reads no longer honored During THD initialization, the value of wsrep_causal_reads (now being exclusively handled via wsrep_sync_wait, lp:1277053) was being ignored. Fixed by updating wsrep_sync_wait appropriately. commit 20e20f6db6fe7f752cccdb34c1ac1d54c2f30cec Merge: df4dd593f29 ea4103d94d4 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Aug 26 15:46:19 2014 +0300 Merge branch 'bb-10.1-galera' of github.com:MariaDB/server into bb-10.1-galera commit df4dd593f29aec8e2116aec1775ad4b8833d8c93 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 6 15:39:15 2014 +0300 MDEV-6247: Merge 10.0-galera to 10.1. Merged lp:maria/maria-10.0-galera up to revision 3879. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication. commit 9534fd83ce6dc402132cc304c121c9205b430dda Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Aug 26 16:24:40 2014 +0400 MDEV-6634: Wrong estimates for ref(const): Update test result commit ea4103d94d4b4c298d55a7a0076d075aa4d45700 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Aug 26 14:32:15 2014 +0300 Add missing test files for new configuration variables. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication. commit bb11eb82d5dce664e151519577df173acb31ee91 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Aug 26 14:57:09 2014 +0400 MDEV-6305 - UNINIT_VAR emits code in non-debug builds Reverted workaround for gcc bug, which was fixed 3 years ago: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772 commit fe4f46727616a6db2cead63a03f2dcb81dfce1f0 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Aug 26 12:32:21 2014 +0300 Merge lp:maria/maria-10.0-galera revisions 3867..3869 and 3871..3879. commit bc5c65f9b468d81d761174a152f762b791b491e8 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Aug 25 17:03:17 2014 -0400 MDEV-6636 : Merged fixes for lp:1167368 and lp:1250805. commit 9b506d4bcb11c0df32993df27597afbedf1eb2ed Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Aug 25 09:13:15 2014 +0300 MDEV-6602: rpl.rpl_mdev6020 fails sporadically with SIGABRT Analysis: Problem is that we execute galera code when we are actually executing asyncronoush replication. Fix: Do not execute galera code if wsrep provider is not set. commit 378878e1e929982a829aba27470e4b153cf7970b Author: Sergei Petrunia <psergey@askmonty.org> Date: Sun Aug 24 12:36:51 2014 +0400 MDEV-6634: Wrong estimates for ref(const) and key IS NULL predicate IS [NOT] NULL predicate is sargable within an outer join. Range analysis only uses predicates from ON expressions, which have regular semantics (without null-complemented rows, etc). There is no reason not use IS [NOT] NULL predicates. commit 62f40f49ca0871af8f4b070a1283deaff89bde41 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Aug 22 21:59:56 2014 +0300 Fix merge errors. commit 4521a532f8baed5eda77ae70f2c6f397c8db9787 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Aug 22 08:43:57 2014 +0300 Fix merge error. commit 79180d87bb43374bcecb323aca5a811c6f5cec6b Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 21 19:35:13 2014 +0300 Fix Windows compiler errors. commit 21b4dec072b194eaa6d97a8917c1bf5d7434c99d Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 21 16:08:51 2014 +0300 Review fixes. commit f1c1c04a34f39bcd6622b9886fb089dd41e51103 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Tue Aug 19 15:18:18 2014 +0400 MDEV-4262 - P_S discovery Discover P_S tables automatically. Most of this patch is code clean-up: - removed tests and code responsible for P_S tables correctness verification - always return error from ha_perfschema::create() - install/upgrade scripts won't create P_S tables anymore commit e7669cf6070567646c190fc87746a86e43da27c2 Merge: 8984bef2e43 0c5e04f0e6f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Aug 18 10:55:01 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 8984bef2e431db42761d3f267b950293cfd864de Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Aug 18 10:52:59 2014 +0300 MDEV-6172: Monitor progress of ALTER TABLE ... ADD INDEX, ALGORITHM=INPLACE for InnoDB Added thd_progress calls to row_merge_sort to give some hint how merge sort progresses. commit dc0f1864ae09068dee8c340e4b3a687854c3200f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Aug 15 18:41:36 2014 -0400 Fix for binlog tests. commit de38fcfbb125802413e6bb7df041720f6a63a32f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Aug 14 18:43:04 2014 -0400 Fix for build failure in tokudb. commit f523662cfa8cb916402c9bd9409834f9a9e046e6 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Aug 14 18:19:01 2014 -0400 Fix for some failing rpl tests. commit 041e03e251e783d51ca86e53112e3b87bd2da146 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Aug 14 01:12:05 2014 +0400 EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge. commit 0680eeae05295c2a343ef3d239a7e5983499643b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 13 11:29:13 2014 -0400 Test modifications * Added a basic test for wsrep_sync_wait system variable. * Separate innodb_load_xa tests for wsrep and non-wsrep builds. * Updated file_contents.test with correct file location * Some coding style related changes. commit 9ee0dca5d9917b3b3e860442d624135de03648d1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 13 10:41:41 2014 -0400 Updated file_contents.test with correct file location. commit a2d5a54374fe8b80da727782078541433f732324 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 13 10:39:01 2014 -0400 Added a basic test for wsrep_sync_wait system variable. Also made some coding style related changes. commit 0c5e04f0e6f816ae2a6a82f6c6d5fc8bb3c3c997 Merge: 8d3a432f12e 6b47e896c03 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Aug 13 18:07:51 2014 +0400 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 8d3a432f12e5fdfbde3368dc5a859ecc3e42621f Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Aug 13 18:06:53 2014 +0400 MDEV-6575: main.view --ps-protocol fails in ANALYZE code - After PREPARE is done, save the value of thd->select_number (this is what will be assigned to next select_lex object) - Restore the value at each execution of the prepared statement. commit 6b47e896c03bc8c2568b767ac4bbe917ac9f414c Author: Oleksandr Byelkin <sanja@mariadb.org> Date: Wed Aug 13 15:24:32 2014 +0300 Basic test of slave_run_triggers_for_rbr variable added. commit 2062c9a65acc660c03ab07b1358f6bf8aab4488f Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 13 09:03:28 2014 +0300 MDEV-6567: Raw debug output in the error log. Removed raw debug output when no error on OS operation has not happened. commit ef4cbd8aecdc618a4db3a8d32f72fd08366adc99 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 18:26:45 2014 -0400 Updated WSREP_PATCH_REVNO. commit 5add5855390fde8b8e8730c244d149123d8cf7ec Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 18:23:53 2014 -0400 Merged r4014 from codership/5.5 commit 305c1ae157de414bbd3e4a89cddbe522eaa1a309 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 16:39:10 2014 -0400 Merge of innobase changes to xtradb. (r3871..3873). commit 8ec02bb836ab43d115579e6ba14f669e7dcd3e82 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 14:50:26 2014 -0400 bzr merge -c4123 codership/5.6/ (minus http://bazaar.launchpad.net/~codership/codership-mysql/5.6/revision/4122) commit 857abf148149d0d7a73dc6364b5bf3d19e58a7d1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 14:05:44 2014 -0400 bzr merge -r4104..4120 codership/5.6/ commit 38f048a013bcb9c73d74c26af9db4cfdf7299d93 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 12 12:43:56 2014 -0400 bzr merge -r4101..4103 codership/5.6/ commit a9d43d70f5d83ac652fd970f5b2b8dfdb77c1136 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Aug 12 18:14:56 2014 +0400 EXPLAIN FORMAT=JSON: produce the 'ref' column. commit 84485dbe7c994ad938cd2ee90d5dee96059192e2 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Aug 12 15:02:09 2014 +0400 MDEV-6109: EXPLAIN JSON Add pretty-printing of possible_keys column. commit 8358dd53b7406deaa9f50ad09b16a86b7e367632 Merge: e06e12f5b8d 4105cbf4a23 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Aug 11 23:55:41 2014 -0400 bzr merge -r4346 maria/10.0 (maria-10.0.13) commit e1facda416897c35b9dde90a14d3578f3ca2df9b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Aug 11 17:09:59 2014 -0400 Fix for some failing tests. commit e06e12f5b8dfe0ab2e5976eec1b27b25d318441b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Aug 11 14:31:30 2014 -0400 Added 'have_innodb_disallow_writes.inc'. commit e2b2bde358f434d945e9730acfbc6eedeb9ab8a2 Author: Monty <monty@mariadb.org> Date: Sun Aug 3 15:26:47 2014 +0300 Made sql_log_slow a session variable mysqldump: - Added --log-queries to allow one to disable logging for the dump sql/log_event.cc: - Removed setting of enable_slow_log as it's not required anymore. sql/sql_parse.cc: - Set enable_slow_log to value of thd->variables.sql_log_slow as this will speed up tests if slow log is disabled. - opt_log_slow_admin_statements can now only disable slow log, not enable it. sql/sql_explain.cc: - Minor cleanup Other things: - Added sql_log_slow to system variables. - Changed opt_slow_log to global_system_variables.sql_log_slow in all files - Updated tests to reflect changes commit 7375f025ee9cd39909c1ec5529ca8c4007b92368 Author: Monty <monty@mariadb.org> Date: Sun Aug 3 15:16:56 2014 +0300 Changes for using build scripts Removed -DSECURITY_HARDENED=OFF for debug build scripts ignore configure commit b4c74e2ab4c3676dd081421649de83ee0fb0f63c Author: Monty <monty@mariadb.org> Date: Sun Aug 3 15:12:53 2014 +0300 Change MySQL -> MariaDB inc scripts commit 3bde13932ee53ee765a858e4413bc6c6af296d4b Author: Monty <monty@mariadb.org> Date: Sun Aug 3 15:12:10 2014 +0300 Minor cleanups, fix compiler warnings commit 33d53c4c24881d4906cacc791c2049faa96a0ee6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Aug 9 06:37:56 2014 +0400 MDEV-6109: EXPLAIN JSON - Add first testcases - Don't overquote when printing conditions - Other small output fixes commit 83f0ddc6294ea8d4e424a540a043bf88ee4a8c8d Merge: d87ffeb4913 5cfd3270ec7 Author: Sergei Petrunia <psergey@askmonty.org> Date: Sat Aug 9 01:52:54 2014 +0400 Merge 10.1 (with ANALYZE) and 10.1-explain-json commit f8420992c0b604ec7b673fc8dc90312af2f800dc Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Aug 7 18:29:20 2014 -0400 MDEV-6490: mysqldump unknown option --galera-sst-mode * Merged patches pushed to 10.0. * Additional fix in wsrep_sst_mysqldump.sh to control use of RESET MASTER and mysqldump's galera-sst-mode option based on joiner's @@log-bin value. commit d87ffeb49133aa459e134f09924cd7b7b5013632 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 7 13:44:00 2014 +0300 MDEV-6548: Incorrect compression on LZMA. Analysis: Provided incorrect parameter to output buffer size and incorrectly determined actual payload size after compression. commit 50777e26f048bb2019cdb4439aebda7d530feba4 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Aug 7 13:41:46 2014 +0300 Fix Windows compiler error by disabling for now the nullptr class implementation. commit f64a0c3f859fbaa8160b8ea31a4b548e62a15e0f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 6 19:11:55 2014 -0400 Updated WSREP_PATCH_REVNO. commit f20b1fd5e3fbb74e179d499302eefde545e3e1c1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 6 17:55:29 2014 -0400 Merge of innobase changes to xtradb. commit b09f1f9e652ad5c805d7a2df3fef3d8e6cc55973 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 6 15:47:17 2014 -0400 bzr merge -r4011..4013 codership-mysql/5.5 commit 4788577c203402ba228f0dbf874ca2becb6b8fa1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 6 15:45:53 2014 -0400 bzr merge -r3997..4010 codership-mysql/5.5 commit ec91eea8dbae4276ff6e31a0d80c0b523f88ed88 Merge: e4e55f7968d c722e5f25f1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Aug 6 14:06:11 2014 -0400 Local merge of mariadb-5.5.39 bzr merge -r4264 maria/5.5 Text conflict in sql/mysqld.cc Text conflict in storage/xtradb/btr/btr0cur.c Text conflict in storage/xtradb/buf/buf0buf.c Text conflict in storage/xtradb/buf/buf0lru.c Text conflict in storage/xtradb/handler/ha_innodb.cc 5 conflicts encountered. commit 5ebb396638c48db4002e3f132a56de97d68f0a20 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 6 15:39:15 2014 +0300 MDEV-6247: Merge 10.0-galera to 10.1. Merged lp:maria/maria-10.0-galera up to revision 3867. commit 6dad23f04aa5c8a022193cc74b62652a3c1e3057 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Aug 6 15:28:58 2014 +0300 MDEV-5834: Merge Kakao Defragmentation implementation to MariaDB 10.1 Merge https://github.com/kakao/mariadb-10.0 that contains Facebook's implementation for defragmentation facebook/mysql-5.6@a2d3a74 facebook/mysql-5.6@def96c8 facebook/mysql-5.6@9c67c5d facebook/mysql-5.6@921a81b facebook/mysql-5.6@aa519bd facebook/mysql-5.6@fea7d13 facebook/mysql-5.6@09b29d3 facebook/mysql-5.6@9284abb facebook/mysql-5.6@dbd623d facebook/mysql-5.6@aed55dc facebook/mysql-5.6@aad5c82 This version does not add new SQL-syntax and new handler API function. Instead optimize table is mapped to defragment table if innodb_defragment=ON, by default the feature is off. Contains changes authored by Sunguck Lee (Kakao). commit 746c755d423d02a41a8e22a80e84ed4eff260ba4 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 5 19:00:54 2014 -0400 MDEV-6495: local merge from maria-5.5-galera. commit e4e55f7968d961e0cb07800397bc3108f960956a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Aug 5 18:55:05 2014 -0400 MDEV-6495: innodb_flush_log_at_trx_commit=0 as suggestion for galera vs =2 Updated innodb_flush_log_at_trx_commit value in cnfs as per recommendation. commit 30b5a4de5d169cb82829938ffbe60512be89ffef Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jul 31 16:40:32 2014 -0400 MDEV-6492: MariaDB Galera Cluster cant use rsync sst A donor node does a flush tables and then tries to freeze innodb writes before proceeding with SST. However, innodb_disallow_writes was missing in xtradb. Merged 'InnodbFreeze' patch from maria-5.5-galera's to xtradb. Also, merged some changes missing in innobase's os0file.cc. Added a basic test case for innodb_disallow_writes system variable. commit e974b564389af8251c2ba51060e6129e45431586 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Jul 31 11:31:39 2014 +0300 MDEV-6512: InnoDB: Assertion failure in thread 4537024512 in file buf0buf.cc line 2642. Analysis: innodb_compression_algorithm is a global variable and can change while we are building page compressed page. This could lead page corruption. Fix: Cache innodb_compression_algorithm on local variable before doing any compression or page formating to avoid concurrent change. Improved page verification on debug builds. commit 4e3796d720ab37883af63e8a6252b1a36812b5ce Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Jul 29 06:10:18 2014 +0300 Fix compiler error on Windows. commit 1f69ff44138ca460b6d6b0172ab664de583132b6 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Jul 25 18:45:14 2014 +0300 Fix compiler error on Windows. commit 56c4b016ad5ee7ec994cde8a27934a89259fe670 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Fri Jul 25 14:37:10 2014 +0300 Fiix random test failures on fil_decompress_page_2 function. Analysis: InnoDB writes also files that do not contain FIL-header. This could lead incorrect analysis on os_fil_read_func function when it tries to see is page page compressed based on FIL_PAGE_TYPE field on FIL-header. With bad luck uncompressed page that does not contain FIL-headed, the byte on FIL_PAGE_TYPE position could indicate that page is page comrpessed. Fix: Upper layer must indicate is file space page compressed or not. If this is not yet known, we need to read the FIL-header and find it out. Files that we know that are not page compressed we can always just provide FALSE. commit 911c4811ded0826386c53a2d6fbbe26a7a304089 Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jul 23 12:51:51 2014 +0200 cleanup and updated test results commit bb66e66daa6c92e80a4b390e1e0cdc7fb3891eda Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Sun Jul 20 03:23:57 2014 +0000 Changed set_default_role_for test to clean up correctly commit a3550feb49374e29d145de46623a114dc3c3aeba Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Sun Jul 20 03:20:15 2014 +0000 Extended create_and_drop_role_invalid_user_table Added extra check for default_role column. commit 5298996180780554589aee4602eba18ff09678d2 Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Sun Jul 20 03:14:07 2014 +0000 Fixed comment. commit 64b27c734eed91e2b79701c9c53283d9411f702f Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Sun Jul 13 23:57:10 2014 +0000 Added default role implementation commit 43351faf2b229fb2e87331227efb2daf554647a7 Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Sun Jul 13 22:22:31 2014 +0000 Added extra error messages for default role. Also fixed wording on one message. commit c55f5d1addd90edd91bf34d13a2d0631a9c1b55c Author: Vicentiu Ciorbaru <cvicentiu@gmail.com> Date: Fri May 30 17:54:13 2014 +0300 Added default_role column to mysql_system_tables commit 6b9998578ef52d36a524b368222b3321a658a026 Merge: 47daf3b422b fa0628a6aca Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jul 23 11:56:36 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 47daf3b422bb07646b31906e0d3fa3634e861240 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jul 23 11:55:34 2014 +0300 Fix default value for innodb_compression_algorithm to 0 (uncompressed) to avoid test failures. commit fa0628a6aca07af8e74be539e55940d891914041 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jul 22 19:50:47 2014 +0400 MDEV-6456: Add progress indication for "Reading tablespace information from the .ibd files" # of processed files is printed every 15 sec. commit 05ff47cd4b4a4c37a013b9693ac0f3702aada2e5 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 22 10:04:57 2014 -0400 Local merge of patch for MDEV-6377 from maria-5.5-galera. commit efdf79b44729d73de563e925627ab14d99f4e5d0 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 22 09:43:42 2014 -0400 Local merge of patch for MDEV-4647 from maria-5.5-galera. commit 79750be18783efb7594a8dd011086c9d3a680983 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 22 09:41:10 2014 -0400 MDEV-6377 : Test cases for wsrep system variables. commit 7b69cab89163a8d6e1a7a5cdcb66a66366136d7c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 22 09:27:35 2014 -0400 MDEV-4647: Crash on setting wsep system variables to default The variables' ON_CHECK functions relied on set_var's "value" member, which is NULL for SET ... =default. Fixed by using save_result instead. Also, for many wsrep variables, pointers to their respective global variables were used to provide default values. The patch fixes this by using appropriate macros and string literals. commit dbc79ce0557ad5b7e3f51d7ffb0ffd1bec5b21bf Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Mon Jul 21 22:21:30 2014 +0300 MDEV-6354: Implement a way to read MySQL 5.7.4-labs-tplc page compression format (Fusion-IO). Addeed LZMA and BZIP2 compression methods. commit e5cea60933328af408c3d2636eeed0597e6f0e2e Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jul 21 17:27:06 2014 -0400 Local merge of patch for MDEV-3896 from maria-5.5-galera. commit e3ac16d7210de73b2479957117ede6a6732268ad Author: Otto Kekäläinen <otto.kekalainen@seravo.fi> Date: Sun Jul 20 20:55:44 2014 +0300 Add executable bit to scripts that are supposed to have it. More info at: https://mariadb.atlassian.net/browse/MDEV-6153?focusedCommentId=55397&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-55397 commit 0dadd017501e379546ffe3edae7728b931007be0 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jul 17 16:22:01 2014 -0400 MDEV-3896: More user-friendly cnf files in MariaDB-Galera rpm/deb packages * Added "galera" as default option group. * Updated deb/rpm server config files to include mandatory and optional settings (as comments) required to configure Galera cluster. commit eaa0fe7cf859ad822f71bbaa2a47b23b4963ba9d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 15 01:01:49 2014 -0400 MDEV-4728: local merge from maria-5.5-galera. commit 9c3f623777237d2a5f6104baf3dc657ef03a747c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jul 15 00:54:29 2014 -0400 MDEV-4728: MariaDB can't start while bootup Introduced safety checks to ensure mysqld_safe terminates if mktemp fails to create a valid file. commit b77fc5a34327de0bfa0c8a75e55726dfc3b2fd21 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat Jul 12 18:21:29 2014 -0400 Merge of patch for MDEV#6399. commit 3ce3647055c0749b6a2029b85f179146b5e8b2be Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat Jul 12 18:20:45 2014 -0400 MDEV#6399 - Make galera test suite run with --parallel Galera tests used default base/SST ports which led to failures due to port conflicts when run in parallel. Fixed by setting them to ones generated by mtr framework. commit b6a116cede0365924e08d7f668ec3780b9db686b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Jul 11 13:40:39 2014 -0400 Merge of patch for MDEV#5786. commit d2cd778a27f77fcf38585e7a029e005082ea50af Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jul 10 12:51:34 2014 -0400 MDEV-5786: mysql_upgrade on galera replicates "alter table" on system tables With wsrep patch, binary logging is implicitly enabled. This fix makes sure that it is turned off for --skip-write-binlog by swithcing off wsrep_on. commit dc377fcbc0a3da99e02aa55000ab491d01c63fc4 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jul 9 11:07:23 2014 -0400 Merge of patch for MDEV-6411 from maria-5.5-galera. commit 40bfd20180a392f0c2e56cc99fff9ab3bf3ef87f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jul 9 11:04:28 2014 -0400 MDEV#6411 - Setting set @@global_wsrep_sst_auth=NULL causes crash Fixed by properly handling the NULL values. commit f98b52aba13d98285d10224260a661128e7fe92f Author: Elena Stepanova <elenst@montyprogram.com> Date: Sat Jul 5 15:20:49 2014 +0400 Increased the version number commit 3d1ac121771d61f9d1c944a1caa4e449527725fc Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Jul 4 11:59:09 2014 +0300 Add test case for https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1314854 commit 84b3ec1fa4291c792cd63b70a4305e744b12eee4 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Jul 4 11:58:14 2014 +0300 Merge -r4105..4106 from codership/5.6 commit 006cb2a6f95f96e67acc4e8ed7e2ecd97d4678e7 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Jul 4 11:41:09 2014 +0300 Merge -r4102..4103 codership/5.6/ commit 8025d26dc50869bab663978372a1ca6cefa5b382 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jul 4 10:15:49 2014 +0200 remove a couple of old unused #defines commit 01046e7f9255e3ecf5b7084ba5b647d9865d375f Author: Oleksandr Byelkin <sanja@mariadb.org> Date: Wed Jul 2 16:18:28 2014 +0300 RBR triggers enabling in 10.1 commit 04db5aeb097a9733ba31015f09198aea04067ee4 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 30 09:04:46 2014 -0400 Bumping server version. (5.5.39-galera) commit fbf39746525358269b29d05b2ce696e7ff60cbcd Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 30 09:03:29 2014 -0400 Bumping server version. (10.0.13-galera) commit b7a5b71fb3c56f3b7ba706935fec5bb30c04f082 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Jun 30 14:02:54 2014 +0300 MDEV-6225: Idle replication slave keeps crashing. Analysis: Based on crashed the buffer pool instance identifier is not correct on block to be freed. Add LRU list mutex holding on functions calling free and add additional safety checks. commit 4ee6bf2203607f6e8aa67267b55f6b7e97ddf02e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 29 22:44:12 2014 +0200 deb hack: don't set CASSANDRA_DEB_FILES unless cassandra can be built commit b35c5912b651496ad5797bf85eaef3a431235e68 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Sat Jun 28 13:53:18 2014 +0300 MDEV-6376: InnoDB: Assertion failure in thread 139995225970432 in file buf0mtflu.cc line 570. Analysis: Real timing bug, we should take the mutex before we try to send those shutdown messages, that would make sure that threads doing a unfinished flush (they have acquired this mutex) have time to do their work before we add shutdown messages to work queue. Currently, we just add those shutdown messages to work queue and code assumes that at flush, there is constant number of items to be processed and thus leading to assertion. commit 36e86bac72ca42ba6537211f39dd0556d5dc1084 Author: Sergei Petrunia <psergey@askmonty.org> Date: Fri Jun 27 15:39:44 2014 +0400 Remove out-of-date comments commit c235de12ae3723b96944337bd89ad9cc87f21d8f Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 22:06:41 2014 +0400 MDEV-6394: ANALYZE DELETE .. RETURNING fails with ERROR 2027 Malformed packet (now, the code) Forgot the code commit 9394f2f9b0a95086708237f16bc19bb6e58ebf12 Merge: 3d7eeb63072 c6d29cd30db Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 22:04:04 2014 +0400 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 3d7eeb6307242a7b4a810732322d043b736c5919 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 22:03:13 2014 +0400 MDEV-6394: ANALYZE DELETE .. RETURNING fails with ERROR 2027 Malformed packet - Add support for DELETE .. RETURNING statement in ANALYZE code. commit c6d29cd30db9053023124bf74f17f6ee9d8e168d Merge: 3e5994868de be885ebe8c3 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Jun 26 20:47:08 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 3e5994868de68f5112e5faf63188e4f53050afd5 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Thu Jun 26 20:45:27 2014 +0300 MDEV-6392: Change innodb_have_lzo and innodb_have_lz4 as a static variables and reduce the number of ifdef's commit be885ebe8c3df78d090c2ad25772959fc2ae9fc9 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 20:12:18 2014 +0400 Code cleanup, more tests. commit 7ed27e1b8efa2c72ddb554362d76e5b7deb90bbe Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 26 12:11:12 2014 -0400 Fix for some failing tests. commit c6be74458fd478b019ac357371d5aee8925fe012 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 19:09:23 2014 +0400 MDEV-6398: ANALYZE UPDATE does not populate r_rows - In print_explain_row(), do not forget to print r_rows. - Switch Explain_update from using its own counters to re-using Table_access_tracker. - Make ANALYZE UPDATE code structure uniform with ANALYZE DELETE. commit a787edd7e660a00f015ca0a25ded0952085f7451 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 18:32:18 2014 +0400 MDEV-6395: Make ANALYZE UPDATE/DELETE handle the degenerate query plans. commit 12d6f89b073351169e070355e8db363d0d649749 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 15:55:25 2014 +0400 MDEV-6393: ANALYZE SELECT crashes ... Don't try printing EXPLAIN if we had an error. commit b7d10e56872f32b437d4d7ef0d1dc1b2ab000d5b Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jun 26 12:46:33 2014 +0200 MDEV-5730 enhance security using special compilation options add a comment commit da4f8269bf5919f7a48739dbe5460fe22a768967 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 16 21:39:09 2014 +0200 MDEV-5730 enhance security using special compilation options -Wl,-z,relro,-z,now -pie -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 commit 6c0e3ef4503c6121f7d5b6b07dcd2ee035e26032 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 16 21:30:48 2014 +0200 cmake cleanup: use MY_CHECK_AND_SET_COMPILER_FLAG. move MY_CHECK_C_COMPILER_FLAG and MY_CHECK_CXX_COMPILER_FLAG to a separate file, introduce MY_CHECK_AND_SET_COMPILER_FLAG, use it where possible. commit afa4c36ca055328f52973d8b8d28a04520ccdc59 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 16 21:24:30 2014 +0200 cmake: prefer INSTALL(PROGRAMS over INSTALL(FILES commit 6c9dd841cbe60806ca6cdbc03e60c2e4094cf9f8 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 16 22:16:21 2014 +0200 remove unused sql/examples commit b95ec135533b13e921aa8de1b9c769d47b2efe60 Author: Alexey Botchkov <holyfoot@montyprogram.com> Date: Thu Jun 26 11:37:24 2014 +0500 Revert "MDEV-12 OpenGIS: create required tables: GeometryColumns, related views." This reverts commit 0bf9fd89290e2ebd6eb44c36b2885e9e314499b5. commit 648b957f42e0b6600da5456407a563b1218c000b Merge: 0bf9fd89290 68bf3c50525 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 10:48:08 2014 +0400 Merge branch 'bb-10.1-explain-analyze' into 10.1 commit 68bf3c50525cbb946847a3bc9d163224f5f9214b Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 10:43:58 2014 +0400 Code cleanup commit 18d5a748f17f39ee585c137e41389b460d5df9d5 Author: Sergei Petrunia <psergey@askmonty.org> Date: Thu Jun 26 01:22:50 2014 +0400 MDEV-406: ANALYZE $stmt: Make multi-table UPDATE/DELETE work, code cleanup. commit 0bf9fd89290e2ebd6eb44c36b2885e9e314499b5 Author: Alexey Botchkov <holyfoot@montyprogram.com> Date: Thu Jun 26 00:46:21 2014 +0500 MDEV-12 OpenGIS: create required tables: GeometryColumns, related views. Scripts added that create OpenGIS-required views and tables they're based upon. commit aa224716339ce499731625e9451eda3cfb206283 Merge: 5893ae0b814 787ec317784 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jun 25 21:00:24 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 Conflicts: storage/xtradb/handler/ha_innodb.cc commit 4a7cacda58a33da48da30e255a12194ee8fa6243 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 25 20:47:54 2014 +0400 MDEV-406: ANALYZE $stmt: fix "explain UPDATE view problem". commit 5893ae0b81461da9edcc6d7d0f3bbc55787be446 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jun 25 19:04:44 2014 +0300 Fix test failure when trying to set compression algorithm to 3 commit 9e1075eea005f0ddcc7c429cf4c9d60e54578ecb Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jun 25 11:22:01 2014 -0400 Follow-up patch for lp:1312618 to fix a segfault. commit 3da81ab97f33c696b03bd41dc664c103e060941b Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 25 18:35:30 2014 +0400 MDEV-406: ANALYZE $stmt: more testcases, fix memory leak commit 424d5de89de907f37826ec8afb77769fe380d1e4 Merge: 787ec317784 b561a98a87c Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 25 16:46:42 2014 +0400 Merge bb-10.1-explain-analyze into 10.1 commit b561a98a87c0326dce59eb49c1b4b8f31da21d1e Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 25 16:01:09 2014 +0400 MDEV-406: ANALYZE $stmt: add some tests for joins commit 7711999d8b89d9bcf394e78a79c3c25013e249d6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 25 15:15:38 2014 +0400 MDEV-406: ANALYZE $stmt: add support for BNL join buffering commit 3bca01930aa5298cf6a8d602e66ddcea054edf50 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Jun 25 08:46:54 2014 +0300 MDEV-6361: innodb_compression_algorithm configuration variable can be set to unsupported value. MDEV-6350: Excessive unnecessary memory allocation at InnoDB/XtraDB startup if LZO is installed. commit c039d9667e5a2d15eed50357e4c7ce586c7de70b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jun 25 00:45:12 2014 -0400 Fixed a typo and updated mysqld--help test result. commit c3cfb6910a50f7ff094b03f9ef0b5d908f5e4760 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 24 23:58:13 2014 +0400 MDEV-406: ANALYZE $stmt: Scans that never executed will have r_rows=NULL commit 06a87d77e62bad8ded0a384a70e13114011bf060 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 24 23:38:49 2014 +0400 Fix compile on Windows: use rint() instead of round(). commit 1dd5d31c736709ebd674e308333fad2c1561d708 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 24 22:21:34 2014 +0400 MDEV-406: ANALYZE $stmt: fix order_by.test In JOIN_TAB::update_explain_data(), take into account that - the table that may have pre-sorted is the first non-const table - Tables that are eliminated by table elimination are marked as const tables, but are not present in the Explain data structures commit c08de06246f776c557b7795d53e2a956e156f533 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 24 19:41:43 2014 +0400 MDEV-406: ANALYZE $stmt: get ANALYZE work for subqueries - "ANALYZE $stmt" should discard select's output, but it should still evaluate the output columns (otherwise, subqueries in select list are not executed) - SHOW EXPLAIN's code practice of calling JOIN::save_explain_data() after JOIN::exec() is disastrous for ANALYZE, because it resets all counters after the first execution. It is stopped = "Late" test_if_skip_sort_order() calls explicitly update their part of the query plan. = Also, I had to rewrite I_S optimization to actually have optimization and execution stages. commit 9a0b80c968f01d50423126ecfd5fd5e793f5d42a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 23 19:14:28 2014 -0400 MDEV#5747: wsrep system variables not listed alphabetically Some wsrep system variables contain uppercase letters in their names, as a result of which they seemed out of order after sorting. Fixed by using case-insensitive string comparison function to perform sorting. commit 787ec317784d58ca00c0c8e772173c66c5145f50 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 23 12:09:00 2014 +0200 MDEV-6248 GUI-friendly cmake options to enable/disable plugins * Introduce a set of PLUGIN_xxx cmake options with values NO, STATIC, DYNAMIC, AUTO, YES (abort if plugin is not compiled) * Deprecate redundant and ambiguous WITH_xxx, WITH_PLUGIN_xxx, WITH_xxx_STORAGE_ENGINE, WITHOUT_xxx, WITHOUT_PLUGIN_xxx, WITHOUT_xxx_STORAGE_ENGINE * Actually check whether a plugin is disabled (DISABLED keyword was always present, but it was ignored until now). * Support conditionally disabled plugins - keyword ONLY_IF * Use ONLY_IF for conditionally skipping plugins, instead of doing MYSQL_ADD_PLUGIN conditionally as before. Because if MYSQL_ADD_PLUGIN isn't done at all, PLUGIN_xxx=YES cannot work. commit da9bb66b028da9ef716de7325a5a91fa6216c217 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 17 10:59:40 2014 +0200 cmake GUI cleanup mark path-related variables (AIO_LIBRARY, ODBC_LIBRARY, ODBC_INCLUDE_DIR, Thrift_LIBS, Thrift_INCLUDE_DIRS, CRYPTO_LIBRARY, OPENSSL_LIBRARIES, OPENSSL_ROOT_DIR, OPENSSL_INCLUDE_DIR) as advanced - paths are automatically discovered by cmake. mark few choice variables (ENABLED_LOCAL_INFILE, WITHOUT_SERVER, DISABLE_SHARED) as not advanced - they are user choices, not automatically configured values. remove unused BACKUP_TEST variable. commit 242e7f958d7a174d29b06c1c0893c14448111645 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon Jun 23 16:23:51 2014 +0200 MDEV-4549 [PATCH] Clean up code working with ACL tables * enum values to index different ACL tables, instead of hard-coded numbers (even different in diffent functions). * move TABLE_LIST initialization into open_grant_tables() and use it everywhere * change few my_bool's to bool's commit b9a4569bb4660613a0a4182acc4b0f9565abf56b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 23 10:18:52 2014 -0400 Updated sys_vars.all_vars result file. commit b5a2600e4ba6f4027561bb0a41bac11b1239a856 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 23 09:37:46 2014 -0400 Empty revision to trigger build on buildbot. commit f321d3e5f1433092b9152165ffb74f60783168ec Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 21 08:56:49 2014 +0200 main.temp_table_frm failure on fulltest (--embedded, when TMPDIR=/tmp) use more restrictive --list_files to hide the usual /tmp garbage commit ce6a63ec41160ef6b7c0110d3f40aea79b8f3129 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 20 11:34:24 2014 +0200 MDEV-4260 Don't create frm files for temporary tables * Don't write frm for tmp tables * pass frm image down to open_table_uncached, when possible * don't use truncate-by-recreate for temp tables - cannot recreate without frm, and delete_all_rows is faster anyway commit cc5b3998b6767523792f7e4ec8c9a100db2d06ce Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jun 18 11:53:42 2014 +0200 remove HTON_FLUSH_AFTER_RENAME (BDB-ism, unused for years) commit fb8818c1aff9ce67b74f965c019cad93addd811e Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Jun 17 17:57:18 2014 +0200 Fix CMakeLists.txt for cmake Ninja generator commit 02034e4218836304e81a10523c737b3b25e3ad9c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 19 21:55:19 2014 -0400 Merging fix for MDEV#6296 from maria-5.5-galera. commit 97779a2ef05d2141d2ade2f72f0900dbd9960751 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 19 18:48:20 2014 -0400 bzr merge -r4091..4101 codership/5.6/ commit a76a6601ecb63d452c89202d8ca7f11bf2e0194f Merge: 0f5522c44f9 0c64cd83eb3 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 19 13:12:38 2014 -0400 bzr merge -rtag:mariadb-10.0.12 maria/10.0 commit dc64ba2187fa97d74ee465dd3ca234761b1be7c5 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Jun 19 12:02:23 2014 +0200 MDEV-6137 better help for SET/ENUM sysvars Auto-generate the allowed list of values for enum/set/flagset options in --help output. But don't do that when the help text already has them. Also, remove lists of values from help strings of various options, where they were simply listed without any additional information. commit 0f5522c44f9ebb002f203ad1f983b77e3925581c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jun 18 10:19:18 2014 -0400 MDEV#6316: (post-fix) Using C-style comments in mysqldump. commit 0cb7c19fbe9601f8fe7f83cfb13ea0bf67b75e2b Author: Sergei Golubchik <serg@mariadb.org> Date: Wed Jun 18 15:00:58 2014 +0200 update sys_vars.innodb_compression_algorithm_basic to pass it checked that the default is lz4. Which only worked on systems that had lz4 and did not have lzo. Now it checks for the default to be zlib, which works on systems that has neither lz4 or lzo. Like our package builders in buildbot. This is intentional, we don't want introduce additional dependencies (lz4, lzo) for our packages just yet. This can (and will) be reconsidered, and this test can (and will) be updated again. commit 5f02051f071180dc53bf9b40dd385eae7606a537 Merge: 89e05141504 cf1a09e42f6 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Jun 17 11:33:50 2014 +0300 Merge branch '10.1' of github.com:MariaDB/server into 10.1 commit 89e0514150433eeb9737e3bb6272b88dd82b8443 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Tue Jun 17 08:40:54 2014 +0300 Fixed test failure introduced by adding a new dynamic configuration variable innodb_compression_algorithm. Removed unnecessary test for removed configuration variable. commit 1fbb70559b45fee8be142e44249e8fc81b8ee3a8 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 16 14:55:14 2014 -0400 MDEV#6316: Fix mysqldump SST method to transfer binlog state to the joiner In mysqldump SST, if Galera nodes are started with --log-bin and -log-slave-updates, the GTID sequence increases as the dump is played on the joiner, leaving behind the donor. This patch introduces a new mysqldump option --galera-sst-mode, which if enabled, would a) Add command to set off binary logging (log_bin=OFF). b) Add command to set @@global.gtid_binlog_state to that of donor. This will help in keeping the GTIDs consistent post-SST across the nodes. commit 20279b0473b959172a3bffe14940f6708dabad30 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 16 10:32:21 2014 -0400 Bumping the revision number. commit 581b889771447f7a9f33d467f0b5ef2aa96e072b Author: Sergei Petrunia <psergey@askmonty.org> Date: Mon Jun 16 13:34:03 2014 +0400 Update analyze_stmt.result after the last commit commit c7ad886a7039306aeb591e542e827a68c3302e29 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sun Jun 15 13:53:43 2014 -0400 MDEV#6296: runtime adjustment of wsrep_slave_threads creates threads but never removes them When wsrep_slave_threads is changed at runtime, the old "change" value is not taken into account and thus successive SETs can make wsrep_slave_threads value inconsistent with the actual number of applier threads present. commit cf1a09e42f695bcd24dd8a4a928cd1f560c3c00a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 14 22:15:52 2014 +0200 MDEV-6107 merge default_tmp_storage_engine Adapt default_tmp_storage_engine implementation from mysql-5.6 New feature (as compared to 5.6), default_tmp_storage_engine=NULL means that temporary tables will use default_storage_engine value. This makes the behavior backward compatible. commit 2edcf8f9ff2a1afb1d2bd5028a93b5f07ef0644e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun Jun 15 12:19:33 2014 +0200 .gitignore ninja files commit 24133e654d1bb5b2320c224d980b92b21eb47265 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Jun 14 18:24:22 2014 +0200 fix bison warnings (clash <NONE> != <>) commit f61f36b386e8d0c6448297bb84c92e8d9b82be6a Merge: 2caeda44250 55b010233a2 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri Jun 13 16:10:25 2014 +0200 Merge branch '10.0' into 10.1 Conflicts: CMakeLists.txt VERSION Modified: .gitignore commit 85032e36c66820c851b63b5189bc397404af51c7 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Jun 11 17:13:03 2014 -0400 Modified patch for lp:1310875. commit adc6bd15d575a10c826aa4e752456ef9924db5ec Merge: b441c510a7e 93cc06b20cd Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 18:41:53 2014 -0400 Merged changeset from codership-mysql/5.5. * bzr merge -r3980..3984 codership-mysql/5.5 * bzr merge -r3985..3997 codership-mysql/5.5 * Fixed a segfault. * Modified wsrep.variables test & fixed a warning in mtr script. commit 93cc06b20cd83f6f84ac152d66214f48462ee1df Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 18:31:07 2014 -0400 Fixed a warning in mtr script. Updated wsrep.variables test. commit 1410785e8ab283f2592867985b6560329e874f63 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 17:35:44 2014 -0400 Fix for a segfault. commit c29cbac2eb06ab4a2bf1aeda65c15fce40a84345 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 17:00:32 2014 -0400 bzr merge -r3985..3997 codership/5.5 commit 90ead99572c8168583cb0943792d964cc2a6abd2 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 16:33:57 2014 -0400 bzr merge -r3980..3984 codership/5.5 commit b441c510a7ea731e2da0fa9b4cf3e7f1275f841b Merge: d3b2e780d6d 6d75570e99f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Jun 10 16:04:26 2014 -0400 bzr merge -rtag:mariadb-5.5.38 maria/5.5 commit 2357871a213b33417539f14e6c786a3d4b74d7f6 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 9 16:13:30 2014 -0400 Fix for a debian build failure (cherry-picked from 10.0:r4231). commit d3b2e780d6ddee9a4f434ba9928f77127bbbeeb1 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Jun 6 13:49:10 2014 -0400 Updated default load option groups. commit cc66ae6aae4e3e5f121f1b6840213bdc525b609d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Jun 6 13:27:15 2014 -0400 MDEV#6317: Fix rsync SST method to transfer binlog state to the joiner * Merged changes to transfer last binlog file from codership/5.6. * Updated load default option groups. commit 1ebc055f1bf7308de96aa81eba71b58d0af42a4b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 5 23:40:32 2014 -0400 Modified mtr script to skip inclusion of 'galera' test suites if galera library is not specified or found. commit 68deb11a36adfc079e2a64deb49da361dc57561c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Jun 5 23:31:00 2014 -0400 Modified mtr script to skip inclusion of 'galera' test suites if galera library is not specified or found. commit 2caeda442502b5ea2583a0ce15107d171e06dfcd Author: Sergei Petrunia <psergey@askmonty.org> Date: Wed Jun 4 14:43:05 2014 +0400 Amend "make distclean" message to mention "git clean -Xdf" commit 917b22393f16a2143fd0e480473123731be5b6d1 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 3 19:04:59 2014 +0400 MDEV-406: ANALYZE $stmt - Testcase for ANALYZE UNION - Provide r_rows for union result. commit 5621aa3230a60c97111f52c03dc31ce7b57d70d6 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue Jun 3 17:59:01 2014 +0400 MDEV-406: ANALYZE $stmt - Support tracking for UNIONs, temporary-table based ORDER BYs, and both. commit 97d8323210b2c0c453eddeb27a5d6fe69bfa5426 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 2 22:45:41 2014 -0400 Fix for wsrep_sst_xtrabackup-v2.sh script. commit 6fc646ef2f772974fc87f4aec58a760e779952ea Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Jun 2 08:26:42 2014 -0400 Fixed a typo in debian control file. commit 26fa9e8294db1d922dea2e5aa25f548b210d6378 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 29 21:03:10 2014 -0400 Added rsync to galera server's debian/rpm dependency list. commit d939fad23196f7377e456a044ef8efe918f848f9 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 29 21:02:17 2014 -0400 Added rsync to galera server's rpm dependency list. commit 707f378a1343438e032ddf8968a25c5b5358340f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 29 15:39:29 2014 -0400 Added rsync to galera server's debian dependency list. commit 7e85cfb50fd95e9b0c7ba6033fcc03d66ff12cd9 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 28 00:46:21 2014 -0400 MDEV#6266: Changing password fails on galera cluster Added a check to skip ER_PASSWORD_ANONYMOUS_USER in case the SET PASSWORD was executed by wsrep applier thread. commit 5cfd3270ec79238b27765af3062ae7d97f6f06d0 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue May 27 21:04:45 2014 +0400 MDEV-6109: EXPLAIN JSON - First code, "EXPLAIN FORMAT=JSON stmt" and "ANALYZE FORMAT=JSON stmt" work for basic queries. Complex constructs (e.g subqueries, etc) not yet supported. - No test infrastructure yet commit 0925ab9d88f4328810d25392333a4cac11c6e694 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue May 27 20:16:51 2014 +0400 MDEV-406: ANALYZE $stmt -Add analyze_stmt.test/result commit eaba1ba4a575c5280d41eaa3deac890dd25d82e4 Author: Sergei Petrunia <psergey@askmonty.org> Date: Tue May 27 20:13:17 2014 +0400 Re-commit in git: MDEV-406: ANALYZE $stmt - Ported the old patch to new explain code - New SQL syntax (ANALYZE $stmt) - ANALYZE UPDATE/DELETE is now supported (because EXPLAIN UPDATE/DELETE is supported) - Basic counters are calculated for basic kinds of queries (still need to see what happens with join buffer, ORDER BY...LIMIT queries, etc) commit c73cd2a5959198348cc73730fbbe846f85c60c1b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue May 27 11:04:42 2014 -0400 s/#if/#ifdef commit 8d37bd48c71e0f7edf3b26b112952e70140d392a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue May 27 10:11:42 2014 -0400 Fixing a typo s/connection_tcpwrap_errors/connection_errors_tcpwrap, causing build to fail when HAVE_LIBWRAP is enabled. commit 7487f6b397c97bc27cbb6315746006f3df0e291d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue May 27 09:07:19 2014 -0400 Removing rsync from the debian build dependency list. commit ef7e1734044c5303348b7c33d2267554190a901e Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue May 27 09:06:04 2014 -0400 Removing rsync from the debian build dependency list. commit 1e702f3d207bab7452d59d463c49b2ae61a0d10d Author: Sergei Golubchik <serg@mariadb.org> Date: Tue May 27 14:29:05 2014 +0200 don't include <linux/falloc.h> when it's not really needed commit 5a61516afd898f06a1b5504a4cce84cc8c95c9ed Merge: ac4d78432e8 6a85b10dcb3 Author: Sergei Golubchik <serg@mariadb.org> Date: Mon May 26 21:14:33 2014 +0200 Merge remote-tracking branch 'origin/10.1' into 10.1-serg-merge commit 6a85b10dcb39b41587ce66d0434c651182d33832 Merge: 1016ee9d77e 4e68fafad44 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 21:11:53 2014 +0200 merge the compilation fixes from 10.0-FusionIO commit 4e68fafad44fbb5ea57a3cf9a750690d88f6fe1c Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:42:06 2014 +0200 compilation failure on Win64 cannot use &ulint_var (where ulint == unsigned __int64) where (ulong *) is expected (in uncompress() and in "%lu") commit 8eaa1d90a47df52f5abefdd73b4fa64cdb26c59c Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:41:10 2014 +0200 use ENUM not ULONG for innodb-compression-algorithm command-line option commit 50354951084c3bc95dffcfff59fee58d00237da4 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:31:03 2014 +0200 compilation failure on Windows VS doesn't like #ifdefs inside a macro expansion. move them outside commit 7e7e1bf8aa1a14cc5f12263ae1db2ab488239f63 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:27:14 2014 +0200 don't include the file that 1) not present everywhere 2) not used anyway commit 9ad97c4b1ef6a2d496d52f7708fcdccc53a6bc90 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:26:51 2014 +0200 temporarily disable lzo compression commit 45d389fb8416f5a5962eaff9bd6c09c28ee21e7b Author: Sergei Golubchik <sergii@pisem.net> Date: Mon May 26 20:26:04 2014 +0200 lzo.cmake: don't use the same symbol for two different tests commit ac4d78432e8773df7be49954f92849164af0c4b1 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 25 17:20:15 2014 +0200 more files in .gitignore commit eef1201bcc0064480bf281e8cafa1b3e14dbaa04 Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 25 17:17:50 2014 +0200 set version to 10.1.0 commit c2b9d993e33ac5099dfbde775af95e1400f40e87 Merge: a85186d7ab1 1016ee9d77e Author: Sergei Golubchik <serg@mariadb.org> Date: Sun May 25 10:18:07 2014 +0200 Merge branch '10.1' of bzr::/usr/home/serg/Abk/mysql into 10.1 commit 86e73576dd2ccf7385ac0b5b7b3bbf6d656e71f4 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sun May 25 00:23:17 2014 -0400 Setting the "Standards-Version" in Debian control file back to 3.8.3. commit bd5ca5e6093046d7e69cc59f0950a7af2c0a7bf2 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sun May 25 00:18:26 2014 -0400 MDEV#6211: MariaDB-Galera-server uses 'socat', but 'socat' is not in the dependency list Added socat, grep, gawk, iproute, coreutils, findutils to the dependency list. commit 0f10b12b1c819e0653970ee8990d663cd9246179 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sun May 25 00:07:25 2014 -0400 MDEV#6211: MariaDB-Galera-server uses 'socat', but 'socat' is not in the dependency list Added socat, grep, gawk, iproute, coreutils, findutils to the dependency list. commit 1016ee9d77e8c9cd6e9bd114b808fff66f398255 Merge: 105060e3077 edf1fbd25b8 Author: Jan Lindström <jplindst@mariadb.org> Date: Sat May 24 21:37:21 2014 +0300 Merge 10.0 -> 10.1 commit a85186d7ab1b46bea7379e1e45fedeb193cfbcc4 Author: Sergei Golubchik <serg@mariadb.org> Date: Fri May 23 16:40:10 2014 +0200 split README into the actual README and third-party licenses commit a8e1fa173e1f8eadb49ac51050730c9212daa4cc Author: Sergei Golubchik <serg@mariadb.org> Date: Thu May 22 11:08:14 2014 +0200 fix file_contents to pass with git commit 3e48269f2a268a3458c0b764d406d58627565d0c Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 21 15:30:06 2014 +0200 git support in cmake files commit 05df71abd9c3844aeddfb7261ba71d19e56d94fe Author: Sergei Golubchik <serg@mariadb.org> Date: Wed May 21 14:50:01 2014 +0200 remove support for per-plugin bzr repositories we don't have closed-source plugins commit 91128dd9f31cd3715744bc053adbf85380103d4a Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 24 12:14:06 2014 +0200 remove now-obsolete "5.5+5.6 merge" TODO file commit c39a10bba38edde235abf49166813aa497e028d9 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat May 24 12:13:03 2014 +0200 add .gitignore commit 6d460760ebda2a7b42c039036497c1c5a18a522d Author: Jan Lindström <jplindst@mariadb.org> Date: Fri May 23 08:20:43 2014 +0300 Fix compiler warnings. commit 105060e3077a30950bcefb7a05141176bdd25872 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri May 23 08:10:54 2014 +0300 Fix compiler warnings. commit ab4947463e68da1a01bd506f8f280ebdea3f1b46 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 22 18:31:04 2014 -0400 Merging changes from maria-5.5-galera and some test fixes. bzr merge -r3479..3493 maria-5.5-galera commit 76c6cd033755f318abc547528d00b6f0f2aaefdb Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 21:05:35 2014 +0300 Fixed compiler error if LZO is not installed. commit 192790e0e990d32177c61c8c041df25d8cab29ea Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 21:03:26 2014 +0300 Fix compiler error if LZO is not installed. commit a64daceb5993cd4e80260e789de271b4d4f184af Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 19:48:34 2014 +0300 Fixed compiler errors caused by merge error. commit ff3f63c31fd0be9e70dc5e7babbb71dc06fbc5e8 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 19:01:41 2014 +0300 Fix compiler errors caused by merge error. commit b5cdc5adcfbb0d4380604187192cd089dd3e11b1 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 16:31:31 2014 +0300 Fix some compiler warnings and small errors on code. commit d12dbe77e2328aa346443b22df70c37f78795de3 Merge: 9d399c9f35c 972a14b59a0 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu May 22 14:24:00 2014 +0300 MDEV-6246: Merge 10.0.10-FusionIO to 10.1. commit 0bf3ed12a5338f0db4b652f839fee93a28d39195 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 18:10:43 2014 -0400 bzr merge -r4089..4091 codership/5.6 commit 0b98d2fd2ab337d95b6b502b15ea86368c441026 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 17:07:17 2014 -0400 bzr merge -r4065..4088 codership/5.6 commit 0903e2b744f627f57a99edd5d2b6ffdec1ef4a03 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 16:03:58 2014 -0400 Fix for a segfault. commit 645d4025449d960dd20e1e9b22b5d24d12b8a6af Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 15:16:15 2014 -0400 Fix for a build failure. commit 81a85ad8d702ddfaf91dc43b5a0bc78857759209 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 15:04:13 2014 -0400 bzr merge -r3985..3991 codership/5.5 commit 99df0fbad5147b02ffed926f50cef11f9427e398 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 14:32:57 2014 -0400 bzr merge -r3968..3984 codership/5.5 (non-Innodb changes only). commit 8a6f4e198a57491bac8cc2aac0f3d455a28d79cd Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 12:09:31 2014 -0400 Updated wsrep.variables result. commit 85971707723b45a3bc13d4ea27a7f8bdfe52c327 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 11:59:33 2014 -0400 Added test for MDEV#4953. commit 2f90221ad49eb87b241ffcaf42e315c6a59ae1c3 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 11:23:59 2014 -0400 Fixed a segfault issue by initializing thd's system_thread_info in wsrep applier threads, introduced by MDEV#6156. commit 086af8367ed2499adae378638225ceb14c85f046 Merge: 558995ad84c 1170a540601 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed May 21 11:09:55 2014 -0400 bzr merge -r4209 maria/10.0. commit 972a14b59a0ec12b01c9a7f5c8867294fd4f40db Author: Jan Lindström <jplindst@mariadb.org> Date: Fri May 16 15:30:13 2014 +0300 Code cleanup after review. commit 9d399c9f35ca5a85152adddc1c88a304f87f660c Author: Jan Lindström <jplindst@mariadb.org> Date: Tue May 13 13:28:57 2014 +0300 MDEV-6075: Allow > 16K pages on InnoDB This patch allows up to 64K pages for tables with DYNAMIC, COMPACT and REDUNDANT row types. Tables with COMPRESSED row type allows still only <= 16K page size. Note that single row size must be still <= 16K and max key length is not affected. commit 50d1e45cd49f39231ea9cc87f7c4a17f1617fc2f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon May 12 12:45:02 2014 -0400 MDEV#5925: New mariadb-galera-test packages Added logic for generation of 'galera' test packages. commit 558995ad84ca1348dfe681a8d111650225fcc205 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon May 12 12:14:27 2014 -0400 MDEV#5942 (Issue 1), MDEV#5903 Updated MYSQL_ADD_PLUGIN cmake macro so that for wsrep builds (WITH_WSREP), components not specified explicitly under CPACK_COMPONENTS_ALL does not get packaged. This is to avoid generation of extra packages for wsrep (galera) build. commit 00b6fff2e7bedad1ecd270d9e86f991bed29482c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 8 14:45:00 2014 -0400 MDEV#6206: wsrep_slave_threads subtracts from max_connections Decoupled wsrep thread count from connection count. By doing so, the number of wsrep threads (applier/rollbacker) would no longer affect the threads_connected status variable and thus maximum allowable user connections limit would be @@max_connections. Also introduced a new status variable 'wsrep_thread_count' to hold the number of wsrep applier/rollbacker threads. Added a test case. commit 0eb84da14712a9ca820533dbc1d911b3aead1658 Merge: b186575fc09 4a84ee1c250 Author: Sergey Petrunya <psergey@askmonty.org> Date: Thu May 8 13:09:15 2014 +0400 Merge 10.0 -> 10.1 commit 93a403bf1d8819a711d783a186bf226a01a6fcfd Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat May 3 23:53:19 2014 -0400 Fix for build failure when WITH_WSREP=OFF. commit 5ef55e2c1bd28f284706631334b8c3b158b86731 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat May 3 12:58:40 2014 -0400 Added galera, wsrep suites to the default mtr suite list. commit 68a0f28defc772398312445d16e09570900fe27d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Sat May 3 09:18:11 2014 -0400 MDEV-6204: wsrep_sst_rsync timeout when lsof is not installed * Added a check for lsof * Added rsync & lsof to debian dependency list. * Merged r3982 from codership-mysql/wsrep-5.5. commit 3061aa4ead8345cac36c2decb54fe617d6837f2b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu May 1 19:19:48 2014 -0400 MDEV-6196 MTR: Do not hardcode path for libgalera_smm.so Introduced an environment variable WSREP_PROVIDER to point to the galera library. Updated the tests. commit bdeb847e9b00ffa4fb8c633632402f7de3922225 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Apr 30 15:40:00 2014 -0400 MDEV-6192 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1286: Unknown storage engine 'InnoDB' Removed 'loose-innodb' option from mysqld booststrap command in debian post-installation script. commit 4515a6d31e954194482cda99204792dcf9ab75a3 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Apr 28 10:33:22 2014 -0400 MDEV#6148 : Updating auto_increment_offset_func.result. commit d6afa8004ec48e4c25d5dfed804d0556cdec587f Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Apr 28 07:52:41 2014 +0300 Fixed small error on compression failure error text. commit 29466e2c85f2c1ab628237a3aca0bcf206d941ec Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 25 18:23:14 2014 -0400 * Adding wsrep_sst_xtrabackup-v2 to deb server files * Updated .bzrignore commit f36e3d0dab29a9b19662f94b02a81da63a7fde1a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 25 16:14:22 2014 -0400 MDEV#6148 : Updating test result. commit 98519db3416562928c62fc2c05355f1f4ffd9208 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 25 10:58:51 2014 -0400 MDEV#6171: Fix error message for split-brain Using my_message() (instead of my_error()) to send error message to the client. commit 2ab559023acc424a967037f50b7d149d821afb75 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Apr 24 22:52:07 2014 -0400 Fixing file paths in @TOKUDB_DEB_FILES@. commit b186575fc094edf5376e2ae32673d68ee4b2bf4d Merge: 0fcddbc2ae7 010971a761c Author: Igor Babaev <igor@askmonty.org> Date: Wed Apr 23 23:14:29 2014 -0700 Merge 10.0->10.1 commit 2d340f9a677bb8dc24e9e1601c613a6c10f5c3c4 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Apr 23 19:23:11 2014 +0300 Fixed bug on free buffer space calculation when LZO is used. Fixed bug on function call when InnoDB plugin is used. commit 1950457c14646b108bec1fadb40b75440c3a3d41 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Apr 21 21:45:19 2014 -0400 MDEV#6148 main.flush_read_lock fails due to conflicting read lock TOI was being attempted even when WSREP_ON was not enabled (off). So, with FTWRL in place TOI later gets aborted & thus the failure. Fixed by adding a check to skip TOI if wsrep is not enabled. commit b981c7a927f4a3721b4753d5fa73b966bf2eef96 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 18 19:16:46 2014 -0400 Updated WSREP_PATCH_REVNO. commit dee153c1b8c8949b460a39b8ea8f6edef4795bd2 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 18 16:56:44 2014 -0400 * Removed unnecessary duplicate script files. * Updated failing mtr tests. commit 11324465e099d73b668f558ec1ff360dfe006e5b Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Apr 18 07:51:52 2014 +0300 Merge lp:maria/5.5 up to mariadb-5.5.37 revision 4148. commit 43a9e655470182e17a8edf1eecb16a688d66e255 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Apr 17 14:10:22 2014 -0400 MDEV#6132: yum update for MGC-10.0 fails (10.0.7 -> 10.0.10) Fixed the incorrect sed command. commit 271ea3c86eb894fd46145b5c09610a76397a47f6 Merge: 2f46e5b9fc5 41a2ca5c166 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Apr 17 08:22:54 2014 +0300 Merge lp:maria/10.0 up to mariadb-10.0.10 revision 4140. commit b11be0525527fb59f367d95744e8a422d2bddb98 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Apr 16 13:04:03 2014 -0400 MDEV#6079: xtrabackup SST failing with maria-10.0-galera Added logic to skip changing of case for wsrep status variable names. commit 2f46e5b9fc51f0c427634f935b7d922047023628 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Apr 16 16:55:36 2014 +0300 MDEV-6070: FusionIO: Failure to create a table with ATOMIC_WRITES option leaves the database in inconsistent state, Analysis: Problem was that atomic writes variable had incorrect type on same places leading to fact that e.g. OFF option was not regognized. Furthermore, some error check code was missing from both InnoDB and XtraDB engines. Finally, when table is created we have already created the .ibd file and if we can't set atomic writes it stays there. Fix: Fix atomic writes variable type to ulint as it should be. Fix: Add proper error code checking on os errors on both InnoDB and XtraDB Fix: Remove the .idb file when atomic writes can't be enabled to a new table. commit fa18dc394406ad684ab2623e7451c9f3ec7adf08 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Apr 16 13:08:29 2014 +0300 Merge lp:codership-mysql/5.5 -r3961..3980. commit 150e88e8c9b85e3e6ce500a91fd215d231e99881 Merge: 983366e0eef 142c20eda9d Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Apr 16 12:13:43 2014 +0300 Merge from lp:maria/5.5 to maria-5.5.37 release revision 4154. commit eec6222a894a298376e2f2f0636d2b3f5719210e Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Apr 15 22:31:08 2014 -0400 Adding wsrep_sst_xtrabackup-v2 to the list of files in mariadb-galera-server package. commit df1ee18c272fd2b39543f42f56fc554934e60fb9 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Apr 15 22:16:11 2014 -0400 Fix for build failure. commit 99838736bc7bcbc1a0cfa5441d1ac15d6d34ef4c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Apr 15 14:27:45 2014 -0400 MDEV#6098 mysqldump sst fails on maria-10.0-galera * Removed the unnecessary call to wsrep_cleanup_progress_file, which was returning code 1 and eventually causing SST to fail. * Also initialized the unused WSREP_SST_OPT_CONF to avoid error message. commit 13c73c31c320877bb3a7b7035631ccdd6eee4c2a Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Apr 15 14:28:25 2014 +0300 Added support for LZO compression method. Removed: innodb_use_lz4 configuration parameter Added: innodb_compression_algorithm configuration parameter 0 = no compression, 1 = ZLIB, 2 = LZ4, 3 = LZO Fixed issue with incorrect trim calculations commit 24ad467d7f47bf67ca5358506918f12b54167ad5 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Apr 11 13:20:13 2014 -0400 MDEV#6077 : mysqldump sst fails on maria-10.0-galera * As @@have_csv has been removed from 10.0, this patch uses I_S instead to check for the availablilty of CSV engine. * Fixed the client version. commit 4a6f27ad166f741907492e8f360377dd1189dd4d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Apr 10 23:27:08 2014 -0400 Removing unnecessary extra copies of wsrep_sst_xxx scripts. commit 3afc4131124160a3f1b9911162370b658a45ca51 Merge: ba7f73f067b 9d911608f15 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Apr 9 13:50:06 2014 -0400 Local merge (mariadb-galera-10.0.10). commit 9d911608f15005be48dad55440e87a6982067233 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Apr 9 12:25:47 2014 -0400 Fixes for some test failures. commit 421326310168e2b0a83eddcf9520336e1d58ea42 Merge: 9d2e90f3796 41a2ca5c166 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Apr 8 10:36:34 2014 -0400 Merging mariadb-10.0.10. * bzr merge -rtag:mariadb-10.0.10 maria/10.0. commit ba7f73f067b3605ad265c541d71388d6909e40ef Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Apr 2 22:35:12 2014 -0400 * Merging fix for lp:1224775 * Removing duplicate code commit 88765c3b4d7357ed5a063abb46cabf72c26e7b32 Author: Jan Lindström <jplindst@mariadb.org> Date: Sat Mar 29 16:51:28 2014 +0200 Disable failing test cases that fail because of upstream. commit f4defb0b7b56f16ae7e8c2d94171d1fe68e3755b Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Mar 29 13:34:50 2014 +0200 References: lp:1299430 - initial support for tokudb replication in master-slave model commit 9d2e90f379654fb65c0eab006213d772302bcff7 Merge: 02ba2bfdb44 a500865c133 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Mar 28 08:26:08 2014 -0400 Merged revision 3471, 3472 & 3473 from maria-5.5-galera. commit 3b61030dc19cdd63e376db1db91f771051b1ac3a Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Mar 28 08:42:53 2014 +0200 Fix error on innodb_mtflush_threads parameter. commit 02ba2bfdb444531e6fe61716a4eaeab40e210bbd Merge: 09e30949456 c5f7486654d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 27 16:26:00 2014 -0400 Merging revision from codership-mysql/5.5 (r3928..3968) and codership-mysql/5.6 (r4021..4065). - Also contains fixes for some build failures. commit a500865c133251416604255028802b550d6941a8 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 27 16:22:57 2014 -0400 Merged revision 3471, 3472 & 3473 from maria-5.5-galera. commit 43c6c2ac775d4ebd1967bc3416137a7297d0fe7b Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 27 08:22:29 2014 -0400 Merged r3468 from maria-5.5-galera. commit 7fd382f117f48b2224296b03ce62686018ff702d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 27 08:17:24 2014 -0400 Merged r3466 from maria-5.5-galera. commit 0b92fe9c188109c980444114f36bc56c119b84e7 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Mar 27 12:21:16 2014 +0200 Fixed windows compiler errors. commit 8fb80a58bf83877c7fcdda38353bf3634f8691d8 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Mar 27 10:56:11 2014 +0200 References lp:1280896 - merged the fix from wsrep-5.6 skipping secondary index dupkey checks for applier commit cd8c3b74bd79a4b815bafc67955f9cdf4dda0208 Merge: f761835b5c1 50273380397 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Mar 27 10:00:30 2014 +0200 Fix bug https://code.launchpad.net/~laurynas-biveinis/percona-server/bug1295268 (Inadequate background LRU flushing for write workloads with InnoDB compression). If InnoDB compression is used and the workload has writes, the following situation is possible. The LRU flusher issues an LRU flush request for an instance. buf_do_LRU_batch decides to perform unzip_LRU eviction and this eviction might fully satisfy the request. Then buf_flush_LRU_tail checks the number of flushed pages in the last iteration, finds it to be zero, and wrongly decides not to flush that instance anymore. Fixed by maintaining unzip_LRU eviction counter in struct flush_counter_t variables, and checking it in buf_flush_LRU_tail when deciding whether to stop flushing the current instance. Fix provided by: Laurynas Biveinis (Percona) Added test cases for new configuration files to get mysql-test-run suite sys_vars to pass. Fix some small errors. commit 502733803979e2109b6dcdcb3d8c5a0ddd6d2363 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Mar 27 09:35:24 2014 +0200 Fix bug https://code.launchpad.net/~laurynas-biveinis/percona-server/bug1295268 (Inadequate background LRU flushing for write workloads with InnoDB compression). If InnoDB compression is used and the workload has writes, the following situation is possible. The LRU flusher issues an LRU flush request for an instance. buf_do_LRU_batch decides to perform unzip_LRU eviction and this eviction might fully satisfy the request. Then buf_flush_LRU_tail checks the number of flushed pages in the last iteration, finds it to be zero, and wrongly decides not to flush that instance anymore. Fixed by maintaining unzip_LRU eviction counter in struct flush_counter_t variables, and checking it in buf_flush_LRU_tail when deciding whether to stop flushing the current instance. Added test cases for new configuration files to get mysql-test-run suite sys_vars to pass. Fix some small errors. commit 09e3094945694277a550cccc8bd1fd11338474b1 Merge: c509f48b8e9 71dafbf9c2c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 15:17:51 2014 -0400 Merging wsrep specific changes from InnoDB to xtradb (r3683..3808). commit c509f48b8e9cd0714154722aee2c9b8e62d1bc94 Merge: 7b57c5ea6f1 90e4f7f9d3f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 14:32:51 2014 -0400 Merging mariadb-10.0.9. * bzr merge -rtag:mariadb-10.0.9 maria/10.0. commit 90e4f7f9d3f2669ac99f2817f884315bfc86b0a7 Merge: 586fab72f01 5b7cab82195 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 14:27:24 2014 -0400 * bzr merge -rtag:mariadb-10.0.9 maria/10.0 * Fix for post-merge build failures. commit c5f7486654d7fd4941b202735799f9a7ec3c15eb Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 14:13:12 2014 -0400 bzr merge -r4062..4065 codership/5.6 commit 71dafbf9c2cae382c5174bd3ce73472b97013d62 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 14:04:50 2014 -0400 Merging InnoDB changes to xtradb (r3783..3808). commit b5871a51e99f2d591e944590f2e2332275064d07 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Mar 26 11:12:38 2014 -0400 * bzr merge -r4027..4061 codership/5.6 * Merged Innodb changes to xtradb commit 7d892f69a565e583eb692d01e2e80a158ee795fe Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 25 23:13:30 2014 -0400 bzr merge -r4021..4026 codership-mysql/5.6. commit 0a6924a3f30b1cf478ddd22c4fbb6e8fcba8c84d Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 25 17:02:57 2014 -0400 Updated WSREP_PATCH_REVNO. commit 899f9801d4466a6ecccd32a34a38aaf19019e39a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 25 17:01:05 2014 -0400 bzr merge -r3946..3968 codership/5.5 commit f761835b5c13158fd958a5239b346daa09b06cc6 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 25 21:31:27 2014 +0200 Fix candidate for XtraDB and row compressed tables. commit 3088d52c20eca10e5b8689648edef8f7fd49830a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 25 14:42:15 2014 -0400 bzr merge -r3933..3945 codership/5.5 (Non-InnoDB changes only). commit 3c0b3babd9fdaa6d6697289368022cc152c77593 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 25 13:39:12 2014 -0400 bzr merge -r3928..3932 codership/5.5 commit 586fab72f01e1c7f0f8bf363fa6b06a2f10965b4 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Mar 24 16:40:24 2014 -0400 Merging deb/rpm script changes from maria-5.5-galera. commit a81f8fd5804e84b0679fe11a079d2ced641ee1f6 Author: Jan Lindström <jplindst@mariadb.org> Date: Sat Mar 22 11:30:03 2014 +0200 Fix test cases to contain new status variables introduced. commit 6a756b3a44cbe849a3a5a41b0e134e820d567c6d Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Mar 21 15:46:36 2014 +0200 Code cleanup: Removed some unnecessary outputs from standard builds (available on special builds UNIV_PAGECOMPRESS_DEBUG and UNIV_MTFLUSH_DEBUG). Added a new status variable compress_pages_page_compression_error to count possible compression errors. commit 983366e0eef50b95329bcba154ee4fb38b85df3c Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 20 18:33:23 2014 -0400 MDEV#5903 mariadb-galera tree builds too many rpm packages Modified the components list to make sure that only server package gets generated. commit 7b57c5ea6f1fda5100ce4a5fb61ee63e8a153d0f Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Mar 20 16:03:20 2014 +0200 References: https://mariadb.atlassian.net/browse/MDEV-5908 - moved releasing of wsrep THD mutex and thd->awake later, so that wsrep->abort_pre_commit() is guaranteed to run for a thread which is still in conflict state commit 4154f3aa058ee4fb7a7633874038c122a5e8985a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Mar 14 17:54:53 2014 -0400 Modified debian scripts to make galera packages self-contained. commit 8a99be643c36c0b5e1c7c2e5bd553118fe1b2ec8 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Mar 14 17:52:55 2014 -0400 Modified debian scripts to make galera packages self-contained. commit ff0f41974c92fc11f338da461113705c20dd3f23 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 13 11:56:37 2014 -0400 Debian script fixes. commit d395440d0f63314894eb11b5f53408c0036d14cf Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 13 11:51:31 2014 -0400 Debian script fixes. commit 3ea72a2ba9deb9e3da7efe57a74ce9b34b346dfd Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Mar 12 14:47:38 2014 +0200 Removed options innodb_compress_index_pages and innodb_trim_pct. Both are unnecessary. There is a lot more index pages than there is normal pages. Earlier all pages were compressed and this provided best performance and compression ratio. Added status variable to show how many non index pages are written. commit 57ba177dafef33bac544498e66bfd705e6cfc476 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 11 23:12:18 2014 -0400 MDEV#5812 Memory leaks while running mysqld in bootstrap mode Added calls to deinit functions at appropriate places. commit 0fcddbc2ae77a33908a11b097a731804f8d2a258 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 11 13:49:52 2014 +0200 Added multi-key unique test case. commit 4e02c2fe568b43c675dc154976b5499a32c14eae Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 11 13:40:29 2014 +0200 MDEV-5335: Force PK option. Added a new dynamic configuration variable innodb_force_primary_key default off. If option is true, create table without primary key or unique key where all keyparts are NOT NULL is not accepted. Instead an error message is printed. Variable value can be changed with set global innodb_force_primary_key = <value>. commit e7df30b8dd704adf569744612504ef38905418fb Merge: c556b9d8176 5b7cab82195 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 11 07:57:54 2014 +0200 Merge lp:maria/10.0 up to revision 4040 = MariaDB 10.0.9 RC commit c556b9d8176107ba892ac218dd72e35d53e0c4f9 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Mar 7 08:20:43 2014 +0200 Changed so that innodb_compress_index pages means that if true also index pages are compressed if false index pages are not compressed. Fixed small output error when page_compression_level was incorrectly given. commit 67cb55c51d5bfa8b0cd15356ab536d5f9be6a66f Merge: 3a4b8879e52 b95c8ce530c Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Mar 7 07:42:28 2014 +0200 Merge lp:maria/10.0 up to revision 4032 (10.0.9). commit 653ef22336a5c14404b9690bb44df702292463b2 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Mar 6 18:44:16 2014 -0500 MDEV#5687: Maria doesn't shutdown following upgrade to 5.5.35-galera Restored patch for MDEV#4136 and added a test. commit 27c09524eb8223f787e9d4322b3c6c939dbc767a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Mar 4 22:10:28 2014 -0500 MDEV#5790 : SHOW GLOBAL STATUS LIKE does not show the correct list of variables when using "_" Fixed the type for offending "wsrep", wrongly set to SHOW_SIMPLE_FUNC. Added a test case. commit 3a4b8879e5250eeac3e0a6c770fdf235111c8171 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 4 20:12:32 2014 +0200 Set index page page compression on by default and remove innodb_trim_pct as it is not used/implemented. commit d64fa1d65180afa24d5bbe32d595618faeefb58f Merge: 7322270a051 5ec49e6452d Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 4 18:56:18 2014 +0200 Additional merge to lp:maria/10.0 commit 7322270a0514883b62f4148e6acc039a5e1b7fd9 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Mar 4 17:14:08 2014 +0200 Set actual compressed page size also on read code path to buffer pool so that we can later use it to avoid unnecessary trim operations. commit fd38dca5d580eafcdd6c521be686601d5efa4c85 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 18:14:29 2014 +0200 Fixed a hang. The core issues is with the heap-thrashing by the individual queue's. Tried to minimize memory allocation from heap whenever it is unnecessary. commit 81318f04c8dd935d994d5ade3aed95f0059d5a83 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 15:51:54 2014 +0200 Yet more windows fixes. commit e656a8a92791944420c3793f6686357f584788bf Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 15:43:38 2014 +0200 Fix windows os_file_write. commit b8e0bc3a67557290aaee67e9b6f59b782eebd59e Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 15:26:58 2014 +0200 Additional windows fixes. commit 6cde211d8ddefb98945904967cb028d6e3844bd0 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 15:15:00 2014 +0200 Fix typo. commit ec45160e3b8cb5fb4dc1118fc7c539f5f256d85c Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 15:02:39 2014 +0200 Fix windows compiler erros. commit be50724d89d141360472326f4fad006ba6e377b7 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 14:45:45 2014 +0200 Fix compiler error on windows. commit 96100d6652831d6423cc59bb3f065ab7f6f0cf85 Merge: b67892cf598 4b3cf4aa268 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 14:27:56 2014 +0200 Merge: lp:maria/10.0 latest. commit b67892cf59872867514709784c54526434784ea9 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Mar 3 12:34:33 2014 +0200 Turn all new features off by default. commit 689aaab0f8d5ac98a08bc33b3e2edc3c2cd0fcf6 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Feb 28 23:15:35 2014 -0500 MDEV#5552 Deadlock when inserting NULL column value in column with UNIQUE index References: lp:1276424 commit c3a2394641e2f7b199977bcf699ad64c1bb1367f Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Feb 28 13:56:08 2014 -0500 * Merged revisions 3945, 3946..3950, 3951..3961 from codership-mysql/5.5. * Merged changes in innobase to xtradb. * Updated WSREP_PATCH_REVNO. commit e667c0f926deaa7ce7f093cd4679431599c55b1f Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 28 09:05:36 2014 +0200 Fix compiler error. commit c88a0d48c6624466d058282bf7e2e8279660564e Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 28 08:53:09 2014 +0200 Temporal fix for flush thread hang. Added option to disable multi-threaded flush with innodb_use_mtflush = 0 option, by default multi-threaded flush is used. Updated innochecksum tool, still it does not support new checksums. commit 87910f7d30fa5208fc98638e954f6e5356d43ecb Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Feb 27 17:56:28 2014 -0500 MDEV#5759 Init script contains syntax error Fixed the init script. commit b620e7368f05af52f3fa1a759bc446140baf7b56 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 26 19:00:24 2014 +0200 Small fixes to work_item handling. commit ae6e1548cbda6cb1509f84edb57786c9520a7a6e Merge: e36fe045c03 ff2e82f4a17 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Feb 25 17:49:41 2014 -0500 Merge from maria/5.5 (-rtag:mariadb-5.5.36). commit e36fe045c03038b3bc2d9d21b4bbce66077985f5 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Tue Feb 25 13:13:39 2014 -0500 Added MTR support for galera. * include/galera_cluster.inc : Configures galera cluster with 2 nodes. * include/galera_init.inc : Opens named connection with all the nodes. * include/galera_end.inc : Closes all the connections. * include/galera_connect.inc : Opens a named connection with a single node. * include/galera_diff.inc : Runs a specified SQL query on all the nodes and diffs the output. commit 24235e99d83170f1802875f020179cc5dcda3182 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Feb 25 13:15:55 2014 +0200 Fixed memory leak on queue nodes by using local memory heap on normal execution and global memory heap on shutdown. Added a funcition to get work items from queue without waiting and additional info when there is no work to do for a extended periods. commit 38471a6d6aa6ed96cac056794a1c5ee22d861c93 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 21 12:51:03 2014 +0200 Remove incorrect trim_len calculation. We have already alligned actual page data write. commit 3c7714301718cc1b18847829582b3e3b71be940e Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 21 10:20:18 2014 +0200 Write size was not correctly alligned to SECT_SIZE. This lead to situation where trim corrupted the database. Fixed the issue and added temporal guards against unalligned write/trim. commit 6e3fc511c452f075f61f01c156d96a95654420ca Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Feb 20 13:49:50 2014 -0500 MDEV #5682 : Incompatible galera / mariadb-galera-server version on Debian Updated galera package version to >=25.2 in Debian/Ubuntu control files. commit fc86a1f4af2f4ff1314953617769b1126ad70c4f Author: unknown <sanja@montyprogram.com> Date: Thu Feb 20 09:28:18 2014 +0200 Make tokudb working with 10.1 commit 5de274c43b82cd0eaab606bf6a02e687f5c81f43 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Wed Feb 19 13:59:10 2014 -0500 Fixed install_macros.cmake to set the correct destination for documentation. commit 24bc0314c2b8ba373d970f15d5fba52c02cd01d2 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 19 20:25:55 2014 +0200 Removed unnecessary memory initialization of page compressed buffer and added guard against unalligned trim size. commit 25318038a92872492036e8eb5da9363f22d1b7c2 Author: Jan Lindström <jplindst@mariadb.org> Date: Sat Feb 15 09:51:06 2014 +0200 Fixed hang seen on TPC-C measure phase. We should not use timedwait on threads waiting for a job. They should sleep and let other threads to their work. At shutdown, we know that we put "work" and that is handled as soon as possible. commit e6a7a3804d05570d061c05756f3262dab364ce02 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Feb 14 17:03:44 2014 -0500 * mysqld_safe could not start server as it failed trying to perform wsrep position recovery. Fixed by correcting the erroneous mysqld command by properly quoting it. * Merged the changes made to Ubuntu rules in previous revision to Debian rules. commit 8e476e6cbe313fadb6e0cd4402ff8c9d2d487406 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Fri Feb 14 11:38:46 2014 -0500 MDEV#5534: mysql_tzinfo_to_sql generates wrong query mysql_tzinfo_to_sql tries to set wsrep_replicate_myisam as SESSION variable, while its a GLOBAL-only system variable, and thus the resulting sql would fail to load. Fixed by changing the scope to GLOBAL in the SET command. Also added following include files to facilitate testing : * include/have_wsrep.inc * include/not_wsrep.inc * include/have_wsrep_enabled.inc commit cae21c52f604ba804f07f858edae5a930978d820 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 14 15:02:26 2014 +0200 Fix timing on queues, this could clearly lead to starvation. commit 9564537cb1a4bfeabd073705fa9359e98fb69145 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Thu Feb 13 09:33:04 2014 -0500 Fixes in debian distribution files. commit 9c614665ee78028b9cf2edfe043373b4f6f0ff3e Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Feb 13 12:35:37 2014 +0200 Fixed compiler warnings. commit dfc295035609c669e699f1df07d60495d6b8dbb0 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Feb 13 12:23:55 2014 +0200 Fixed small issue with dictionary. commit d17ecff410180adf96dcd7f261157d52e7f62af2 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Feb 13 09:13:56 2014 +0200 Fixed issue on data dictionary corruption. Fixed issue on multi-threaded flush at shutdown. Removed unnecessary startup option innodb_compress_pages. Added a new startup option innodb_mtflush_threads, default 8. commit da927da04def025f91f6d71172d6b525513a6cd7 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 12 18:00:03 2014 +0200 Fixed issue on atomic writes and system tables. Atomic writes can be used also on system tables but not per table. commit 1fa19bf777cb435e6630694fae029802260b5f6d Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 12 12:52:34 2014 +0200 Fixed issue on atomic writes setup and atomic blobs setup on system tables. commit f6ad325883dafdcdf1645d198bfe1a59e5a2b44b Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 12 10:55:45 2014 +0200 Code cleanup. Removed those questions that are now addressed. commit 184e302ab471ebf47662221eba883cb47a3fa84c Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 12 07:09:06 2014 +0200 Fix compiler error if lz4 is not found on the system. commit fa9f5f63e918a557150e1e940ff0e8ea9ca09dc6 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Feb 11 20:05:09 2014 +0200 Removed unnecessary files and set lz4 under HAVE_LZ4 compiler option using cmake find_library. Fixed bunch of compiler warnings. commit b0ad00df2716283f0e6e3e10084f537cbbd107e6 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Feb 11 15:03:42 2014 +0200 MDEV-5644: Assertion failure during lock_cancel_waiting_and_release. Analysis: In wsrep case there is two transactions possible trx and conflicting lock owning transaction. Code was handling trx mutexin correctly but not for c_lock->trx case. Fixed by taking clock-trx mutex when needed and releasing trx mutex if it is taken at lower levels. commit e0f0f5f6d0b983619a67725c6a3351c31a547852 Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Feb 10 23:54:18 2014 -0500 Reverting the change erroneously got introduced during merge. commit 65f2f289d106efbfa73002d10294ff22e7af834a Author: Nirbhay Choubey <nirbhay@skysql.com> Date: Mon Feb 10 09:22:24 2014 -0500 MDEV#5626 : Cannot install InnoDB/XtraDB plugin (undefined symbol: wsrep_md5_update) Refactored wsrep's md5 related code so that Innodb/xtradb no longer relies on mysys_ssl for md5 implementation. commit aaf3063d0d504c718e079c89158c6f2ad4a4478a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Feb 7 09:14:43 2014 -0500 Dummy empty revision (to trigger bb). commit a5cf3a800e20e86a4469dff659e68cc1b21263e5 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Feb 7 15:31:31 2014 +0200 Merged latest mt-flush code to xtradb. Cleaned up thread statistic output code. commit 18353c6a4d8241ea45aeabb4a606953531c3c9dd Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Feb 6 17:49:55 2014 +0200 Fixed issue on file space extension. File space should be extended from current offset to desired size if posix_fallocate is used. commit 7f3950a2aedd55b299735645882b48917a380be3 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Feb 6 17:25:26 2014 +0200 Moved mt-flush code to buf0mtflu.[cc|h] and cleaned it up. This is for InnoDB. commit 195e08940e7ae713ecc6fc22c0ccb8328840d262 Author: Sergey Petrunya <psergey@askmonty.org> Date: Thu Feb 6 00:14:15 2014 +0400 Change version number to 10.1 commit 921d87d47c779240ea30aec01fbfcab888e98261 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Feb 5 15:32:29 2014 +0200 Fixed issue on xtradb shutdown merge error. Multi-threaded flush threads where not shut down properly. commit 4cb029b38b914751926c472a3a944fc0e84533be Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Feb 5 00:28:11 2014 -0500 * Merged the missing revision 3934 from codership-mysql/5.5 (missed in the last merge). * Merged changes from Innodb to xtradb. * Updated WSREP_PATCH_REVNO commit 862b0344880524bfde91b8361ccbdc99eac62a6d Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Feb 4 20:08:59 2014 +0200 Fixed compiler errors. commit 55fab3dbf413d663b66e6c4d147a0395c18068c2 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Feb 4 14:52:02 2014 +0200 Fixed issue on atomic writes on startup, removed incorrect assert. Fixed issue on file space extend when posix_fallocate is used. Merged second iteration of multi-threaded flush code. commit 7ca53d947959fe420c28400c621f427b3008fe19 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 3 22:55:46 2014 -0500 Merging revisions 3934..3944 from codership-mysql/5.5. commit 324544ea64e0a0c7e3dec836cb72d47e6033543a Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Feb 3 17:14:38 2014 -0500 Fix for main.commit test. commit 8c5d5bc5de135ed143bfe91c99fd53a8c9b4487c Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Feb 3 10:08:15 2014 +0200 Fixed merge error on InnoDB page compression level handling. Merged page compression feature to XtraDB storage engine. Added feature where page compression can use lz4 compression method (innodb_use_lz4, default OFF). commit 4d254ef4f20855d3b72a0a660aa17c3fcdc57a03 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 30 20:27:01 2014 -0500 * Fixed debian dist file names. * Fixed failing test results. * Updated tztime.cc (lp:1161432). commit 30b6b39d0b388dc13cbb75aabc539409f19e2f0f Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 30 19:08:00 2014 -0500 Updating test result. commit 4a6be51f78e79b1ee5bc0442b7af8b3108a64512 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 30 12:45:38 2014 -0500 * Merged revisions: 3431, 3435..3457, 3459, 3460 from maria-5.5-galera. * Fixed Debian/Ubuntu dist files. * Fixed some compiler warnings. commit ecc2c96c9d9b0fb5d94a1203d3ffa1a2d6c036b7 Merge: d2c72da6100 6b6d40fa6ca Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Wed Jan 29 19:00:43 2014 -0500 Merge of maria/5.5 into maria-5.5-galera. bzr merge -r tag:mariadb-5.5.35 maria/5.5 commit 5b6a4f25a566f967e8b1010998a22256bd045511 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Jan 29 08:54:17 2014 +0200 Fixed issue on wsrep_kill_victim mutexing order error. Furthermore, fixed merge errors found on mysql-test suite testing. commit 86d470386b4d5728c9c6af009884774ef0a814b4 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Jan 28 09:48:51 2014 +0200 Fixed issue with extra status lines Wsrep_local_bf_aborts at SHOW GLOBAL STATUS LIKE 'x'; where x != wsrep_local_bf_aborts by changing it as SHOW_SIMPLE_FUNC from SHOW_FUNC. commit febe99ec8d6b30236982a127fd5d194a7deceb44 Merge: 58ce55134f6 02765f4c614 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Jan 27 13:00:36 2014 +0200 Merge lp:maria/10.0 10.0.7 revision 3961 commit d43afb8828e358f9c3bb690d0fdcd88b0637f155 Merge: d0f77b83611 02765f4c614 Author: Jan Lindström <jplindst@mariadb.org> Date: Sat Jan 25 11:02:49 2014 +0200 Merge MariaDB-10.0.7 revision 3961. commit d2c72da610074afe95959094a11f95b29a741f29 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 23 15:57:47 2014 -0500 The bzr revision visible in @@version_comment should represent the last merged revision from codership branch and not the revision of the MGC tree itself. Fixed by adding a cmake variable to hold the revision number of last merged revision from codership branch. commit d0f77b83611077344ff29db02ea5593c9da62537 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Jan 20 12:17:31 2014 +0200 Fixed issue with retrying autocommitted transactions. We might need to clean up the explain structure in this case. commit caa1b783bd398dad8ec8f3a93fc97d8194998e86 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Jan 17 13:55:09 2014 +0200 Fixed one compiler warning in wsrep_applier.cc commit a8dbf680e6228c58afc1ef28628d088879614a0d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Jan 17 13:28:43 2014 +0200 Added missing files commit 58ce55134f6d7b21d38c356f448d8464b52bb983 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Jan 13 15:02:31 2014 +0200 Removed some unnecessary assertions to debug build and enhanced the page_compression and page_compression_level fetch. commit ec8257216e5b25ed82d63f074254b9454e0a0df3 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Jan 10 12:11:36 2014 +0200 Enhancement: Change atomic_writes table option to enum type. Now every file can either use atomic writes, not use it or use default. SYNTAX: ATOMIC_WRITES=['DEFAULT','ON','OFF'] Idea here is to be able to define innodb_doublewrite = 1 but with following rules: ATOMIC_WRITES='DEFAULT' - if innodb_use_atomic_writes = 1, we do not write to doublewrite buffer the changes if innodb_use_atomic_writes = 0, we write to doublewrite buffer ATOMIC_WRITES='ON' - do not write to doublewrite buffer ATOMIC_WRITES='OFF' - write to doublewrite buffer Note that doublewrite buffer can't be used if innodb_doublewrite = 0. commit 9d5c3731be1395bd19329443e680db11545bb5c4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 9 23:22:10 2014 -0500 Fixes for some compiler warnings. commit 31eaa90a6ef767b4f846bfe454892979200003a1 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Jan 9 14:54:57 2014 -0500 Merging revision 3839..3932 from codership-mysql/5.5. commit 2b5a0a22802a0069f318f7d23a1071a703930c90 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Jan 9 12:33:29 2014 +0200 Feature: In first write if we trim we set write_size to actual bytes written and rest of the page is trimmed. In following writes there is no need to trim again if write_size only increases because rest of the page is already trimmed. If actual write size decreases we need to trim again. Need to research if this can happen frequently enough to make any effect. commit e80f2468b468540c27e9b7174769262297bffc13 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Jan 9 08:30:09 2014 +0200 Fixed issues with atomic writes and compressed pages. Temporal solution: In directFS using atomic writes we must use posix_fallocate to extend the file because pwrite past end of file fails but when compression is used the file pages must be physically initialized with zeroes, thus after file extend with posix_fallocate we still write empty pages to file. commit f6a196555e639489a7e1987eb88c67827f468a9d Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Dec 20 08:59:34 2013 +0200 Temporally disable posix_fallocate on os_file_set_size because currently Fusion-io SSD drive does not support setting file size without fysically writing pages with zeroes when fallocate with PUCH_HOLE is used. Added additional error message if atomic write setup does not succeed. commit f023715fe8c3bc7c60f65cfd58e4980b4cc89560 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Dec 20 06:50:58 2013 +0200 Need to disable fast file extension with posix_fallocate for Fusion-io currently. commit 9ba590930a94e7cdbd3a7c3f34702fa588fd504e Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Dec 19 18:04:26 2013 +0200 Atomic writes require also atomic_blobs. Add that missing flag to dictionary setting and from there it will be stored to table space. commit 5e55d1ced52c52fb2f0508e1346059901a85960f Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Dec 19 14:36:38 2013 +0200 Changes for Fusion-io multi-threaded flush, page compressed tables and tables using atomic write/table. This is work in progress and some parts are at most POC quality. commit 088c069462d4a5cf26e97690e045fc3e737453a3 Author: Sergei Golubchik <sergii@pisem.net> Date: Wed Dec 11 21:09:18 2013 +0100 fix debian builds commit ea6f92662c6ad3db3745aacb80dd162930c88cd8 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Dec 11 10:45:49 2013 +0200 MDEV-5430: Debian MariaDB-Galera packages do not get built in buildbot [Part 4] Missed one file name change. commit 92a15782f9b4f1100cf121294237cf0f643bf734 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Dec 11 09:38:21 2013 +0200 MDEV-5428: Debian MariaDB-Galera packages do not get built in buildbot [Part 3] Missed one lintian rule. commit 48e83ba6f79a042022c1949772e999ddb4fd10c4 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 10 22:11:42 2013 -0500 * Updated auto_increment_xxx_func.result to reflect the changes made by https://bugs.launchpad.net/codership-mysql/+bug/587170 * Fix for some compiler errors/warnings. commit e1ed3dcebf649a540a8a5fd6293ef1494757fb38 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Tue Dec 10 11:30:23 2013 -0500 MDEV#5407, MDEV#5386, MVED#4222 Problem: As, wsrep_provider is dynamic and can accept a valid provider while server is running. Patch for #4222 wrongly skips the initialization of binlog plugin during server start, when wsrep provider is not specified. In wsrep build, if opt_log_bin is not provided, we still init binlog with wsrep_emulate_bin_log ON. Fix: This patch fixes #4222 by adding a check to return from binlog_savepoint_set without proceeding further if wsrep_on is OFF/false. This patch also fixes MDEV#5407 and reverts changes pushed for MDEV#5386 (no longer valid). commit 3ad45220bc848e6cb5a06cbd71fdfb6970b5f3a4 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Dec 10 17:45:02 2013 +0200 Additional name fixes. commit 170c3c2b213a29b90aa948e1879cae334d48b1e7 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Dec 10 10:34:41 2013 +0200 MDEV-5423: Debian MariaDB-Galera packages do not get built in buildbot [Part 2] Fix: Server name is mariadb-galera-5.5 commit ded756c90dd92ddc656d92ea29fd66a3c7181767 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Dec 10 10:14:43 2013 +0200 MDEV-5408: Crash in mariadb-wsrep during plugin load at startup Analysis: If wsrep_provider is not specified ("none") the wsrep is not initialized. Fix: Add additional guard not to call wsrep->post_rollback if wsrep_provider is not specified. commit 3df2aa9458dae45b7b9667672da30252d1a75ce1 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Dec 5 19:22:00 2013 +0200 MDEV-5385: Debian MariaDB-Galera packages do not get built in buildbot Analysis: File names were incorrect for distribution files. Fix: Fixed file names to be same as in 5.5. commit af2bb9de9d71dd55f2e4a36ef18ca22a018515e5 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Dec 7 12:30:53 2013 -0500 Fix for a failing test. commit 8acebe6d639500d90288a34c6d0cbc217fe2f1ca Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Thu Dec 5 10:59:18 2013 -0500 MDEV#5384: Update init script in MariaDB Cluster Reduced the sleep time to 10secs. commit f41ee56df7b7cd841a2d9ac6a753f752742cd2ee Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Dec 5 14:53:22 2013 +0200 MDEV-5386: Server crashes in thd_get_ha_data on maria-5.5-galera tree while running 'check testcase before test Analysis: In Galera binlog is not enabled by default in case when wsrep provider is not specified. In this case we should not call thd->binlog_flush_pending_rows_event(TRUE). Fix: Added a additional guard on galera not to call binlog function if wsrep provider is not specified and binlog is not enabled. commit 329fb586568f822e6ccb6faeb2e950a644b459d3 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Dec 4 18:49:40 2013 +0200 MDEV-5385: Debian MariaDB-Galera packages do not get built in buildbot Added missing .in files and updated CMakeLists.txt to contain galera specific files. commit ed26f7012640f4e1f65776f7bbc57fba5e87b0a5 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Dec 4 13:46:28 2013 +0200 MDEV-443: Galera: Server crashes on flushing tables for SST if started with character_set_server utf16 or utf32 or ucs2, and with wsrep_sst_method=rsync Analysis: In SST Galera directly calls parser using current client character set. Similarly in BF Galera uses client character set to apply. However, there are character sets that are not currently supported by the parser. Fix: If currenct client character set is one of those that is not supported by the parser, temporally set character set to latin1 before we enter parser and restore it after we have parsed. commit eea69c57b2479192a6e5cb59e7631029edb3b35a Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Dec 4 13:42:17 2013 +0200 Fixed additional problem with kernel_mutex. Kernel mutex is also held on lock_rec_other_has_conflicting that will also call (eventually) wsrep_innobase_kill_one_trx. Added a new parameter have_kernel_mutex to mark do we already own kernel mutex or not. commit 496e22cf3bd2a481fd3502d86e5a4e8228bf9823 Merge: 45f484b8381 26f56089c73 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Dec 4 10:32:43 2013 +0200 merge with MariaDB 5.6 bzr merge lp:maria --rtag:mariadb-10.0.6 and a number of fixes to make this buildable. Run also few short multi-master high conflict rate tests, with no issues commit 9379edb63d85bcb256a4e145827db9c4c76f15c4 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Dec 2 08:58:06 2013 +0200 MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT Analysis: Currently you can set binlog_format to STATEMENT or MIXED even when they are not really supported by galera. Fix: Produce an error message if binlog_format is set to STATEMENT or MIXED and wsrep_on = ON. Added a test case for this. commit 730466b3282bd23054f86fa7979db1a83703ef89 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Sat Nov 30 07:46:53 2013 -0500 MDEV#4138: Galera: mysqld_safe doesn't pass on wsrep_provider to mysqld In mysqld_safe script, during the processing of command line options, the supplied wsrep_provider option was not getting appended to the set of mysqld options. Hence, wsrep plugin would never receive the path for wsrep provider. Fixed by adding logic to append the wsrep_provider option to the set of mysqld options. commit e4f5e49cd6de1c9e4899a6e6f5c6666434e02437 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 29 13:03:00 2013 -0500 MDEV#4109: Galera: Valgrind warnings "blocks are still reachable" in wsrep_init_startup on MTR tests The initialization & de-initialization of wsrep plugin is solely controlled by wsrep_on system variable. Now, as wsrep_on is ON by default, the plugin gets initialized during server start. However, there would be a leakage in case wsrep_on is turned off before plugin's deinitialization (while server is shutting down) takes place, in which case the deinit routine will not be invoked. In this particular case, wsrep_on is turned off as no wsrep provider has been specified & thus the valgrind warnings. Fixed by introducing a flag which tracks and now controls the (de|)initialization of the wsrep plugin instead on wsrep_on. Added necessary asserts. main.connect [ pass ] 16534 valgrind_report [ pass ] commit 6271c06a73ce1065ac53a554e42a0049bf77eb53 Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 29 12:50:31 2013 -0500 MDEV-4222: Assertion `( ((global_system_variables.wsrep_on) && (thd && thd->variables.wsrep_on)) && wsrep_emulate_bin_log) || mysql_bin_log .is_open()' fails on SAVEPOINT with disabled wsrep_provider As wsrep_on system variable is ON by default the binlog handlerton is implicitly enabled during the server initialization phase. Later, while wsrep plugin is getting initialized, wsrep_on in corrected & turned OFF in case wsrep provider is not specified (leaving binlog in ON state!). This leads to the reported assertion. Fixed by adding another check for wsrep provider before binlog is enabled. Added a test case. commit 62bd131d06eaf9567e63ea1c508eb07aa758b2e0 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Nov 29 12:27:05 2013 +0200 MDEV-4235: Galera: Assertion `0' fails in tdc_remove_table on creating a trigger Analysis: There is two different THD's using the same table. Fix: In galera brute force (BF) exclusive locks are cancelled. Thus other threads could access the same table. Added additional check if this is the case, then we should not assert here. commit 45f484b8381a5923aec9c704e54c7f7bcfa02a40 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 22:20:32 2013 +0200 fixes for wsrep-5.5 merges commit 447b19a3bf19f9c87e05c51a553c2e90c53cad3c Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 14:45:32 2013 +0200 Ported all remaining storage/innobase changes from lp:codership-mysql/5.6, up tp revision #4021 This is same level as wsrep_25.1 milestone Note: stotage/xtaradb is not upgraded yet commit 21bb5cdfb59629e4d35ba6bfea4d050bf2ec5f9a Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Nov 27 08:43:46 2013 +0200 MDEV-4223: Galera: InnoDB assertion failure !mutex_own(mutex) in file sync0sync.ic line 207 Analysis: Code acquired kernel_mutex when calling wsrep_innobase_kill_one_trx. However, functions below also might take kernel mutex thus the assertion. Fix: Acquire kernel_mutex only for lock_cancel_waiting_and_release where it is really needed. commit 964234412b2f891e0489d79479655d0f46f66cbd Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 01:10:29 2013 +0200 diffed in fix in #3953 from lp:codership-mysql/5.6 commit ae8f0eb1eef45d4a62941836d9681b89bc7cfb7d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 00:54:21 2013 +0200 diffed in the fix from revision #3937 from lp:codership-mysql/5.6 commit 9b16346e84d8201e414a9cb792db777b9407c788 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 00:44:10 2013 +0200 bzr merge -c 3921 lp:codership-mysql/5.6 commit b098b7a84c374ee7e5a133cbf16be643609c1543 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 27 00:18:44 2013 +0200 bzr merge -r3904..3928 lp:codership-mysql/5.5 This is now otherwise on level wsrep-25.9, but storage/innobase has not been fully merged wsrep-5.5 is not good source for that, so we probably have to cherry pick innodb changes from wsrep-5.6 commit 6422d276fa8d1217aa68be1d90c712efa4d71409 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Nov 26 22:09:14 2013 +0200 bzr merge -r3895..3903 lp:codership-mysql/5.5 This is just before 5.5.34 merge in wsrep-5.5 branch commit 480753972a96efa2dd9f59434ed811ffe788f08f Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Nov 26 20:32:38 2013 +0200 MDEV-4233: Galera: assertion: (lock->trx)->wait_lock == lock fails in file lock0lock.c line 796 Analysis: Assertion means that InnoDB transaction lock queue is not correctly set. Reason seams to be the fact that wrong lock is cancelled. Fix: We have selected c_lock to be cancelled. Thus we should cancel and release lock that is waiting for this lock i.e. c_lock->trx->wait_lock. commit 4a11e84414292e852a0968ef871dc90cbd24ae30 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Nov 26 17:03:14 2013 +0200 merge from lp:codership-mysql/5.5 rev #3895 commit a2594e96f7c7fe762a8165916551ae96bcbb869f Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Nov 26 16:48:30 2013 +0200 Merges from lp:codership-mysql/5.5 up to rev #3893, this changes to wsrep API #24 commit 88f0e0ebeeca6194b73e20747cbc004970aeb26c Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Mon Nov 25 12:40:08 2013 -0500 MDEV-4108 Compilation warnings with RelWithDebInfo only present in the Galera tree Fix for some compiler warnings. commit 071edcfea05674f86926ee4c5fbf30f97c2ed368 Merge: 4f85baab95f 160236f880e Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Nov 25 17:14:08 2013 +0200 Merge with MariaDB 5.5.34. commit 4f85baab95f50448930a8c9915f7178aa121e66e Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Nov 25 14:04:49 2013 +0200 Merged revisions 3931--3942 from from lp:~codership/codership-mysql/5.5-23. ------------------------------------------------------------ revno: 3942 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Thu 2013-11-07 17:37:10 +0200 message: References: lp:1248921 - checking if index is foreign earlier to adhere to lat ch order protocol ------------------------------------------------------------ revno: 3941 fixes bug: https://launchpad.net/bugs/1248908 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Thu 2013-11-07 14:31:04 +0200 message: References lp:1248908 - Fixed access to trx sys header Pass trx sys header as argument for trx_sys_update_wsrep_checkpoint() and trx_sys_update_mysql_binlog_offset() to avoid successive calls to trx_sysf_get(). ------------------------------------------------------------ revno: 3940 fixes bug: https://launchpad.net/bugs/1244100 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Tue 2013-11-05 15:31:12 +0200 message: References lp:1244100 - assign value for check_purge before return ------------------------------------------------------------ revno: 3939 fixes bug: https://launchpad.net/bugs/1247978 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Tue 2013-11-05 01:01:36 +0200 message: References lp:1247978 - force release transactional MDL locks if wsrep is on a nd no active transaction at the end of mysql_execute_command() ------------------------------------------------------------ revno: 3938 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-11-03 20:48:06 +0400 message: References lp:1232789 - fix FLUSH STATUS zeroes up wsrep_cluster_size and wsre p_local_index ------------------------------------------------------------ revno: 3937 5kB/s - committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-11-03 17:06:31 +0400 message: References lp:587170 - reset auto_increment_* vars to defaults for TOI operati ons ------------------------------------------------------------ revno: 3936 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-11-03 00:10:45 +0400 message: References lp:1072839 - fix for memory leaks with wsrep variables ------------------------------------------------------------ revno: 3935 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Wed 2013-10-30 14:34:32 +0200 message: References: lp:1246257 - skipping replication for CREATE TEMPORARY TABLE LIKE. .. constructs ------------------------------------------------------------ revno: 3934 6kB/s \ fixes bug: https://launchpad.net/bugs/1241760 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Mon 2013-10-28 11:01:53 +0200 message: References lp:1241760 - save thd->db to wsrep_thd_shadow before replay ------------------------------------------------------------ revno: 3933 fixes bug: https://launchpad.net/bugs/1206129 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-10-27 18:15:12 +0200 message: References lp:1206129 - check binlog_hton->commit() return value, call wsrep_p ost_commit() instead of wsrep_cleanup_transaction() ------------------------------------------------------------ revno: 3932 fixes bug: https://launchpad.net/bugs/1244661 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-10-27 13:14:02 +0200 message: References lp:1244661 - added wsrep_register_hton() to trans_rollback_implicit () ------------------------------------------------------------ revno: 3931 fixes bug: https://launchpad.net/bugs/1244667 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-10-27 11:08:49 +0200 message: References lp:1244667 - restore thd->server_status after replay commit 0e248e62bdaf881f8b07b97e361d44ee30933bc1 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Nov 25 11:09:48 2013 +0200 Merged revisions 2925--3929 from from lp:~codership/codership-mysql/5.5-23 ------------------------------------------------------------ revno: 3929 [merge] fixes bug: https://launchpad.net/bugs/1243150 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Wed 2013-10-23 20:05:01 +0300 message: 8kB/s - References lp:1243150 - initial wsrep hton cleanups * Removed wsrep_seqno_changed boolean * wsrep_cleanup_transaction() is now called explicitly whenever it is clear that transaction has come to an end * wsrep_trans_cache_is_empty() now checks from cache_mngr recardless of command type * Separated call to wsrep->post_commit() to own function, called from transaction.cc whenever appropriate * wsrep_thd_is_brute_force() now investigates only thd->wsrep_exec_mode * More comments and debug time assertions * Debug code to check that wsrep position stored in InnoDB is monotinically increasing. Enabled with UNIV_DEBUG ------------------------------------------------------------ revno: 3928 fixes bug: https://launchpad.net/bugs/1237889 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Tue 2013-10-22 22:01:20 +0300 message: References lp:1237889 - reverting fix in r3926, it broke crash recovery ------------------------------------------------------------ revno: 3927 fixes bug: https://launchpad.net/bugs/1240040 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Tue 2013-10-15 14:46:15 +0300 message: References lp:1240040 - added WSREP_MYSQL_DB as a key for DROP VIEW ------------------------------------------------------------ revno: 3926 fixes bug: https://launchpad.net/bugs/1237889 committer: Teemu Ollakka <teemu.ollakka@codership.com> branch nick: 5.5-23 timestamp: Thu 2013-10-10 14:22:58 +0300 message: References lp:1237889 - register wsrep hton only if thd->wsrep_exec_mode == LO CAL_STATE ------------------------------------------------------------ revno: 3925 fixes bug: https://launchpad.net/bugs/1235635 committer: Alexey Yurchenko <alexey.yurchenko@codership.com> branch nick: 5.5-23 timestamp: Sat 2013-10-05 18:03:06 +0300 message: References lp:1235635 - fixed the warning by initializing c_lock to NULL. commit eb29ce250aaefb359cc9d85419931560f3d74aca Author: Nirbhay Choubey <nirbhay@mariadb.com> Date: Fri Nov 22 14:30:00 2013 -0500 MDEV-3895 Version naming for MariaDB-Galera builds This patch fixes both the reported issues : (1) Included '-wsrep' to the server version information. > select @@version; +-----------------------------+ | @@version | +-----------------------------+ | 5.5.33a-MariaDB-wsrep-debug | +-----------------------------+ (2) The @@version_comment would no longer have XXXX in the wsrep version information in case cmake couldn't determine the current bzr revision. commit 2b4183f10b54a5b3f8c848d897b3107859c23fa4 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 6 00:29:37 2013 +0200 bzr merge -r3890..3891 lp:codership-mysql/5.5 commit 9129c8f1d3e1f8c9daeae559eaf6b9807b4331ec Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 6 00:02:22 2013 +0200 bzr merge -r3889..3890 lp:codership-mysql/5.5 commit eec8297107e52dc80999f3bb067c663149410d4b Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Oct 15 12:03:57 2013 +0300 Fixed performance schema instrumentation on galera and added correct mutexing when cancelling waiting trx on InnoDB commit 1a34a56a9fb990ce09f58392144c8c1dd3cb4483 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Oct 14 11:54:27 2013 +0300 Fix incorrect merge commit 8da8c60d0d852d4839ffd09ba209b3e39eb26280 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Oct 11 16:51:26 2013 +0300 Fix temporary table search commit 37b3d9447733e7e69db71bcd4a64de81caa9bc6b Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Oct 11 12:28:13 2013 +0300 Merge fix for DDL handling commit a0c8679416cb78f2adaf3d556ee66a9b974adc73 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Oct 7 20:18:58 2013 +0300 Added correct mutexing on trx handling. commit f222e7d471079cd164d6cc822fce311b67b92ecd Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Oct 7 11:35:19 2013 +0300 Merge fixes, now at level 3430 in mariadb-galera-5.5 commit 61bda9a2f0017b1fbe88c63a0ada68ad1024a72c Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Oct 7 09:43:19 2013 +0300 Merged revisions 3425..3430 from mariadb-galera-5.5 commit 255e20a17534cf3b56201562990d5e5e01bccd33 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Oct 7 08:57:23 2013 +0300 Merged revisions 3418..3424 from mariadb-galera-5.5 commit 06a7eeb992fe881f056fe83a8b716b3a81f224ff Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Oct 7 00:18:26 2013 +0300 Merged revisions 3411..3417 from mariadb-galera-5.5 commit 337fdb80f3edf3c6fdb47fbd06d044abbafc7041 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun Oct 6 23:59:20 2013 +0300 Merged revisions 3409..3411 from mariadb-galera-5.5 commit 089f10feb41e42c034f1431d4e639388fa63e5ed Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun Oct 6 23:54:18 2013 +0300 Merged #3909 from mariadb-galera-5.5 commit 20afd6b1c3f39e6ae9cfb4e2e63a2ae0028a99fe Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Oct 1 00:28:54 2013 +0300 References lp:587170 - merged fix in from wsrep-5.5-23 branch This branch is now in position 3924 in wsrep-5.5-23 commit 4e00dd68612806e03494921bb573de470fa3e64b Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Sep 30 23:14:31 2013 +0300 References: lp:1233353 - releasing explicit MDL locks for BF aborted transactions commit 239dcdaa909cba065b9e6c83e59baef25a35eb58 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun Sep 29 23:53:10 2013 +0300 References lp:1232890 - Rows_log_event type cast only for row events commit 370a67679cc886f512d1f076a00a29e68abed900 Author: Sergei Golubchik <sergii@pisem.net> Date: Fri Sep 27 22:32:49 2013 +0200 revert the change for auto-rpm-packages for plugins. galera tree should only build galera-server package commit decd08408b7802543cd953c2f6b396e70ee865d2 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Sep 27 17:07:44 2013 +0300 Fix merge error. commit 6a6522319316204bbe46d52140151935ecde938f Merge: 8ad1b5b1086 28ec372744e Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Sep 27 13:48:58 2013 +0300 mariadb-5.5.33a merge commit 8ad1b5b1086b6791b95a33c664184bfb56993d94 Author: Jan Lindström <jplindst@mariadb.org> Date: Fri Sep 27 13:01:14 2013 +0300 Updated test results because of new system variables and a new lock variable. commit ac5d1d761adaae3200559f64b61d6ecd5b005f04 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Sep 26 17:51:01 2013 +0300 Merged revisions 3916--3921 from lp:~codership/codership-mysql/5.5-23 ------------------------------------------------------------ revno: 3921 fixes bug: https://launchpad.net/bugs/1228149 committer: Alexey Yurchenko <alexey.yurchenko@codership.com> branch nick: 5.5-23 timestamp: Mon 2013-09-23 18:29:42 +0300 message: References lp:1228149 - fixing typos. ------------------------------------------------------------ revno: 3920 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Fri 2013-09-20 15:43:18 +0400 message: References lp:1201893 - remove setenv("WSREP_LOG_DIR") from ha_innodb.cc ------------------------------------------------------------ revno: 3919 tags: wsrep_23.7.6 fixes bug: https://launchpad.net/bugs/1087368 committer: Alexey Yurchenko <alexey.yurchenko@codership.com> branch nick: 5.5-23 timestamp: Thu 2013-09-19 06:00:43 +0300 message: References lp:1087368 - fix to preserve the order of options in case --wsrep-new-cluster is i n the middle of option list ------------------------------------------------------------ revno: 3918 committer: Alexey Yurchenko <alexey.yurchenko@codership.com> branch nick: 5.5-23\ timestamp: Wed 2013-09-18 23:22:55 +0300 message: bumped wsrep patch version number to 7.6 ------------------------------------------------------------ revno: 3917 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Wed 2013-09-18 20:11:39 +0400 message: References lp:1218944 - wsrep_sst_rsync now recognizes log_group_home_dir ------------------------------------------------------------ revno: 3916 fixes bug: https://launchpad.net/bugs/1224775 committer: Alexey Yurchenko <alexey.yurchenko@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-09-15 21:29:57 +0300 message: References lp:1224775 - reworked wsrep_recover to create temporary log file in $DATADIR. Plus cleaned up that function slightly. commit c72126e043c42ccbc3e0e138dc3aef3950959158 Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Sep 26 16:43:49 2013 +0300 Merge revisions 3907--3914 from lp:~codership/codership-mysql/5.5-23 ------------------------------------------------------------ revno: 3914 3kB/s | committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Thu 2013-09-12 15:00:46 +0400 message: References lp:1217653 - fix index-id evaluation of FOREIGN KEY, when referenced table without PRIMARY KEY ------------------------------------------------------------ revno: 3913 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Wed 2013-09-11 13:58:02 +0400 message: References lp:1217653 - fix index-id evaluation of FOREIGN KEY, when referenced table without PRIMARY KEY ------------------------------------------------------------ revno: 3912 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Fri 2013-09-06 13:13:48 +0300 message: References: lp:1212955 - releasing MDL after failed BEGIN and "SET AUTOCOMMIT" ------------------------------------------------------------ revno: 3911 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Wed 2013-09-04 10:52:31 +0300 message: References: lp:1123233 - avoiding to set wsrep_seqno_changed for replaying transactions Note, also missing transactions don't declare seqno_changed anymore. Earlier they would have caused crash at wsrep_cleanup_transaction phase. ------------------------------------------------------------ revno: 3910 [merge] committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Tue 2013-09-03 15:27:02 +0400 message: References lp:1049599 - expose desync functionality to the client ------------------------------------------------------------ revno: 3909 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Tue 2013-09-03 09:41:08 +0300 message: References: lp:1123233 - rollback for transaction which has not appended key information ------------------------------------------------------------ revno: 3908 committer: Vladislav Klyachin <vladislav.klyachin@codership.com> branch nick: 5.5-23 timestamp: Sun 2013-09-01 13:29:12 +0400 message: lp:1201893 - fix command for default IP address ------------------------------------------------------------ revno: 3907 committer: Seppo Jaakola <seppo.jaakola@codership.com> branch nick: wsrep-5.5-23 timestamp: Thu 2013-08-29 12:16:42 +0300 message: References: lp:1212955 - releasing transactional MDL locks after commit failures (e.g. certification failure). commit bfbb0ff3bc3d3c59c5e56df7260aa3f2fdf4a67a Author: Jan Lindström <jplindst@mariadb.org> Date: Thu Sep 26 14:10:47 2013 +0300 Fixed merge error on rollback to savepoint commit 745239fd29d88ead433dddf39e4b369776efe62b Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Sep 25 10:42:05 2013 +0300 After merge fixes commit 77fae5af0065664c3b90eebc4a0dbc4bd48efa3a Author: Sergei Golubchik <sergii@pisem.net> Date: Thu Sep 19 09:21:17 2013 +0200 updated test results commit 427daab74f22450c11b5f517d4ae5a041ac61811 Author: Sergei Golubchik <sergii@pisem.net> Date: Wed Sep 18 20:55:58 2013 +0200 fix broken (after merge) galera deb packaging commit c3d635bdc3becb736473a8f1f2a8c5ff886fe450 Author: Sergei Golubchik <sergii@pisem.net> Date: Wed Sep 18 14:59:51 2013 +0200 cmake error on osx commit 909775a7623505bea1b42327c7ce592b649dcdab Merge: 39f82b4e6eb 6d06ccbe538 Author: Sergei Golubchik <sergii@pisem.net> Date: Wed Sep 18 12:00:23 2013 +0200 mariadb-5.5.33 merge commit 9c85ced30dc4f6d28b4fe7ad1b73ca76f3c43a44 Author: Jan Lindström <jplindst@mariadb.org> Date: Mon Sep 9 10:38:58 2013 +0300 Merge fix. commit 0880db56407c8eb2d8cd7804471ee2fd5662d150 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Sep 4 09:54:40 2013 +0300 Fix merge error commit 6e8bfb0b26b35d2a767f0e47e7d6857b0786e529 Author: Jan Lindström <jplindst@mariadb.org> Date: Wed Sep 4 08:47:05 2013 +0300 Fixed merge errors and XA prepare commit ba3ff50ab2bfabab6a4307282f92854f6efe6382 Merge: 81739d308fe c8b87ca16f0 Author: Jan Lindström <jplindst@mariadb.org> Date: Tue Sep 3 17:50:36 2013 +0300 Merge 10.0 to galera-10.0 commit 39f82b4e6ebed949ba17fe4884d96471574c1da1 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Aug 27 23:40:49 2013 +0300 References: MDEV-4953 Calling ha_start_of_new_statement() for all table handlers under partition engine. This will enable innodb transactions to be declared as read/write. commit f68a7611d10083d72e358915f8fbe1258b7b7946 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Aug 27 09:06:04 2013 +0300 References lp:1216904 - guaranteeing native "create table like.." processing when running without wsrep provider Merged the fix from lp:~codership/codership-mysql/5.5-23, rev 3906 commit c942889d41e38eedc93bcf9106e9583b9015af47 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Aug 23 12:21:00 2013 +0300 References: lp:1206129 - Merged revision 3904 from lp:~codership/codership-mysql/5.5-23 enable LOAD DATA transaction splitting Added new global variable: wsrep_load_data_splitting to control if splitting is wanted or not commit fca065f95c3f62b0f6ec8448f7dcda40d73eb433 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Aug 21 17:17:30 2013 +0300 Merged with lp:~codership/codership-mysql/5.5-23, up to revision 3903 commit 2db87f65167c389c191336672e7ae1ddc65c8436 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Aug 21 16:37:22 2013 +0300 References MDEV-4404 - Added log message to catch information of log event corruption commit 4222b2520bdea2be41b50b888f930a63f5af8991 Merge: 551ad1cf6f8 c7973615e72 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Aug 21 16:34:31 2013 +0300 Merge with mariadb 5.5: bzr merge lp:maria/5.5 --rtag:mariadb-5.5.32 commit 551ad1cf6f80ad1fab35746eee304d733baa9adf Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Aug 7 00:17:16 2013 +0300 Merged FreeBSD compatibility changes (up to revision 3893 in lp:~codership/codership-mysql/5.5-23) commit 7cf10ddf8ca7044278b4aa1cf5a5525675cd101d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Aug 5 18:01:05 2013 +0300 References lp:1208493 https://mariadb.atlassian.net/browse/MDEV-4830 Enabling slave applier thread to send COND_thread_count commit 81739d308fee0317e56bd70d97e3429ece83dd4b Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Jul 16 12:09:38 2013 +0300 Initial fixes after mariadb 10 merge, basic replication works now commit db0cfba638383569b1e30765e2d36e0707bfb930 Merge: 0a9216835f4 a057b504904 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Jul 13 13:30:03 2013 +0300 Merged with lp:maria revision #3766 commit 0a9216835f406947fb4d492616da4cda75e5e113 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Jul 13 13:01:13 2013 +0300 Initial merge result with mariaDB 10: lp:maria commit 93ed851cc63ce2510c26c656e55e0e1dc28f99f9 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Jun 20 21:51:11 2013 +0300 References lp:1193079 - bumped wsrep version to 7.5 commit 862c6b219e672a39d24db6555084ad6e3a1cbbfd Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Jun 19 10:35:40 2013 +0300 References lp:1191778 - merged xtrabackup SST fixes from PXC commit 6793d7f1146639f03e3d860bcd668ba2e2d028eb Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun Jun 16 20:38:02 2013 +0300 References lp:1134892 - WSREP_DEBUG_PRINT was left on by mistake commit 1c09bbfe3dedb0b11ebbfc5eb4b774f44b321d9a Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Jun 15 16:16:38 2013 +0300 References lp:1087368 - merged fix from wsrep-5.5 branch. Note this is compatible only with new wsrep provider #23 libraries, which understand 'bootstrap' address in connecting. commit 527ce30cf3aa517816d9bd87dc99c1f6967cf7f5 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Jun 15 16:15:45 2013 +0300 References: MDEV-4572 - merge with lp:codership-mysql/5.5-23 revisions 3874..3878 commit 7d2a0e9da45fb66659493767fa3adda1e7ef499d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Jun 15 16:15:17 2013 +0300 References lp:1108035 - merged fix from http://bazaar.launchpad.net/~percona-core/percona-xtradb-cluster/release-5.5.31/revision/394 commit 3fa8559debb41102089788bcbe575d887a25dffd Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Fri Jun 14 22:01:18 2013 +0500 MDEV-4656 MariaDB-Galera deb packages cannot be built, expected files are missing. Kristian changed the install directory for these files to share/mysql. (that was changeset 3334.1.345 Fix wrong install location for DEB supportfiles.) But dist/mariadb-galera-server.files weren't changed accordingly. Here we fix them. commit 4107af8810c49dcf17ade88342179594eb1ca040 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Jun 13 10:22:37 2013 +0300 References: lp:1182441 - merged fix from revision: http://bazaar.launchpad.net/~percona-core/percona-xtradb-cluster/release-5.5.31/revision/416 commit b0d30e234efeddd4b1ee62e89b510b5d64a5ec07 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Jun 13 09:55:28 2013 +0300 References lp:1169326 - merged fix from LP wsrep-5.5-23 Now at revision 3874 in lp:~codership/codership-mysql/5.5-23 commit bf9d5b7f64f6e1c8b679dc941d7d1537cfccee65 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Jun 13 09:49:48 2013 +0300 References: lp:1134892 MDEV-4624 - merged fix from LP wsrep-5.5-23 commit 71509626d2ef792ace47faccbbfff9a294648411 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Jun 13 09:44:34 2013 +0300 References: lp:1187526 - merged fix from wsrep-5.5-23 commit 7e0db6be56dd8f5f4343ebfe4d3c7ac225f38a01 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Jun 12 17:07:48 2013 +0500 MDEV-4600 mariadb-galera-server-5.5 on ubuntu has no dependency to galera while debian has. dependency on galera added to the Ubuntu packaging script. commit f37231cf46a8586c96462bee63ae3726961d7f1c Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon May 27 23:03:08 2013 +0300 References: MDEV-3924 lp:1088267 - merged fix from lp:codership-mysql commit 24fd60895bb57918247f7e01d977223207a95319 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon May 27 22:51:22 2013 +0300 References lp:1012138 - merged fix from lp:codership-mysql commit bd0eae595fc5d050913ea01bd4c6a8e47f379176 Merge: 9d1546fe2cd cb246b20d6e Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun May 26 11:26:58 2013 +0300 References: MDEV-4572 - merge with mariaDB 5.5.31 bzr merge lp:maria/5.5 -rtag:mariadb-5.5.31 Text conflict in cmake/cpack_rpm.cmake Text conflict in debian/dist/Debian/control Text conflict in debian/dist/Ubuntu/control Text conflict in sql/CMakeLists.txt Conflict adding file sql/db.opt. Moved existing file to sql/db.opt.moved. Conflict adding file sql/db.opt.moved. Moved existing file to sql/db.opt.moved.moved. Text conflict in sql/mysqld.cc Text conflict in support-files/mysql.spec.sh 8 conflicts encountered. commit 9d1546fe2cdced5efb4af831fa2e560b7f80fb54 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat May 25 12:22:57 2013 +0300 References: MDEV-4572 - merge with lp:codership-mysql/5.5-23 revisions 3858..3867 commit 48af4be62a077f5edfadc9b5ea4f6c8c4b00c469 Merge: e95fdb74ab8 421c885446d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri May 24 15:29:01 2013 +0300 References: MDEV-4572 - merge with mariaDB 5.5.30 commit e95fdb74ab85bf24b805c1d4ead8c3d3a791b79a Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue May 21 00:10:35 2013 +0300 merged in revisions 3853..3857 from lp:codership-mysql/5.5-23 commit 3e841b77e0b683bcf16546eeef8c286150ed2b6f Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Mar 26 16:40:02 2013 +0200 References: MDEV-4328 - avoiding race condition for wsrep_format_desc access commit 972acdb16484ec6b533d7bc6fabeec32a9e6ecc3 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Mar 5 00:01:20 2013 +0200 References: lp:1144911 - merged fix for prepared statement processing from upstream. Merged fix is revision 3853 in lp:~codership/codership-mysql/5.5-23 commit 4174f1a47437dff6614f01c75651b371d8fcb876 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Mar 4 23:01:36 2013 +0200 References: MDEV-4211 - appended format description event for TOI replication write set, FD carries binlog checksum algorithm commit 7ba8b2ae4933850c841a3dfa2bb4515aca6062be Author: Elena Stepanova <elenst@montyprogram.com> Date: Sun Mar 3 03:22:48 2013 +0400 MDEV-4232 : percona.innodb_sys_index fails due to a wrong version_comment commit 55da5f1fbf76057acfcab204de557c4d4eaf1956 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sat Mar 2 12:23:08 2013 +0200 References: lp:1136303 - adapting wsrep status variable usage according to wsrep provider version 2.2 behavior commit 3af84bb4732b1fc998f9fd36e89bc9d2589ce8e6 Author: Daniel Bartholomew <daniel@gandalf> Date: Thu Feb 28 21:25:56 2013 -0500 Removed the obsolete instructions from the MySQL 5.1 manual. Instead provide a link to https://kb.askmonty.org/en/compiling-mariadb-from-source/ commit 797482cc54f2fb696a104f882056feefa179e810 Author: Daniel Bartholomew <daniel@gandalf> Date: Thu Feb 28 21:25:04 2013 -0500 Added a MariaDB Galera Cluster section to the beginning of the README. commit 518ced3a78e027eadb92c66c9f100c0ce16b5851 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 26 22:19:54 2013 +0200 References: https://bugs.launchpad.net/codership-mysql/+bug/1084702 https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1019473 Merged revisions 3851-3852 from lp:~codership/codership-mysql/5.5-23 commit 2b0f16c577130c5085c94d99273570fd583af7d1 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 26 01:03:21 2013 +0200 References: https://mariadb.atlassian.net/browse/MDEV-4179 https://bugs.launchpad.net/codership-mysql/+bug/1130888 https://bugs.launchpad.net/codership-mysql/+bug/1019473 Merged revisions 3847-3850 from lp:~codership/codership-mysql/5.5-23 commit 68154e62b1b3d0ff2552b8503523d81459c30327 Author: Elena Stepanova <elenst@montyprogram.com> Date: Mon Feb 25 23:05:31 2013 +0400 MDEV-4202: innodb.innodb-autoinc fails due to missing wsrep-specific variable in the result file commit 91cd73104f0755a8c91becc3300aaa8311752e3d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Feb 21 10:16:47 2013 +0200 References https://mariadb.atlassian.net/browse/MDEV-4185 - thread terminate was blocked for non-wsrep threads commit 7144f7f2d17bdf03fbd28dfdd6b4d6bf689e7aaa Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Sun Feb 17 00:22:40 2013 +0200 References https://mariadb.atlassian.net/browse/MDEV-4176 Avoiding ha_kill_query for aborts initiated by replicator commit 2a6aa0a312ed44f0806d878a8f5b315b71ab1cfd Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Feb 15 15:51:02 2013 +0200 References https://mariadb.atlassian.net/browse/MDEV-4136 Fixes to stop wsrep replicator when thread pool scheduler is in use commit 53f5ea24313909f0aebaa5640a16edce4bbe1390 Author: Sergei Golubchik <sergii@pisem.net> Date: Thu Feb 7 19:01:19 2013 +0100 restore changes that were lost in the merge commit 3f847afe4c7b1a26b73a4c9e38362278ea003640 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Feb 7 17:40:32 2013 +0200 References: MDEV-4142 Merged revision 3846 from lp:codership-mysql/5.5-23 commit f64a2c9970e4db2ab0880b8eb58d2329bd1bb81a Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Feb 6 00:46:10 2013 +0200 wsrep build scripts commit 96baf431afdcebcab23733e22e99d04f27f17411 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Feb 6 00:10:54 2013 +0200 References lp:1115708 - merged innodb wsrep changes to xtradb between revisions 3809...3845 commit e51a884e9c364a1c5276754871cf7267316c392c Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 22:48:40 2013 +0200 References lp:1115708 - merged with wsrep branch, revision 3845 bzr merge -r3840..3845 lp:~codership/codership-mysql/5.5-23 commit 18c97eea5cc53962c5148eb9f42d6764c8629949 Merge: d5dc568f9be bfd179e8ed5 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 20:19:47 2013 +0200 References lp:1115708 - merged with lp:mariadb/5.5 revision 3657 commit d5dc568f9be19c5b3f0d003ec6a71a610fd32212 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 19:20:47 2013 +0200 fixes for the merge with codership-mysql, revision 3839 commit 800fa186e3ab77ee93e75e929fe7917983e607e9 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 17:54:42 2013 +0200 merged with codership-mysql up to revision 3839 bzr merge -r3810..3839 lp:codership-mysql/5.5 commit 9da9a242faf1fd7b2f45dc0561e5bf742a7be47b Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 16:54:50 2013 +0200 remerging wsrep files from lp:codership-mysql commit f2837a3b33da3282b344a4adb442d12163d29e29 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 16:49:51 2013 +0200 remerging wsrep files from lp:codership-mysql commit e0c6a87b997509f9eb282988cfb097e30b4c9749 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Feb 5 15:48:54 2013 +0200 re-merging wsrep files from lp:codership-mysql commit db7495822940b5c95f10ff5b1e6273701e868436 Author: Elena Stepanova <elenst@ubuntu11.home> Date: Mon Feb 4 00:30:15 2013 +0400 MDEV-508 - wsrep revno can be either a number or XXXX, test should be able to handle both commit c40abe9df0b759e2f8ba44b342eba4cfe2ca6388 Author: Elena Stepanova <elenst@ubuntu11.home> Date: Sun Feb 3 04:03:08 2013 +0400 MDEV-508 (Wrong MTR result files in MariaDB-Galera) commit ffc82ab60665ae910950022811370d7db49b41ea Author: Sergei Golubchik <sergii@pisem.net> Date: Thu Dec 20 12:34:37 2012 +0100 update test cases and results commit b52dfd71b537dd7b82182d14d6dd6728d7a9c6e5 Merge: c194027f227 4df29fef362 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Dec 13 18:01:50 2012 +0400 merging. commit c194027f2271aad12624761d770551d837167a4b Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Dec 13 17:48:46 2012 +0400 MDEV-507 Galera Deb/RPM packages. Add new wsrep-related files to the DEB packages. commit 4df29fef362389f3fe64da4880af7050396baa94 Merge: fc6cd855e9d 7c5f62a313d Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Nov 30 13:36:29 2012 +0200 References: lp:1066784 - Merged with MariaDB 5.5.28a bzr merge -r tag:mariadb-5.5.28a lp:maria/5.5 ...no conflicts commit 28d9d0c7a8bc141daa4f881b5b2a4c474b550c58 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Thu Nov 29 14:50:52 2012 +0400 MDEV-3893 mariadb-galera-server deb package cannot be installed on a mysql-free machine. Fixed templates for messages. commit fc6cd855e9dd1b89a45f6584b3bd21ddc1f60607 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Nov 28 17:38:32 2012 +0200 References: lp:1066784 - Merged revisions 3810-3827 from lp:codership-mysql commit fe0188166804de8cfb2ab9598ce58f786ba47eb7 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Nov 28 17:15:46 2012 +0400 MDEV-507 deb/rpm packages for Galera. Ubuntu 'control' file fixed. commit 8ef2eb445431706cbf41849b35b9a40450f08a03 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Nov 27 16:32:01 2012 +0400 MDEV 507 deb/rpm packages for galera builds. lindian-overrides files fixed. commit 30be3f7f1203c45688d51f93ae0a00e4c19276a5 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Tue Nov 27 16:22:10 2012 +0400 MDEV-507 deb/rpm packages for galera builds. If settings are not suitable for the WSREP, just turn it off and keep working. commit ab6d729816b2877bfe76b7163b1322ac8b83153a Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Mon Nov 19 13:01:38 2012 +0400 MDEV-507 deb/rpm packages for galera builds. Debian packaging, part II. Changes in the set of package-related files. Some were removed, some renamed, as we only keep the mariadb-galera-server package. commit c9c458fa6e2e215c783794b11b30ed3a27904383 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Sun Nov 18 18:07:02 2012 +0400 MDEV 507 deb/rpm packages for galera builds. Debian/Ubuntu packages fixed. The mariadb-server-5.5 and mariadb-server packages became mariadb-galera-server-5.5 and mariadb-galera-server respectively. The rest of packages are removed from the build. This patch reflects only files that were changed. Second part of this patch has only file renaming/deletions. commit 9b47a442b5452cb6c541e312f78746e7739e9f42 Merge: ef6f9a82508 797082ca712 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Oct 24 23:13:43 2012 +0300 References lp:1066784 - bzr merge lp:maria/5.5 (rev: 3562) commit ef6f9a8250804efb047ad6f28e476c59d7223e85 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Oct 23 22:38:11 2012 +0300 References lp:1066784 merged with patch: bzr diff lp:codership-mysql/5.5 -r3795..3809 commit 20df56c1002e809daa68fa7431a9dd7e3d899642 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Sep 20 09:35:22 2012 +0300 References lp:1051808 lp:1049024 https://mariadb.atlassian.net/browse/MDEV-541 patched with: bzr diff lp:codership-mysql/5.5 -r3794..3795 commit 6475ef7db3efff08da352cc90b55c4295c1bd6c2 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Sep 19 00:23:06 2012 +0300 References lp:1052668 - DBUG macro issue in start_wsrep_THD merged fix from upstream: bzr diff lp:codership-mysql/5.5 -r3793..3794 commit 42b69efd5df8318a5d74edf32d4bba07454e1449 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Sep 18 22:49:13 2012 +0300 References lp:1051808 - merged with lp:codership-mysql 5.5.27 based trunk patched with: bzr diff lp:codership-mysql/5.5 -r3790..3793 commit 076f2f322e6e983f69c73878c9d56dde964d1d59 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon Sep 17 17:42:14 2012 +0200 really disable embedded server in galera builds commit 456b01b09b7675396fbf8525b0bbaa497a7fa0a4 Author: Sergei Golubchik <sergii@pisem.net> Date: Mon Sep 17 15:33:19 2012 +0200 MDEV-507 deb/rpm packages for galera builds rpm part: only build the server rpm, not client or shared or anything else commit 7b791250a1d2f293da83533fc332fd1d80f665a1 Merge: f4862acfc38 6f94b5c76d5 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Sep 17 12:31:38 2012 +0300 References lp:1051808 - merged with lp:maria/5.5 bzr merge lp:maria/5.5 ... Text conflict in CMakeLists.txt Text conflict in sql/mysqld.cc Text conflict in sql/sql_class.h Text conflict in sql/sql_truncate.cc 4 conflicts encountered. commit f4862acfc389864f99100f66abe905c1f5be9e80 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Sep 17 12:06:39 2012 +0300 References lp:1051808 - merged with lp:codership-mysql 5.5.27 based trunk merged xtradb storage engine part commit 0892c7ec5d7bbca00e042047c4220e6830491c37 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Mon Sep 17 11:34:57 2012 +0300 References lp:1051808 - merged with lp:codership-mysql 5.5.27 based trunk patched with: bzr diff lp:codership-mysql/5.5 -r3779..3790 commit 5f76c15a3b5c4f39370fe21764088ee88dab9f47 Author: Sergei Golubchik <sergii@pisem.net> Date: Sat Sep 8 09:51:16 2012 +0200 MDEV-507 deb/rpm packages for galera builds rpm part. commit 02abef584c607667395bbfc3686b7c7063f57206 Author: Vladislav Vaintroub <wlad@montyprogram.com> Date: Tue Sep 4 22:13:46 2012 +0200 Fixes for galera build - compile with WITH_WSREP on - fix package name commit 8e84b9e740ff3641f1fc500a616962cb3bc75a64 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Aug 30 12:22:37 2012 +0300 Merged in change sets 3772-3779 from lp:codership-mysql/5.5 commit ebfa24b1d24377a241b79883da96969a9150f22c Merge: 1fd2e10736d a7123f50759 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Aug 9 01:47:21 2012 +0300 References lp:1034621 - Merge up to mysql-5.5.25 level merged codership-mysql/5.5 revisions: bzr diff -r3759..3767 merged codership-mysql/5.5 revisions: bzr diff -r3768..3771 commit 1fd2e10736d6fd198e62054cb9006a3dc13fd55e Author: jani <jani@work> Date: Mon Jul 23 11:15:59 2012 +0300 New version of mysqld_multi. Building Galera tree fully first time in buildbot commit f97e67ffaae5c49e207cc6436684d3fbe218ab46 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Wed Jun 13 00:23:32 2012 +0300 References lp:1011983 Merged from codership-mysql/5.5 revision 3758 commit b96af9a3abe792c8711d59b693509ccd0677a150 Merge: 33ffe0dd29b 9892ace4757 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Jun 12 16:34:18 2012 +0300 references lp:1011983 Merged latest MariaDB development in: bzr merge lp:maria/5.5 => Text conflict in CMakeLists.txt Text conflict in sql/handler.h Text conflict in support-files/CMakeLists.txt 3 conflicts commit 33ffe0dd29b6564e49dde8b1abda914da4b2f178 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Tue Jun 12 10:55:11 2012 +0300 References lp:1011983 Merged from codership-mysql/5.5 changes revisions 3743-3756 commit 609388fcfd912c9c2cb03a92251469a25a781893 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Apr 26 20:18:30 2012 +0300 Merged changes from lp:codership-mysql up to rev 3743 -r3725..3737 -r3738..3740 -r3741..3743 commit e0015163515d1fe5d3747c6f859461a30c2ecfd6 Merge: f96fd3f40f3 b6ad03cde93 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Apr 26 13:59:35 2012 +0300 Merge with mariaDB 5.5.23: bzr merge lp:maria/5.5 commit f96fd3f40f37c0080e71e45f85e53bd156aa27f5 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Thu Apr 26 13:09:06 2012 +0300 Added wsrep specific files commit 2fc1ec43560b453b4694adbc1aac11f3f23b1761 Author: Seppo Jaakola <seppo.jaakola@codership.com> Date: Fri Apr 13 01:33:24 2012 +0300 Initial push of codership-wsrep API implementation for MariaDB. Merge of: lp:maria/5.5, #3334: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3334 lp:codership-mysql/5.5, #3725: http://bazaar.launchpad.net/~codership/codership-mysql/wsrep-5.5/revision/3725
| | | | * | Merge branch 'merge-perfschema-5.6' into 10.0Vicențiu Ciorbaru2017-10-261-2/+4
| | | | |\ \
| | | | | * | 5.6.38Vicențiu Ciorbaru2017-10-251-2/+4
| | | | | | |
| | | | * | | Merge branch 'merge-innodb-5.6' into 10.0Vicențiu Ciorbaru2017-10-2633-70/+196
| | | | |\ \ \
| | | | | * | | 5.6.38Vicențiu Ciorbaru2017-10-2511-42/+192
| | | | | | | |
| | | | * | | | Merge 5.5 into 10.0Marko Mäkelä2017-10-2624-36/+36
| | | | |\ \ \ \
| | | | | * | | | MDEV-12569 InnoDB suggests filing bugs at MySQL bug trackerMarko Mäkelä2017-10-2626-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all references in InnoDB and XtraDB error log messages to bugs.mysql.com with references to https://jira.mariadb.org/.
| | | | * | | | | Remove comments to removed parametersMarko Mäkelä2017-10-251-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MariaDB did not import the Oracle Bug #23481444 (commit 6ca4f693c1ce472e2b1bf7392607c2d1124b4293) from MySQL. Initially, the code changes were disabled, and later removed. Let us remove the last remaining references.
| | * | | | | | | MDEV-12474 - Fails in fulltestSergei Petrunia2017-10-267-62/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply fix for https://github.com/facebook/mysql-5.6/issues/748 A few tests in rocksdb suite fail with --ps-protocol They fail because --ps-protocol uses different data format on the wire. Work around that by doing a dummy CONCAT operation which forces the data to be transfered in text form (like it is done without --ps-protocol)
| | * | | | | | | MDEV-12569 InnoDB suggests filing bugs at MySQL bug trackerMarko Mäkelä2017-10-267-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all references in InnoDB error log messages to bugs.mysql.com with references to https://jira.mariadb.org/.
| | * | | | | | | Make debug multi thread safeMonty2017-10-261-25/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes crashes in InList when calling _db_set_init (part of SET debug_dbug in the test suite) from another thread. Patch backported from 10.3
| | * | | | | | | Merge pull request #475 from grooverdan/10.2-no_recv_sys_mem_freeMarko Mäkelä2017-10-261-29/+0
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | innodb: remove recv_sys_mem_free - unused
| | | * | | | | | | innodb: remove recv_sys_mem_free - unusedDaniel Black2017-10-261-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
| | * | | | | | | | MDEV-13836 mariadb_config & mysql_config output differSergei Golubchik2017-10-261-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compile C/C with system zlib, when the server uses system zlib
| | * | | | | | | | update C/CSergei Golubchik2017-10-261-0/+0
| | | | | | | | | |
| | * | | | | | | | Merge branch 'connect/10.2' into 10.2Sergei Golubchik2017-10-2637-444/+399
| | |\ \ \ \ \ \ \ \
| | | * | | | | | | | - Typo (from 10.1) Modified: storage/connect/value.cppOlivier Bertrand2017-10-171-39/+38
| | | | | | | | | | |
| | | * | | | | | | | - Fix a bug in TYPVAL<PSZ> compute causing it sometime not to be executedOlivier Bertrand2017-10-167-19/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was the cause of the bug in CalculateArray modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/value.cpp - Avoid some compiler warnings modified: storage/connect/mongo.cpp modified: storage/connect/tabjmg.cpp modified: storage/connect/tabtbl.cpp modified: storage/connect/tabutil.cpp
| | | * | | | | | | | - Make another temporary fix for the compiler bug in CalculateArrayOlivier Bertrand2017-10-162-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp