- 30 Sep, 2015 3 commits
-
-
Alexander Barkov authored
MDEV-8875 Wrong metadata for MAX(CAST(time_column AS DATETIME))
-
Alexander Barkov authored
Item_func_hybrid_field_type did not return correct field_type(), cmp_type() and result_type() in some cases, because cached_result_type and cached_field_type were set in independent pieces of the code and did not properly match to each other. Fix: - Removing Item_func_hybrid_result_type - Deriving Item_func_hybrid_field_type directly from Item_func - Introducing a new class Type_handler which guarantees that field_type(), cmp_type() and result_type() are always properly synchronized and using the new class in Item_func_hybrid_field_type.
-
Alexander Barkov authored
-
- 29 Sep, 2015 1 commit
-
-
Jan Lindström authored
Added error handling to crash recovery so that we stop instead of asserting.
-
- 28 Sep, 2015 4 commits
-
-
Alexander Barkov authored
-
Jan Lindström authored
Alloc creating crypt_data to empty page at crash recovery and redo.
-
Alexander Barkov authored
MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
-
Sergey Vojtovich authored
Added per-table boolean IETF_QUOTES variable to CSV storage engine. It allows to enable IETF-compatible parsing of embedded quote and comma characters. Disabled by default. This patch is based on Percona revision: https://github.com/percona/percona-server/commit/b32fbf02766f8db00f9ff4e6dc05a1df97c10ff7 Note that original patch adds server variable, while this patch adds per-table variable.
-
- 27 Sep, 2015 1 commit
-
-
Nirbhay Choubey authored
-
- 25 Sep, 2015 6 commits
-
-
Nirbhay Choubey authored
Addendum: * Before calling THD::init_for_queries(), flip the current_thd to wsrep thread so that memory gets allocated for the right THD. * Use wsrep_creating_startup_threads instead of plugins_are_initialized as the condition for the execution of THD::init_for_queries() within start_wsrep_THD(), as use of latter could still leave some room for race.
-
Nirbhay Choubey authored
Problem: When mysqld starts as a galera node, it creates 2 system threads (applier & rollbacker) using start_wsrep_THD(). These threads are created before plugin initialization (plugin_init()) for SST methods like rsync and xtrabackup. The threads' initialization itself can proceed in parallel to mysqld's main thread of execution. As a result, the thread initialization code (start_wsrep_THD()) can end up accessing some un/partially initialized structures (like maria_hton, in this particular case) resulting in segfault. Solution: Fixed by calling THD::init_for_queries() (which accesses maria_hton) only after the plugins have been initialized.
-
Alexander Barkov authored
-
Jan Lindström authored
MDEV-8819: Failing assertion: block->page.space == page_get_space_id(page_align(ptr)) in file buf0buf.cc line 2551 Add error handling on page reading and do not try to access empty pages.
-
Sergei Golubchik authored
Merge downstream Debian packaging (MDEV-6284)
-
Alexander Barkov authored
The fix for MDEV-8466 earlier fixed MDEV-8635 as well. Adding a test only.
-
- 24 Sep, 2015 3 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases.
-
Alexander Barkov authored
-
- 23 Sep, 2015 8 commits
-
-
Alexander Barkov authored
introduced by the patch for MDEV-8466 and MDEV-8468. Using --enable_prepare_warnings and --disable_prepare_warnings around the affected query, to have the same warning in regular and --ps mtr runs.
-
Alexander Barkov authored
MDEV-8660 TIME(int_zerofill_column) returns a wrong result
-
Elena Stepanova authored
-
Elena Stepanova authored
-
Elena Stepanova authored
-
Jan Lindström authored
MDEV-8832: Encryption meta data should not be stored when ENCRYPTED=DEFAULT and innodb-encrypt-tables=OFF
-
Alexander Barkov authored
Item_string::clone_item() creates a new Item_string that points exactly to the same buffer that the original one does. Later, Item_string::print() uses c_ptr() for the original Item_string, which reallocs the original buffer, and the clone remain with the old freed buffer. Refactoring the code not to use c_ptr() in Item_string::print().
-
Jan Lindström authored
Folloup: Made encryption rules too strict (and incorrect). Allow creating table with ENCRYPTED=OFF with all values of ENCRYPTION_KEY_ID but create warning that nondefault values are ignored. Allow creating table with ENCRYPTED=DEFAULT if used key_id is found from key file (there was bug on this) and give error if key_id is not found.
-
- 22 Sep, 2015 4 commits
-
-
Sergey Vojtovich authored
Failed attempt to load dynamic library with STB_GNU_UNIQUE symbol may corrupt internal dynamic linker data sructures. This looks like libdl bug: https://sourceware.org/bugzilla/show_bug.cgi?id=14577 In embedded mode "show plugins soname" fails to dlopen ha_mroonga.so (which has STB_GNU_UNIQUE) due to undefined reference to wsrep_forced_binlog_format. It crashes later in subsequent call to dlopen() from pthread_exit(). Disabled plugins.show_all_plugins until dlopen() bug is fixed.
-
Jan Lindström authored
Analysis: Problem sees to be the fact that we allow creating or altering table to use encryption_key_id that does not exists in case where original table is not encrypted currently. Secondly we should not do key rotation to tables that are not encrypted or tablespaces that can't be found from tablespace cache. Fix: Do not allow creating unencrypted table with nondefault encryption key and do not rotate tablespaces that are not encrypted (FIL_SPACE_ENCRYPTION_OFF) or can't be found from tablespace cache.
-
Alexander Barkov authored
-
Jan Lindström authored
Added decompression and after page update recompression support for import.
-
- 21 Sep, 2015 8 commits
-
-
Sergei Petrunia authored
Post fix: initialize a variable
-
Alexander Barkov authored
and collations from the global name space into private and protected methods in Item_func_or_sum.
-
Sergei Petrunia authored
The crash was caused by range optimizer using RANGE_OPT_PARAM::min_key (and max_key) to store keys. Buffer size was a good upper bound for range analysis and partition pruning, but not for EITS selectivity calculations. Fixed by making these buffers variable-size. The sizes are calculated from [pseudo]indexes used for range analysis.
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
Using a CHARSET_INFO pointer instead.
-
Alexander Barkov authored
pointer instread, as the "derivation" and "repertoire" parts of DTCollation were not really used by user_var_entry.
-
Alexander Barkov authored
-
Alexander Barkov authored
Moving agg_arg_charsets_for_string_result() and agg_arg_charsets_for_string_result_with_comparison() inside "protected" section in Item_func_or_sum.
-
- 20 Sep, 2015 1 commit
-
-
Oleksandr Byelkin authored
-
- 19 Sep, 2015 1 commit
-
-
Nirbhay Choubey authored
-