summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert d9bc5e03d788b958ce8c76e157239953db60adb2 from Oracle (in XtraDB)Vicențiu Ciorbaru2017-09-193-33/+5
|
* Revert Bug #25175249 ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD) || (FIELD && ↵Vicențiu Ciorbaru2017-09-191-20/+3
| | | | | | FIELD->PREFIX_LEN ? FIELD We don't want this in innodb/xtradb
* Merge branch 'merge-xtradb-5.6' into 10.0Vicențiu Ciorbaru2017-09-198-35/+147
|\
| * 5.6.37-82.2Vicențiu Ciorbaru2017-09-198-55/+179
| |
* | Merge branch 'merge-tokudb-5.6' into 10.0Vicențiu Ciorbaru2017-09-1910-366/+100
|\ \
| * | 5.6.37-82.2Vicențiu Ciorbaru2017-09-1910-348/+100
| | |
* | | Fix fall-through warningVicențiu Ciorbaru2017-09-191-1/+1
| | |
* | | Fix connect merge problemsVicențiu Ciorbaru2017-09-194-51/+9
| | | | | | | | | | | | | | | | | | * CMakeLists.txt erroneous duplicated lines. * Unneded differences in tabjson.cpp * Unneded space differences in jdbconn.{cpp|h}
* | | Merge connect/10.0 into 10.0Vicențiu Ciorbaru2017-09-19149-3188/+42806
| | | | | | | | | | | | This is a squashed merge.
* | | Fix merge errorVicențiu Ciorbaru2017-09-191-2/+2
| | |
* | | Merge branch '5.5' into 10.0Vicențiu Ciorbaru2017-09-1910-26/+79
|\ \ \
| * \ \ Merge remote-tracking branch 'merge/merge-xtradb-5.5' into 5.5Vicențiu Ciorbaru2017-09-192-2/+2
| |\ \ \
| | * | | 5.5.57-38.9merge-xtradb-5.5Vicențiu Ciorbaru2017-09-192-2/+2
| | | | |
| * | | | Do not stop repeating a test even if some executions are skippedElena Stepanova2017-08-181-2/+1
| | | | |
| * | | | MDEV-11240: Server crashes in check_view_single_update or Assertion ↵Oleksandr Byelkin2017-08-163-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `derived->table' failed in mysql_derived_merge_for_insert Before "merge" view shoud be inited to maintaing transitive attributes like "multitable".
| * | | | MTR's internal check of main.log_tables-big failedElena Stepanova2017-08-152-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test wasn't restoring log_output properly. Also added output of query_time in case of wrong result, to investigate the failure described in MDEV-13408
| * | | | MDEV-13458: Wrong result for aggregate function with distinct clause when ↵Varun Gupta2017-08-094-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the value for tmp_table_size is small Fixed by making sure that the sort buffer would have atleast MERGEBUFF2 keys. Also fixed MDEV-13457 by making sure that an empty tree is never dumped to the disk
* | | | | Windows : support vsjitdebugger in MTR's --debugger.Vladislav Vaintroub2017-09-151-1/+1
| | | | |
* | | | | Windows : fix a warning in popular header fileVladislav Vaintroub2017-09-152-2/+2
| | | | |
* | | | | MDEV-13685 Can not replay binary log due to Illegal mix of collations ↵Alexander Barkov2017-09-155-1/+84
| | | | | | | | | | | | | | | | | | | | (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
* | | | | Merge branch 'bb-10.0-wlad' into 10.0Vladislav Vaintroub2017-09-0913-119/+103
|\ \ \ \ \
| * | | | | Build improvements and cleanups.Vladislav Vaintroub2017-09-0813-119/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the probably ultimate fix for dependencies on VS - remove some GET_TARGET_PROPERTY(LOCATION ...), they are deprecated in cmake 3.9 - simplify signing targets on Windows. - remove INSTALL_DEBUG_TARGET, we do not mix binaries from different builds in the same package
* | | | | | MDEV-13253 After rebuilding redo logs, InnoDB can leak data from redo log bufferMarko Mäkelä2017-09-072-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recv_reset_logs(): Initialize the redo log buffer, so that no data from the old redo log can be written to the new redo log. This bug has very little impact before MariaDB 10.2. The innodb_log_encrypt option that was introduced in MariaDB 10.1 increases the impact. If the redo log used to be encrypted, and it is being resized and encryption disabled, then previously encrypted data could end up being written to the new redo log in clear text. This resulted in encryption.innodb_encrypt_log test failures in MariaDB 10.2.
* | | | | | Make the SEARCH_ABORT logic actually workMarko Mäkelä2017-09-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SEARCH_ABORT logic was not working as intended (tests were not being aborted).
* | | | | | Follow-up to MDEV-13103: Do not add __attribute__((nonnull))Marko Mäkelä2017-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In XtraDB, buf_block_get_frame() can return NULL, and this value can be passed to buf_page_print(). Do not declare the parameter as nonnull.
* | | | | | MDEV-13103 Assertion `flags & BUF_PAGE_PRINT_NO_CRASH' failed in buf_page_printMarko Mäkelä2017-09-0624-251/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buf_page_print(): Remove the parameter 'flags', and when a server abort is intended, perform that in the caller. In this way, page corruption reports due to different reasons can be distinguished better. This is non-functional code refactoring that does not fix any page corruption issues. The change is only made to avoid falsely grouping together unrelated causes of page corruption.
* | | | | | Post-push for MDEV-13437Andrei Elkin2017-09-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new $MYSQLD_LAST_CMD evaluation was too late in case --manual-gdb. Now it is done before the server restart type branches which is safe and the args value has been fully computed by the new point of evaluation.
* | | | | | MDEV-13705 10.0.32 does not compile on architectures without 64-bit atomicsMarko Mäkelä2017-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of the following: MDEV-13009 10.1.24 does not compile on architectures without 64-bit atomics Add a missing #include "sync0types.h" that was removed in MDEV-12674.
* | | | | | Fix compiler warningsMarko Mäkelä2017-09-017-8/+18
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | metadata_lock_info_duration[]: Remove the unused variable. Add some comments /* fall through */ to silence -Wimplicit-fallthrough
* | | | | MDEV-13693 : Fix parameter passing to my_error.Vladislav Vaintroub2017-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | char* parameter is expected by the message ER_KEY_COLUMN_DOES_NOT_EXITS, thus pass char*, rather than LEX_STRING.
* | | | | MDEV-13691 : my_write() sets inappropriate errno for ERROR_FILE_SYSTEM_LIMITATONVladislav Vaintroub2017-08-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ERROR_FILE_SYSTEM_LIMITATION was seen by support when backing up large file. However mariabackup error message was not very helpful, since it mapped the error to generic catch-all EINVAL. With the patch, ERROR_FILE_SYSTEM_LIMITATION will be mapped to more appropriate EFBIG. Also add mapping from ERROR_NO_SYSTEM_RESOURCES to ENOMEM.
* | | | | Add missing {} to silence a compiler warningMarko Mäkelä2017-08-301-0/+2
| | | | | | | | | | | | | | | | | | | | This is not affecting correctness; delete NULL is a valid operation.
* | | | | WL#8845: Clarify the message about redo log format incompatibilityMarko Mäkelä2017-08-292-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recv_find_max_checkpoint(): Refer to MariaDB 10.2.2 instead of MySQL 5.7.9. Do not hint that a binary downgrade might be possible, because there are many changes in InnoDB 5.7 that could make downgrade impossible: a column appended to SYS_INDEXES, added SYS_* tables, undo log format changes, and so on.
* | | | | MDEV-13625 Merge InnoDB test cases from MySQL 5.6 (part 1)Marko Mäkelä2017-08-2933-0/+7023
|\ \ \ \ \
| * | | | | Merge innodb.create-index test changes from MySQL 5.6 to MariaDBMarko Mäkelä2017-08-292-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import the MySQL 5.6 addition from innodb.create-index to a new debug-only test, innodb.create-index-debug. The existing test innodb.create-index also runs on a debug server.
| * | | | | Adjust the imported MySQL 5.6 tests for MariaDBMarko Mäkelä2017-08-2921-123/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FIXME: MDEV-13668 InnoDB unnecessarily rebuilds table FIXME: MDEV-13671 InnoDB should use case-insensitive column name comparisons like the rest of the server FIXME: MDEV-13640 / Properly fix MDEV-9469 'Incorrect key file' on ALTER TABLE FIXME: investigate result difference in innodb.innodb-alter-autoinc and ensure that MariaDB does the right thing with auto_increment_increment and auto_increment_offset, for both ALGORITHM=INPLACE and ALGORITHM=COPY (Oracle MySQL behaviour differs between those two).
| * | | | | MDEV-13625 Merge InnoDB test cases from MySQL 5.6 (part 1)Marko Mäkelä2017-08-2927-0/+6904
|/ / / / / | | | | | | | | | | | | | | | | | | | | Import some ALTER TABLE test cases from MySQL 5.6 without modification. The adjustments will be in a separate commit.
* | | | | MDEV-13437 InnoDB fails to return error for XA COMMIT or XA ROLLBACK in ↵Andrei Elkin2017-08-2911-13/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | read-only mode Assertions failed due to incorrect handling of the --tc-heuristic-recover option when InnoDB is in read-only mode either due to innodb_read_only=1 or innodb_force_recovery>3. InnoDB failed to refuse a XA COMMIT or XA ROLLBACK operation, and there were errors in the error handling in the upper layer. This was fixed by making InnoDB XA operations respect the high_level_read_only flag. The InnoDB part of the fix and parts of the test main.tc_heuristic_recover were provided by Marko Mäkelä. LOCK_log mutex lock/unlock had to be added to fix MDEV-13438. The measure is confirmed by mysql sources as well. For testing of the conflicting option combination, mysql-test-run is made to export a new $MYSQLD_LAST_CMD. It holds the very last value generated by mtr.mysqld_start(). Even though the options have been also always stored in $mysqld->{'started_opts'} there were no access to them beyond the automatic server restart by mtr through the expect file interface. Effectively therefore $MYSQLD_LAST_CMD represents a more general interface to $mysqld->{'started_opts'} which can be used in wider scopes including server launch with incompatible options. Notice another existing method to restart the server with incompatible options relying on $MYSQLD_CMD is is aware of $mysqld->{'started_opts'} (the actual options that the server is launched by mtr). In order to use this method they would have to be provided manually. NOTE: When merging to 10.2, the file search_pattern_in_file++.inc should be replaced with the pre-existing search_pattern_in_file.inc.
* | | | | MDEV-13583 Improvements for MTR rebootstrap introduced in MDEV-12042Elena Stepanova2017-08-283-94/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - make re-bootstrap run with all extra options, not only InnoDB ones - re-use previously created bootstrap.sql - add --console - fix debian patch to keep it applicable
* | | | | MDEV-13637 InnoDB change buffer housekeeping can cause redo log overrun and ↵Marko Mäkelä2017-08-2510-68/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | possibly deadlocks The function ibuf_remove_free_page() may be called while the caller is holding several mutexes or rw-locks. Because of this, this housekeeping loop may cause performance glitches for operations that involve tables that are stored in the InnoDB system tablespace. Also deadlocks might be possible. The worst impact of all is that due to the mutexes being held, calls to log_free_check() had to be skipped during this housekeeping. This means that the cyclic InnoDB redo log may be overwritten. If the system crashes during this, it would be unable to recover. The entry point to the problematic code is ibuf_free_excess_pages(). It would make sense to call it before acquiring any mutexes or rw-locks, in any 'pessimistic' operation that involves the system tablespace. fseg_create_general(), fseg_alloc_free_page_general(): Do not call ibuf_free_excess_pages() while potentially holding some latches. ibuf_remove_free_page(): Do call log_free_check(), like every operation that is about to generate redo log should do. ibuf_free_excess_pages(): Remove some assertions that are replaced by stricter assertions in the log_free_check() that is now called by ibuf_remove_free_page(). row_ins_sec_index_entry(), row_undo_ins_remove_sec_low(), row_undo_mod_del_mark_or_remove_sec_low(), row_undo_mod_del_unmark_sec_and_undo_update(): Call ibuf_free_excess_pages() if the operation may involve allocating pages and change buffering in the system tablespace.
* | | | | Windows : Do not use CRT routine to dump memory leaks.Vladislav Vaintroub2017-08-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Its output is useless,and, in case of large output, it also may prevent with search_pattern_in_file.inc from working.
* | | | | Windows compile : make compilation fail on "uninitialized variable used" ↵Vladislav Vaintroub2017-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warning C4700 This is a genuine error, and will crash debug buildd in runtime checks if not fixed. it is better to fail during compile.
* | | | | CONNECT engine: install ha_connect.libVladislav Vaintroub2017-08-231-1/+14
| | | | |
* | | | | MDEV-13630 : dont install connect-specific JAR files if connect is not built.Vladislav Vaintroub2017-08-231-7/+15
| | | | |
* | | | | Remove workaround for ancient and already fixed CMake bug in MSI creation.Vladislav Vaintroub2017-08-231-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround, an extra cmake calls, somehow makes the connect/cmake_install.cmake to lose installation of connect-engine's specific jar files.
* | | | | MDEV-13606 XA PREPARE transactions should survive innodb_force_recovery=1 or 2Marko Mäkelä2017-08-234-53/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When MySQL 5.0.3 introduced InnoDB support for two-phase commit, it also introduced the questionable logic to roll back XA PREPARE transactions on startup when innodb_force_recovery is 1 or 2. Remove this logic in order to avoid unwanted side effects when innodb_force_recovery is being set for other reasons. That is, XA PREPARE transactions will always remain in that state until InnoDB receives an explicit XA ROLLBACK or XA COMMIT request from the upper layer. At the time the logic was introduced in MySQL 5.0.3, there already was a startup parameter that is the preferred way of achieving the behaviour: --tc-heuristic-recover=ROLLBACK.
* | | | | MDEV-8960: Can't refer the same column twice in one ALTER TABLEJan Lindström2017-08-183-3/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was that if column was created in alter table when it was refered again it was not tried to find from list of current columns. mysql_prepare_alter_table: There is two cases (1) If alter table adds a new column and then later alter changes the field definition, there was no check from list of new columns, instead an incorrect error was given. (2) If alter table adds a new column and then later alter changes the default, there was no check from list of new columns, instead an incorrect error was given.
* | | | | compilation fix for SLES 11 SP4Sergei Golubchik2017-08-141-2/+2
| | | | | | | | | | | | | | | | | | | | also fix innodb
* | | | | compilation fix for SLES 11 SP4Sergei Golubchik2017-08-131-2/+2
| | | | |
* | | | | Revert an InnoDB Memcached plugin fix that was merged from MySQL 5.6.37Marko Mäkelä2017-08-093-36/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the following change, because Memcached is not present in MariaDB Server. We had better avoid adding dead code. commit d9bc5e03d788b958ce8c76e157239953db60adb2 Author: Aakanksha Verma <aakanksha.verma@oracle.com> Date: Thu May 18 14:31:01 2017 +0530 Bug #24605783 MYSQL GOT SIGNAL 6 ASSERTION FAILURE