- 10 Feb, 2017 5 commits
-
-
Nirbhay Choubey authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
MDEV-10554: Assertion `!derived->first_select()->exclude_from_table_unique_test || derived->outer_select()-> exclude_from_table_unique_test' failed in TABLE_LIST::set_check_merged() Mark and check excluded because of merging derived tables and views.
-
Oleksandr Byelkin authored
-
Igor Babaev authored
Due to this bug many queries that contained a window function with MIN/MAX aggregation returned wrong results. Calculation of a MIN/MAX aggregate function uses cache objects and a comparator object that are created and set up in Item_sum_hybrid::fix_fields () by a call of Item_sum_hybrid::setup_hybrid(). The latter binds the objects to the first argument of the MIN/MAX function. Meanwhile window function perform aggregation over fields of a temporary table. So binding must be done rather to these fields. The earliest moment when setup the objects used in MIN/max functions can be done is after all calls of the method split_sum_func(). This patch introduces this late setup, but only for aggregate functions used in window functions. Probably it makes sense to use this late setup for all MIN/MAX objects.
-
- 09 Feb, 2017 8 commits
-
-
Alexey Botchkov authored
Test fixed.
-
Alexey Botchkov authored
Fix json_merge implementation.
-
Alexey Botchkov authored
Test result updated.
-
Marko Mäkelä authored
This is follow-up to commit 1293e5e5.
-
Sergei Golubchik authored
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).
-
Marko Mäkelä authored
-
Alexey Botchkov authored
We should be ready for an empty key.
-
Marko Mäkelä authored
A proper InnoDB shutdown after aborted startup was introduced in commit 81b7fe9d. Also related to this is MDEV-11985, making read-only shutdown more robust. If startup was aborted, there may exist recovered transactions that were not rolled back. Relax the assertions accordingly.
-
- 08 Feb, 2017 7 commits
-
-
Marko Mäkelä authored
recv_writer_thread(): Do not assign recv_writer_thread_active=true in order to avoid a race condition with recv_recovery_from_checkpoint_finish(). recv_init_crash_recovery_spaces(): Assign recv_writer_thread_active=true before creating recv_writer_thread.
-
Vladislav Vaintroub authored
This is an attempt to workaround buildbot "1200 seconds without output, killing process"
-
Marko Mäkelä authored
Before killing the server, ensure that the redo log for the incomplete transaction is flushed, so that the AUTO_INCREMENT sequence will always be updated. Usually the INSERT transaction would not have persisted the sequence before the server was killed, but sometimes it could happen, causing result mismatch. Note: This test used to be called innodb_fts.innodb_fts_misc_debug.
-
Marko Mäkelä authored
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.
-
Oleksandr Byelkin authored
MDEV-11681: PARTITION BY LIST COLUMNS with default partition: Assertion `part_info->num_list_values' failed in get_part_iter_for_interval_cols_via_map process adge case with only default partition
-
Jan Lindström authored
Encryption stores used key_version to FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION (offset 26) field. Spatial indexes store RTREE Split Sequence Number (FIL_RTREE_SPLIT_SEQ_NUM) in the same field. Both values can't be stored in same field. Thus, current encryption implementation does not support encrypting spatial indexes. fil_space_encrypt(): Do not encrypt page if page type is FIL_PAGE_RTREE (this is required for background encryption innodb-encrypt-tables=ON). create_table_info_t::check_table_options() Do not allow creating table with ENCRYPTED=YES if table contains spatial index.
-
Alexander Barkov authored
-
- 07 Feb, 2017 6 commits
-
-
Alexey Botchkov authored
Usual '8' turns into 7.9999999 on Power. Test case fixed.
-
Marko Mäkelä authored
recv_log_format_0_recover(): Invoke log_decrypt_after_read() after reading the old-format redo log buffer. With this change, we will upgrade to an encrypted redo log that is misleadingly carrying a MySQL 5.7.9 compatible format tag while the log blocks (other than the header and the checkpoint blocks) are in an incompatible, encrypted format. That needs to be fixed by introducing a new redo log format tag that indicates that the entire redo log is encrypted.
-
Marko Mäkelä authored
LOG_CHECKPOINT_ARRAY_END, LOG_CHECKPOINT_SIZE: Remove. Change some error messages to refer to MariaDB 10.2.2 instead of MySQL 5.7.9. recv_find_max_checkpoint_0(): Do not abort when decrypting one of the checkpoint pages fails.
-
Marko Mäkelä authored
after failed ADD UNIQUE INDEX check_col_exists_in_indexes(): Add the parameter only_committed. When considering committed indexes, evaluate index->is_committed(). Else, evaluate index->to_be_dropped. rollback_inplace_alter_table(): Invoke check_col_exists_in_indexes() with only_committed=true.
-
Jan Lindström authored
Galera disallow-writes feature was lost in InnoDB 5.7 merge to 10.2. This patch restores this feature and fixes test failure on test galera.galera_var_innodb_disallow_writes.
-
Igor Babaev authored
This patch complements the patch for bug 11138. Without this patch some table-less queries with window functions could cause crashes due to a memory overwrite.
-
- 06 Feb, 2017 5 commits
-
-
Marko Mäkelä authored
If InnoDB is started in innodb_read_only mode such that recovered incomplete transactions exist at startup (but the redo logs are clean), an assertion will fail at shutdown, because there would exist some non-prepared transactions. logs_empty_and_mark_files_at_shutdown(): Do not wait for incomplete transactions to finish if innodb_read_only or innodb_force_recovery>=3. Wait for purge to finish in only one place. trx_sys_close(): Relax the assertion that would fail first. trx_free_prepared(): Also free recovered TRX_STATE_ACTIVE transactions if innodb_read_only or innodb_force_recovery>=3. Also, revert my earlier fix to MySQL 5.7 because this fix is more generic: Bug#20874411 INNODB SHUTDOWN HANGS IF INNODB_FORCE_RECOVERY>=3 SKIPPED ANY ROLLBACK trx_undo_fake_prepared(): Remove. trx_sys_any_active_transactions(): Revert the changes.
-
Marko Mäkelä authored
Rewrite the test so that the main server is restarted, instead of --exec $MYSQLD_CMD. In this way, the test can be run with Valgrind and with any --mysqld=--innodb-page-size. Also remove the workaround --skip-innodb-use-native-aio. It should not be needed when we are inheriting the server parameters from the test environment.
-
Marko Mäkelä authored
Datafile::validate_for_recovery(): Remove a redundant error message. An error is already reported by Datafile::open_read_write() if the file cannot be opened. Also, do not assign SEARCH_ABORT, so that the full test will be executed even if one step fails.
-
Marko Mäkelä authored
There already are ROW_FORMAT=COMPRESSED tests in innodb_zip.innochecksum_2. Use shutdown_mysqld.inc and start_mysqld.inc.
-
Alexey Botchkov authored
Fixes for issues found.
-
- 05 Feb, 2017 1 commit
-
-
Igor Babaev authored
Supported usage of expressions with window functions in SELECTs without tables.
-
- 03 Feb, 2017 6 commits
-
-
Igor Babaev authored
The method Item_sum::print did not print opening '(' after the name of simple window functions (like rank, dense_rank etc). As a result the view definitions with such window functions were formed invalid in .frm files.
-
Marko Mäkelä authored
srv_release_threads(): Actually wait for the threads to resume from suspension. On CentOS 5 and possibly other platforms, os_event_set() may be lost. srv_resume_thread(): A counterpart of srv_suspend_thread(). Optionally wait for the event to be set, optionally with a timeout, and then release the thread from suspension. srv_free_slot(): Unconditionally suspend the thread. It is always in resumed state when this function is entered. srv_active_wake_master_thread_low(): Only call os_event_set(). srv_purge_coordinator_suspend(): Use srv_resume_thread() instead of the complicated logic.
-
Marko Mäkelä authored
Test server startup with an empty encrypted redo log from 10.1.21. FIXME: Pass the encryption parameters. Currently we only test startup without properly set up encryption.
-
Marko Mäkelä authored
-
Igor Babaev authored
Partition and order lists of a window specification cannot use constant integer to refer to select list elements.
-
Igor Babaev authored
Using window functions over results of implicit groupings required special handling in JOIN::make_aggr_tables_info. The patch made sure that the result of implicit grouping was written into a temporary table properly.
-
- 02 Feb, 2017 2 commits
-
-
Alexey Botchkov authored
MDEV-11938 json.json_no_table crashes or fails with valgrind warnings in json_find_path / Item_func_json_length::val_int. Paths with quoted keynames handled improperly.
-
Marko Mäkelä authored
Remove the dependency on unzip. Instead, generate the InnoDB files with perl. log_block_checksum_is_ok(): Correct the error message. recv_scan_log_recs(): Remove the duplicated error message for log block checksum mismatch. innobase_start_or_create_for_mysql(): If the server is in read-only mode or if innodb_force_recovery>=3, do not try to modify the system tablespace. (If the doublewrite buffer or the non-core system tables do not exist, do not try to create them.) innodb_shutdown(): Relax a debug assertion. If the system tablespace did not contain a doublewrite buffer and if we started up in innodb_read_only mode or with innodb_force_recovery>=3, it will not be created. dict_create_or_check_sys_tablespace(): Set the flag srv_sys_tablespaces_open when the tables exist.
-