- 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 3 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.
-
Igor Babaev authored
If a window function with aggregation is over the result set of a grouping query then the argument of the aggregate function from the window function is allowed to be an aggregate function itself.
-
- 01 Feb, 2017 11 commits
-
-
Igor Babaev authored
-
Nirbhay Choubey authored
-
Georg Richter authored
A GCM encrypted ciphertext must contain an authentication tag with AES_BLOCK_SIZE length, so we need to check that the length of ciphertext is at least AES_BLOCK_SIZE.
-
Marko Mäkelä authored
Import and adapt the changes from MySQL 5.7.
-
Marko Mäkelä authored
This fixes memory leaks in tests that cause InnoDB startup to fail. buf_pool_free_instance(): Also free buf_pool->flush_rbt, which would normally be freed when crash recovery finishes. fil_node_close_file(), fil_space_free_low(), fil_close_all_files(): Relax some debug assertions to tolerate !srv_was_started. innodb_shutdown(): Renamed from innobase_shutdown_for_mysql(). Changed the return type to void. Do not assume that all subsystems were started. que_init(), que_close(): Remove (empty functions). srv_init(), srv_general_init(): Remove as global functions. srv_free(): Allow srv_sys=NULL. srv_get_active_thread_type(): Only return SRV_PURGE if purge really is running. srv_shutdown_all_bg_threads(): Do not reset srv_start_state. It will be needed by innodb_shutdown(). innobase_start_or_create_for_mysql(): Always call srv_boot() so that innodb_shutdown() can assume that it was called. Make more subsystems dependent on SRV_START_STATE_STAT. srv_shutdown_bg_undo_sources(): Require SRV_START_STATE_STAT. trx_sys_close(): Do not assume purge_sys!=NULL. Do not call buf_dblwr_free(), because the doublewrite buffer can exist while the transaction system does not. logs_empty_and_mark_files_at_shutdown(): Do a faster shutdown if !srv_was_started. recv_sys_close(): Invoke dblwr.pages.clear() which would normally be invoked by buf_dblwr_process(). recv_recovery_from_checkpoint_start(): Always release log_sys->mutex. row_mysql_close(): Allow the subsystem not to exist.
-
Marko Mäkelä authored
Display a NOTE, not a WARNING for non-default page size.
-
Marko Mäkelä authored
The necessary call was inadvertently commented out in a merge of MySQL 5.7.14 to MariaDB 10.2.1 (commit fec844ac).
-
Marko Mäkelä authored
As noted in MDEV-11947, we should disable the InnoDB doublewrite buffer during the tests, because when rewriting page checksums, innochecksum would skip the pages that are in the doublewrite buffer area. Because the doublewrite buffer is emptied on server startup and not shutdown, we should initially start with the doublewrite buffer disabled, so that there will be no warning messages for wrong page checksums in the doublewrite buffer. Also, correct the obvious typo where restart_options should have been $restart_parameters, so that InnoDB is actually verifying that the checksums were rewritten.
-
Igor Babaev authored
Now ROWS is a reserved key word, so cannot be used as an alias name.
-
Igor Babaev authored
This bug happens due to a conflict in the construct window_spec. (win_ref conflicts with the non-reserved key word ROWS). The standard SQL-2003 says that ROWS is a reserved key word. Made this key word reserved in our grammar and removed the conflict.
-
Igor Babaev authored
Now, after the implementation of mdev-8646 "Re-engineer the code for post-join operations" create_sort_index() can be called for subqueries.
-
- 31 Jan, 2017 4 commits
-
-
Alexander Barkov authored
Adding keywords the following keywords into the "keyword" rules: - EXCLUDE - UNBOUNDED - PRECEDING - FOLLOWING - TIES - OTHERS They are non-reserved words in the SQL standard (checked in a SQL-2011 draft), and they don't cause any conflicts in sql_yacc.yy.
-
Marko Mäkelä authored
Call trx_purge_state() only once, to avoid a race condition if the value changes while the conditions are being evaluated.
-
Marko Mäkelä authored
Also, work around MDEV-11948 by disabling native asynchronous I/O.
-
Marko Mäkelä authored
Remove the debug parameter innodb_force_recovery_crash that was introduced into MySQL 5.6 by me in WL#6494 which allowed InnoDB to resize the redo log on startup. Let innodb.log_file_size actually start up the server, but ensure that the InnoDB storage engine refuses to start up in each of the scenarios.
-
- 30 Jan, 2017 4 commits
-
-
Sergei Golubchik authored
this fixes occasional main.cte_recursive failures
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Sergei Golubchik authored
this fixes the crash in innodb.101_compatibility test
-