- 14 Mar, 2017 1 commit
-
-
Varun Gupta authored
failed with SELECT SQ, TEXT field The functon find_all_keys does call Item_subselect::walk, which calls walk() for the subquery The issue is that when a field is represented by Item_outer_ref(Item_direct_ref(Item_copy_string( ...))). Item_copy_string does have a pointer to an Item_field in Item_copy::item but does not implement Item::walk method, so we are not able to set the bitmap for that field. This is the reason why the assert fails. Fixed by adding the walk method to Item_copy class.
-
- 13 Mar, 2017 1 commit
-
-
Vladislav Vaintroub authored
-
- 12 Mar, 2017 1 commit
-
-
Sergei Golubchik authored
force SELinux policies to be built in mysql_release RPM packages
-
- 09 Mar, 2017 1 commit
-
-
Sergei Petrunia authored
-
- 08 Mar, 2017 6 commits
-
-
Vladislav Vaintroub authored
MDEV-12207 Include windows compatibility manifest into executable to make GetVersionEx work correctly
-
Vicențiu Ciorbaru authored
mysql_client uses some inline assembly code to switch thread stacks. This works, however tools that perform backtrace get confused to fix this we write a specific constant to signify bottom of stack. This constant is needed when compiling with CLang as well.
-
Marko Mäkelä authored
This is essentially a backport of the 10.0 commit 203f4d41 that fixes a bug and silences a GCC 6.3.0 warning about a left shift of a signed integer. Missing parenthesis in a macro definition caused wrong operation in the Query_cache::send_result_to_client() statement thd->query_plan_flags= (thd->query_plan_flags & ~QPLAN_QC_NO) | QPLAN_QC; This would expand to thd->query_plan_flags= (thd->query_plan_flags & ~1) << 6 | 1 << 5; which would shift the flags by 6 and clear an unrelated flag, instead of clearing the flag (1 << 6).
-
Marko Mäkelä authored
Provide more useful progress reporting of crash recovery. recv_sys_t::progress_time: The time of the last report. recv_scan_print_counter: Remove. log_group_read_log_seg(): After after each I/O request, report progress if needed. recv_apply_hashed_log_recs(): At the start of each batch, if there are pages to be recovered, issue a message.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The C++ standard does not allow references to be NULL. Assign the return value of THD::alloc() to a pointer, not to a reference.
-
- 06 Mar, 2017 1 commit
-
-
Alexey Botchkov authored
Server audit plugin version updated.
-
- 05 Mar, 2017 1 commit
-
-
Varun Gupta authored
Disabling the cond guards during the creation of Tricond Item for constant and NULL left expression items
-
- 03 Mar, 2017 1 commit
-
-
Marko Mäkelä authored
The function posix_fallocate() as well as the Linux system call fallocate() can return EINTR when the operation was interrupted by a signal. In that case, keep retrying the operation, except if InnoDB shutdown has been initiated.
-
- 28 Feb, 2017 1 commit
-
-
Oleksandr Byelkin authored
MDEV-9635: Server crashes in part_of_refkey or assertion `!created && key_to_save < (int)s->keys' failed in TABLE::use_index(int) or with join_cache_level>2 Do not try to create index where ref is for hash join.
-
- 27 Feb, 2017 23 commits
-
-
Igor Babaev authored
The function mysql_derived_merge() erroneously did not mark newly formed AND formulas in ON conditions with the flag abort_on_null. As a result not_null_tables() calculated incorrectly for these conditions. This could prevent conversion of embedded outer joins into inner joins. Changed a test case from table_elim.test to preserve the former execution plan.
-
Sergei Golubchik authored
MDEV-5999 MySQL Bug#12766319 - 61865: RENAME USER DOES NOT WORK CORRECTLY - REQUIRES FLUSH PRIVILEGES use update_hostname() to update the hostname. test case comes from commit 0abdeed1d6d Author: gopal.shankar@oracle.com <> Date: Thu Mar 29 00:20:54 2012 +0530 Bug#12766319 - 61865: RENAME USER DOES NOT WORK CORRECTLY - REQUIRES FLUSH PRIVILEGES
-
Dmitry Lenev authored
FUNCTIONS/PRIVILEGES DIFFERENTLY'. The problem was that attempt to grant EXECUTE or ALTER ROUTINE privilege on stored procedure which didn't exist succeed instead of returning an appropriate error like it happens in similar situation for stored functions or tables. The code which handles granting of privileges on individual routine calls sp_exist_routines() function to check if routine exists and assumes that the 3rd parameter of the latter specifies whether it should check for existence of stored procedure or function. In practice, this parameter had completely different meaning and, as result, this check was not done properly for stored procedures. This fix addresses this problem by bringing sp_exist_routines() signature and code in line with expectation of its caller.
-
Sergei Golubchik authored
it went out of support five years ago
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
It's too plainful to require <my_config.h> to be included first for third-party storage engines. And anyway, some source files might not include <my_config.h> at all, so there is no guarantee that all parts of the binary will see identical definitions of system structures (e.g. struct stat). Define _FILE_OFFSET_BITS on the compiler's command line instead.
-
Sergei Golubchik authored
fix_for_comment() uses a static buffer. cannot have two fix_for_comment() calls as arguments to one printf().
-
Sergei Golubchik authored
it was race condition prone. instead use either a pair of my_delete() calls with already resolved paths, or a safe high-level function my_handler_delete_with_symlink(), like MyISAM and Aria already do.
-
Sergei Golubchik authored
don't realpath() twice
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
At least it would be a compilation failure with -DDONT_ALLOW_SHOW_COMMANDS. Otherwise it only confuses ctags to ignore ~75% of sql_parse.cc
-
Sergei Golubchik authored
-
Sergei Golubchik authored
TOCTOU bug. The path is checked to be valid, symlinks are resolved. Then the resolved path is opened. Between the check and the open, there's a window when one can replace some path component with a symlink, bypassing validity checks. Fix: after we resolved all symlinks in the path, don't allow open() to resolve symlinks, there should be none. Compared to the old MyISAM/Aria code: * fastpath. Opening of not-symlinked files is just one open(), no fn_format() and lstat() anymore. * opening of symlinked tables doesn't do fn_format() and lstat() either. it also doesn't to realpath() (which was lstat-ing every path component), instead if opens every path component with O_PATH. * share->data_file_name stores realpath(path) not readlink(path). So, SHOW CREATE TABLE needs to do lstat/readlink() now (see ::info()), and certain error messages (cannot open file "XXX") show the real file path with all symlinks resolved.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Remove maria_test_invalid_symlink() and myisam_test_invalid_symlink(), introduce mysys_test_invalid_symlink(). Other engines might need it too
-
Sergei Golubchik authored
Don't let my_register_filename() fail because strdup() failed. Better to have NULL for a filename, then to fail the already successful open(). Filenames are only used for error reporting and there was already code to ignore OOMs (my_fdopen()) and to cope with missing filenames (my_filename()).
-
Sergei Golubchik authored
my_realpath() ignores MY_xxx flags anyway
-
Sergei Golubchik authored
While DEBUG_SYNC doesn't make sense without a valid THD, it might be put in the code that's invoked both within and outside of a THD context (e.g. in maria_open(), there is no THD during recovery).
-
Sergei Golubchik authored
Workaround for join_cache + index on vcols + keyread bug. Initialize the record to avoid caching garbage in non-read fields. A proper fix (do not cache non-read fields at all) is done in 10.2 in commits 5d7607f3..8d99166c
-
Sergei Golubchik authored
mysql_prune_stmt_list() was walking the list following element->next pointers, but inside the loop it was invoking list_add(element) that modified element->next. So, mysql_prune_stmt_list() failed to visit and reset all elements, and some of them were left with pointers to invalid MYSQL.
-
- 24 Feb, 2017 1 commit
-
-
Igor Babaev authored
'Not exists' optimization can be used for nested outer joins only if IS NULL predicate from the WHERE condition is activated. So we have to check that all guards that wrap this predicate are in the 'open' state. This patch supports usage of 'Not exists' optimization for any outer join, no matter how it's nested in other outer joins. This patch is also considered as a proper fix for bugs #49322/#58490 and LP #817360.
-
- 23 Feb, 2017 1 commit
-
-
Elena Stepanova authored
The tests are disabled for valgrind in 5.6/10.x (LP:1549196), so they should be disabled in 5.5 as well
-
- 22 Feb, 2017 1 commit
-
-
Marko Mäkelä authored
Before the MDEV-11520 fixes, fil_extend_space_to_desired_size() in MariaDB Server 5.5 incorrectly passed the desired file size as the third argument to posix_fallocate(), even though the length of the extension should have been passed. This looks like a regression that was introduced in the 5.5 version of MDEV-5746.
-