- 12 Apr, 2018 1 commit
-
-
Jan Lindström authored
MDEV-12632: Source and destination overlap in memcpy, encryption.innodb-discard-import-change fails in buildbot with valgrind Problem was that if tablespace was encrypted we try to copy also page 0 from read buffer to write buffer that are in that case the same memory area. fil_iterate When tablespace is encrypted or compressed its first page (i.e. page 0) is not encrypted or compressed and there is no need to copy buffer.
-
- 11 Apr, 2018 2 commits
-
-
Jan Lindström authored
Wait until rotation has ended and shutdown before grep to make sure that dirty pages are on datafiles.
-
Marko Mäkelä authored
row_undo_step(): If innodb_fast_shutdown=3 has been requested, abort the rollback of any non-DDL transactions. Starting with MDEV-12323, we aborted the rollback of recovered transactions. The transactions would be rolled back on subsequent server startup. trx_roll_report_progress(): Renamed from trx_roll_must_shutdown(), now that the shutdown check has been moved to the only caller. trx_commit_low(): Allow mtr=NULL for transactions that are aborted on rollback. trx_rollback_finish(): Clean up aborted transactions to avoid assertion failures and memory leaks on shutdown. This code was previously in trx_rollback_active(). trx_rollback_to_savepoint_low(), trx_rollback_for_mysql_low(): Remove some redundant assertions.
-
- 10 Apr, 2018 19 commits
-
-
Vladislav Vaintroub authored
Also, shorten the test so it usually runs 2 seconds, not 3.
-
Alexander Barkov authored
-
Sergei Golubchik authored
numerous fixes for CREATE ... SELECT with system versioning: In CREATE ... SELECT the table is created based on the result set, field properties do not count. That is * field invisibility is *not* copied over * AS ROW START/END is *not* copied over * the history is *not* copied over * system row_start/row_end fields can *not* be created from the SELECT part
-
Aleksey Midenkov authored
[closes tempesta-tech#472]
-
Sergei Golubchik authored
MDEV-15391 Server crashes in JOIN::fix_all_splittings_in_plan or Assertion `join->best_read < double(1.79...e+308L)' failed vers_setup_conds() used to AND all conditions on row_start/row_end columns and store it either in the WHERE clause or in the ON clause for some table. In some cases this caused ON clause to have conditions for tables that aren't part of that ON's join. Fixed to put a table's condition always in the ON clause of the corresponding table. Removed unnecessary ... `OR row_end IS NULL` clause, it's not needed in the ON clause. Simplified handling on PS and SP.
-
Sergei Golubchik authored
fix parsing of the AS OF clause
-
Eugene Kosov authored
get_schema_column_record(): print 'WITHOUT SYSTEM VERSIONING` in 'EXTRA' for such fields
-
Sergei Golubchik authored
--gdb now accepts an argument, it will be passed to gdb as a command. multiple commands can be separated by a (non-standard and not escapable) delimiter - semicolon (;). Old usage with a bare --gdb continues to work too, of course.
-
Sergei Golubchik authored
-
Aleksey Midenkov authored
disallow system versioning for tables in mysql database
-
Sergei Golubchik authored
-
Sergei Golubchik authored
use named methods instead.
-
Sergei Golubchik authored
the function xxx_eq(a,b) returns true if two elements are equal and false if they are not.
-
Sergei Golubchik authored
strmake_buf() macro should only be used with char[] arrays, and never with char* pointers. To distinguish between the two we create a new variable of the same type and initialize it using array initializer, this causes compilation failure with pointers. The variable is unused and will be removed by the compiler. It's enough to do this check only with gcc, so it doesn't have to be portable.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
(will be added back when it'll be used)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Marko Mäkelä authored
remove dead code
-
- 09 Apr, 2018 4 commits
-
-
Otto Kekäläinen authored
-
Eugene Kosov authored
-
Marko Mäkelä authored
Merge pull request #667
-
Marko Mäkelä authored
srv_purge_should_exit(): Remove the parameter n_purged. If we happened to have n_purged==0 while some transaction was still active, and then that transaction was added to the history list, we were prematurely stopping the purge. It is more appropriate to first check for trx_sys.any_active_transactions() == 0 (this count can only decrease during shutdown) and then for trx_sys.history_size() == 0 (that count typically decreases, but can increase when any remaining active transactions are committed or rolled back). innodb.dml_purge: Remove a server restart, and explicitly wait for purge, and use FLUSH TABLE FOR EXPORT to read the file contents. This will make the test run faster, easier to debug, and also allow it to run with --embedded. This might also help repeat MDEV-11802 better. The issue MDEV-13603 remains will remain tested by innodb.table_flags.
-
- 08 Apr, 2018 3 commits
-
-
Marko Mäkelä authored
purge_sys_t::n_submitted: Document that it is only accessed by srv_purge_coordinator_thread. purge_sys_t::n_completed: Exclusively use my_atomic access. srv_task_execute(): Simplify the code. srv_purge_coordinator_thread(): Test the cheaper condition first. trx_purge(): Atomically access purge_sys.n_completed. Remove some code duplication. trx_purge_wait_for_workers_to_complete(): Atomically access purge_sys.n_completed. Remove an unnecessary local variable. trx_purge_stop(): Remove a redundant assignment.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_ins_sec_index_entry(): Compare a pointer to fil_system.sys_space, not to a numeric constant. This code was recently changed in MDEV-13637, and the condition was essentially disabled, potentially causing the change buffer to grow uncontrollably when something is inserted into a table that has secondary indexes and resides in the system tablespace. Thanks to Daniel Black for pointing out that clang 7 flagged a warning for the comparison of a pointer to an integer. row_import_for_mysql(): Fix a possible compiler warning.
-
- 07 Apr, 2018 2 commits
-
-
Otto Kekäläinen authored
There is no need for MariaDB Backup to be versioned. Other packages are very unlikely to need to depend on a certain generation of this package. Also for MariaDB Backup to run, it does not need the server, but client, and from client only core parts.
-
Marko Mäkelä authored
dict_sys_tables_type_valid(): Do not reject NO_ROLLBACK (sequence) in ROW_FORMAT=REDUNDANT. dict_load_table_low(): When flagging an error, assign *table = NULL. Failure to do so could cause a crash if an error was flagged when accessing INFORMATION_SCHEMA.INNODB_SYS_TABLES.
-
- 06 Apr, 2018 4 commits
-
-
Eugene Kosov authored
-
Eugene Kosov authored
make its lifetime as short as possible for historical row ROW_COPY_DATA -> ROW_COPY_POINTER for lower memory consumption and better performance
-
Michael Widenius authored
-
Michael Widenius authored
MDEV-15742 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type == 1' failed in handler::ha_write_row
-
- 05 Apr, 2018 5 commits
-
-
Alexander Barkov authored
Renaming methods: - Field::make_field(Send_field*) to make_send_field(..) - Item::make_field(THD *,Send_field *) to make_send_field(..) - Item::init_make_field(Send_field *, enum_field_type) to init_make_send_field(..) These names looked similar to other functions that are used for a very different purpose (creating Field instances): - Public function "Field * make_field(..)" - Method "Field *Column_defitinion::make_field(..)" The rename makes it's easier to search the code using "grep".
-
Michael Widenius authored
MDEV-14762 Server crashes in MDL_ticket::has_stronger_or_equal_type upon inserting into temporary sequence Fix is to not upgrade MDL locks for temporary tables
-
luz.paz authored
Found via `codespell -i 3 -w --skip="./debian/po" -I ../mariadb-server-word-whitelist.txt ./cmake/ ./debian/ ./Docs/ ./include/ ./man/ ./plugin/ ./strings/`
-
Michael Widenius authored
-
Michael Widenius authored
Problem was the Item_field::Item_field(THD*, Field*) had old code that put a null pointer in orig_field_names. Now, when we have proper re-prepare if table definition changes, this is not needed anymore.
-