- 17 Nov, 2017 6 commits
-
-
Vladislav Vaintroub authored
Based on pull request by Oleg Obleukhov https://github.com/MariaDB/server/pull/400
-
Vladislav Vaintroub authored
-
Michael Widenius authored
- Change interface according to real usage - Fix comment - Rename to fn_frm_ext
-
Michael Widenius authored
DROP TABLE now also works on empty or short .frm files
-
Michael Widenius authored
- We don't check constraints when doing delete
-
Michael Widenius authored
Most "new" failures fixed in the following files: - sql_select.cc - item.cc - item_func.cc - opt_subselect.cc Other things: - Allocate udf_handler strings in mem_root - Required changes in sql_string.h - Add mem_root as argument to some new [] calls - Mark udf_handler strings as thread specific - Removed some comment blocks with code
-
- 16 Nov, 2017 2 commits
-
-
Aleksey Midenkov authored
Affected tests: sql_sequence.gtid sql_sequence.replication
-
Vicențiu Ciorbaru authored
-
- 15 Nov, 2017 2 commits
-
-
Daniel Black authored
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=79887 was fixed in 7.4 and 8.2. Both of these reached end of life in February 2011 https://www.freebsd.org/releases/Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
-
Marko Mäkelä authored
Relax a too strict debug assertion, and add a test.
-
- 13 Nov, 2017 1 commit
-
-
Marko Mäkelä authored
Allow DROP TABLE `#mysql50##sql-...._.` to drop tables that were being rebuilt by ALGORITHM=INPLACE NOTE: If the server is killed after the table-rebuilding ALGORITHM=INPLACE commits inside InnoDB but before the .frm file has been replaced, then the recovery will involve something else than DROP TABLE. NOTE: If the server is killed in a true inplace ALTER TABLE commits inside InnoDB but before the .frm file has been replaced, then we are really out of luck. To properly handle that situation, we would need a transactional mysql.ddl_fixup table that directs recovery to rename or remove files. prepare_inplace_alter_table_dict(): Use the altered_table->s->table_name for generating the new_table_name. table_name_t::part_suffix: The start of the partition name suffix. table_name_t::dbend(): Return the end of the schema name. table_name_t::dblen(): Return the length of the schema name, in bytes. table_name_t::basename(): Return the name without the schema name. table_name_t::part(): Return the partition name, or NULL if none. row_drop_table_for_mysql(): Assert for #sql, not #sql-ib.
-
- 10 Nov, 2017 8 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
rec_get_offsets_func(): Relax a bogus debug assertion. It would fail when we are operating on a copied prefix of a node pointer record.
-
Marko Mäkelä authored
row_log_table_apply_op(): Remove references to dict_table_t::n_vcols. Virtual column information is no longer being written to the log. row_log_t: Remove the unused fields n_old_col, n_old_vcol.
-
Oleksandr Byelkin authored
MDEV-13723: Server crashes in ha_heap::find_unique_row or Assertion `0' failed in st_select_lex_unit::optimize with INTERSECT With INTERSECT/EXCEPT fact that subquery item of IN/ALL/ANY was not assigned value does not mean that temporary table used for calculating unit is empty (records could be deleted).
-
Marko Mäkelä authored
-
- 09 Nov, 2017 11 commits
-
-
Marko Mäkelä authored
When MySQL 5.7 introduced indexed virtual columns, it introduced several bugs into the online table-rebuilding ALTER, that is, the row_log_table_apply() family of functions. The online_log format that was introduced for online table-rebuilding ALTER in MySQL 5.6 should be sufficient. Ideally, any indexed virtual column values would be evaluated based on the log records in the temporary file. There is no need to log virtual column values. (For ADD INDEX, that is row_log_apply(), we always must log the values of the keys, no matter if the columns are virtual.) Because omitting the virtual column values removes any chance of row_log_table_apply() working with indexed virtual columns, we will for now refuse LOCK=NONE in table-rebuilding ALTER operations when indexes on virtual columns exist. This restriction would be lifted in MDEV-14341. innobase_indexed_virtual_exist(): New predicate, to determine if indexed virtual columns exist in a table definition. ha_innobase::check_if_supported_inplace_alter(): Refuse online rebuild if indexed virtual columns exist. rec_get_converted_size_temp_v(), rec_convert_dtuple_to_temp_v(): Remove. row_log_table_delete(), row_log_table_update(, row_log_table_insert(): Remove parameters for virtual columns. trx_undo_read_v_rows(): Remove the col_map parameter. row_log_table_apply(): Do not deal with virtual columns.
-
Monty authored
Conflicts: mysql-test/r/cte_recursive.result mysql-test/r/derived_cond_pushdown.result mysql-test/t/cte_recursive.test mysql-test/t/derived_cond_pushdown.test sql/datadict.cc sql/handler.cc
-
Sergei Petrunia authored
-
Monty authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MDEV-14333 Mariabackup --apply-log-only crashes if incomplete transactions with update_undo logs are present trx_undo_free_prepared(): Relax the assertion for mariabackup --apply-log-only.
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Oleksandr Byelkin authored
MDEV-14164: Unknown column error when adding aggregate to function in oracle style procedure FOR loop Make differentiation between pullout for merge and pulout of outer field during exists2in transformation. In last case the field was outer and so we can safely start from name resolution context of the SELECT where it was pulled. Old behavior lead to inconsistence between list of tables and outer name resolution context (which skips one SELECT for merge purposes) which creates problem vor name resolution.
-
Monty authored
-
Alexander Barkov authored
Recording mtr.add_suppression("Could not use .*") instead of mtr.add_suppression("Could not open .*") in tests: - binlog_encryption.rpl_binlog_errors - binlog_encryption.binlog_index
-
- 08 Nov, 2017 3 commits
-
-
Marko Mäkelä authored
-
Alexander Barkov authored
There was a problem in the recent patch for MDEV-10817: get_date() must "return true" on null_value rather than "return 0" (forgot to fix Item_sum_hybrid::get_date() after copying and pasting from Item_sum_hybrid::val_str()).
-
Marko Mäkelä authored
-
- 07 Nov, 2017 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
FlushObserver::flush(): Never discard unwritten changes. We do not want to risk corrupting the system tablespace or .ibd files that are not part of a table-rebuilding ALTER.
-
Marko Mäkelä authored
Ever since MDEV-10813 cleaned up InnoDB use of atomic memory operations and made buf_block_fix() an atomic operation, some conditions around buf_block_fix() have been unnecessary.
-
Alexander Barkov authored
-
Vesa Pentti authored
-
Alexander Barkov authored
-
Alexander Barkov authored
This problem was earlier fixed by the patch for MDEV-8910. Adding tests only.
-