- 18 Sep, 2017 4 commits
-
-
sjaakola authored
Optimizing cascade node list traversal, which could turn out as performance bottleneck Even this current cascade node check could be skipped, but a dedicated mtr test is needed to confirm that
-
Jan Lindström authored
Use wsrep_must_process_fk function to check if foreign key constraint needs to be processed in case of Galera is enabled.
-
sjaakola authored
Optimizing cascade node list traversal, which could turn out as performance bottleneck Even this current cascade node check could be skipped, but a dedicated mtr test is needed to confirm that
-
sjaakola authored
* created tests focusing in multi-master conflicts during cascading foreign key processing * in row0upd.cc, calling wsrep_row_ups_check_foreign_constraints only when running in cluster * in row0ins.cc fixed regression from MW-369, which caused crash with MW-402.test
-
- 17 Sep, 2017 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MySQL 5.7 introduced some optimizations to avoid file I/O during ALGORITHM=INPLACE operations. While both innodb-index-online and innodb-table-online will exercise both the merge sort files and the online log files in 10.1, in 10.2 they would only exercise the online log files. Modify one test case in innodb.innodb-table-online so that skip_pk_sort will not hold. In this way, this test case will write and read the merge sort files. The other instrumented tests in innodb-index-online and innodb-table-online will only write and read online_log files.
-
Marko Mäkelä authored
This should also fix the MariaDB 10.2.2 bug MDEV-13826 CREATE FULLTEXT INDEX on encrypted table fails. MDEV-12634 FIXME: Modify innodb-index-online, innodb-table-online so that they will write and read merge sort files. InnoDB 5.7 introduced some optimizations to avoid using the files for small tables. Many collation test results have been adjusted for MDEV-10191.
-
- 16 Sep, 2017 8 commits
-
-
Vladislav Vaintroub authored
Compilation got confused about 2 wsrep.h headers in include path Rename backup's wsrep.h to backup_wsrep.h to fixO
-
Marko Mäkelä authored
Introduce innodb_encrypt_log.combinations and prove that the encryption and decryption take place during both online ADD INDEX (WL#5266) and online table-rebuilding ALTER (WL#6625).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Apply the same changes to both InnoDB and XtraDB.
-
Vladislav Vaintroub authored
message was written.
-
Vladislav Vaintroub authored
The messages are getting lost because they are written with fprintf() but without fflush(), so abort() would lose buffered text. Applied fix from 10.2, which makes in_logf() use sql_print_information(), which in turn does proper flush after each message
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
MDEV-13807 mariabackup --apply-log-only does generate redo log by performing rollback and possibly other tasks Skip rollback and other redo-log-generating tasks if srv_apply_log_only is set. Instead of assigning the debug variable recv_no_log_write = FALSE, assign it to srv_apply_log_only, so that any unwanted writes are caught.
-
- 15 Sep, 2017 9 commits
-
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
The underlying data members are declared public, so there is no point in hiding these const accessors.
-
Marko Mäkelä authored
Use dict_index_is_auto_gen_clust() instead.
-
Alexander Barkov authored
The problem was introduced by the patch for MDEV-7661, which (in addition to the fix itself) included an attempt to make CONVERT/CAST work in the same way with fields (i.e. return NULL in strict mode if a non-convertable character found). It appeared to be a bad idea and some users were affected by this behavior change. Changing CONVERT/CAST not depend on sql_mode (restoring pre-10.1.4 behavior).
-
Vladislav Vaintroub authored
use ut_get_name() for formatting database/table names.
-
Vladislav Vaintroub authored
-
sjaakola authored
* recorded new result file, original was copied from MariaDB which produces syntactically a bit different result * semantics are same in MariaDB and ours result file
-
sjaakola authored
* changed thd_binlog_format to return configured binlog format in wsrep execution, regardless of binlogging setting (i.e. with or without binlogging) * thd_binlog_format is used in innobase::write_row(), and would return confusing result there when log_bin==OFF
-
sjaakola authored
* ported the partition.test from MariaDB 10.3 code tree * fix to TOI replicate ALTER TABLE EXCHANGE PARTITION statement
-
- 14 Sep, 2017 8 commits
-
-
Marko Mäkelä authored
Import the changes to innodb.innodb-index innodb.innodb-index-debug Note: As noted in MDEV-13613, due to the behaviour change in MDEV-11114, DROP COLUMN will not imply DROP/ADD PRIMARY/UNIQUE KEY, like it does in MySQL. The tests have been adjusted accordingly.
-
Alexey Botchkov authored
-
Alexey Botchkov authored
-
Jan Lindström authored
…porary file Fixed by removing writing key version to start of every block that was encrypted. Instead we will use single key version from log_sys crypt info. After this MDEV also blocks writen to row log are encrypted and blocks read from row log aren decrypted if encryption is configured for the table. innodb_status_variables[], struct srv_stats_t Added status variables for merge block and row log block encryption and decryption amounts. Removed ROW_MERGE_RESERVE_SIZE define. row_merge_fts_doc_tokenize Remove ROW_MERGE_RESERVE_SIZE row_log_t Add index, crypt_tail, crypt_head to be used in case of encryption. row_log_online_op, row_log_table_close_func Before writing a block encrypt it if encryption is enabled row_log_table_apply_ops, row_log_apply_ops After reading a block decrypt it if encryption is enabled row_log_allocate Allocate temporary buffers crypt_head and crypt_tail if needed. row_log_free Free temporary buffers crypt_head and crypt_tail if they exist. row_merge_encrypt_buf, row_merge_decrypt_buf Removed. row_merge_buf_create, row_merge_buf_write Remove ROW_MERGE_RESERVE_SIZE row_merge_build_indexes Allocate temporary buffer used in decryption and encryption if needed. log_tmp_blocks_crypt, log_tmp_block_encrypt, log_temp_block_decrypt New functions used in block encryption and decryption log_tmp_is_encrypted New function to check is encryption enabled. Added test case innodb-rowlog to force creating a row log and verify that operations are done using introduced status variables.
-
Marko Mäkelä authored
Fix memory leaks, and add a missing newline to a message.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The type uint16_t is apparently promoted to int in a comparison, causing a sign mismatch when comparing to ulint. Convert to ulint before comparison.
-
Marko Mäkelä authored
The type uint16_t is apparently promoted to int in a comparison, causing a sign mismatch when comparing to ulint. Convert both operands to uint16_t.
-
- 13 Sep, 2017 6 commits
-
-
Marko Mäkelä authored
In online table-rebuilding ALTER TABLE (LOCK=NONE), virtual column values are being written to the online_log. WL#8149 in MySQL 5.7 changed some low-level functions that are also being used outside row0log.cc, causing performance penalty to other code. We revert those changes, and introduce separate functions for writing the virtual column values. The only functional change should be the one that is mentioned in MDEV-13795: row_log_table_low_redundant() will no longer write virtual column values along with old_pk, just like row_log_table_low(). As noted in MDEV-13795, some forms of table-rebuilding ALTER with virtual columns is broken. At least DROP PRIMARY KEY, ADD PRIMARY KEY is broken. rec_get_converted_size_temp(), rec_convert_dtuple_to_temp(): Remove the parameter for passing virtual column values. rec_get_converted_size_temp_v(), rec_convert_dtuple_to_temp_v(): New functions for appending virtual column values to the online_log. rec_get_converted_size_comp_prefix_low(), rec_convert_dtuple_to_rec_comp(): Remove the v_entry parameter, and do not allow n_fields=0.
-
Marko Mäkelä authored
The InnoDB purge subsystem can be best stopped by opening a read view, for example by START TRANSACTION WITH CONSISTENT SNAPSHOT. To ensure that everything is purged, use wait_all_purged.inc, which waits for the History list length in SHOW ENGINE INNODB STATUS to reach 0. Setting innodb_purge_run_now never guaranteed this.
-
Marko Mäkelä authored
This also avoids hitting the hang at server shutdown. That hang should be fixed, of course.
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
Alexey Botchkov authored
set_charset() calls added for Item_func_json_arran and Item_func_json_object::val_str-s.
-
- 12 Sep, 2017 2 commits
-
-
Alexey Botchkov authored
Set default charset for temporary paths so UDF call don't crash.
-
Alexey Botchkov authored
JSON_QUOTE return type set to be JSON.
-