- 20 Apr, 2016 2 commits
-
-
Alexander Barkov authored
MDEV-9662 Assertion `precision || !scale' failed in my_decimal_precision_to_length_no_truncation(uint, uint8, bool) The patch for MDEV-9745 earlier fixed the problem reported in MDEV-9662 as well. Only adding tests.
-
Alexander Barkov authored
This is a backport of the patch for MDEV-9653 (fixed earlier in 10.1.13). The code in Item_func_case::fix_length_and_dec() did not calculate max_length and decimals properly. In case of any numeric result (DECIMAL, REAL, INT) a generic method Item_func_case::agg_num_lengths() was called, which could erroneously result into a DECIMAL item with max_length==0 and decimals==0, so the constructor of Field_new_decimals tried to create a field of DECIMAL(0,0) type, which caused a crash. Unlike Item_func_case, the code responsible for merging attributes in Item_func_coalesce::fix_length_and_dec() works fine: it has specific execution branches for all distinct numeric types and correctly creates a DECIMAL(1,0) column instead of DECIMAL(0,0) for the same set of arguments. The fix does the following: - Moves the attribute merging code from Item_func_coalesce::fix_length_and_dec() to a new method Item_func_hybrid_result_type::fix_attributes() - Removes the wrong code from Item_func_case::fix_length_and_dec() and reuses fix_attributes() in both Item_func_coalesce::fix_length_and_dec() and Item_func_case::fix_length_and_dec() - Fixes count_real_length() and count_decimal_length() to get an array of Items as an argument, instead of using Item::args directly. This is needed for Item_func_case::fix_length_and_dec(). - Moves methods Item_func::count_xxx_length() from "public" to "protected". - Removes Item_func_case::agg_num_length(), as it's not used any more. - Additionally removes Item_func_case::agg_str_length(), as it also was not used (dead code).
-
- 19 Apr, 2016 2 commits
-
-
Sergey Vojtovich authored
SHOW PROCESSLIST output can be affected by not completed concurrent queries. Removed this affected SHOW PROCESSLIST since it doesn't seem to affect original problem.
-
Sergey Vojtovich authored
Fixed wait condition in test case to actually wait for get_lock() completion (not for lock acquisition as it was before). This removes sporadic extra row in subsequent processlist queries.
-
- 18 Apr, 2016 1 commit
-
-
Alexander Barkov authored
Item_func_ifnull::date_op() and Item_func_coalesce::date_op() could erroneously return 0000-00-00 instead of NULL when get_date() was called with the TIME_FUZZY_DATES flag, e.g. from LEAST().
-
- 01 Apr, 2016 1 commit
-
-
Alexander Barkov authored
-
- 18 Mar, 2016 1 commit
-
-
Sergei Golubchik authored
5.5 part of the fix
-
- 17 Mar, 2016 2 commits
-
-
Sergei Golubchik authored
don't allocate all the stack, leave some stack for function calls. To test I added the following line: alloca_size = available_stack_size() - X at X=4096 or less mysqld crashed, at 8192 mtr test passed.
-
Sergei Golubchik authored
remove erroneous free() call
-
- 26 Feb, 2016 1 commit
-
-
Elena Stepanova authored
The test created a file in location relative to the datadir (a few levels above datadir). The file was created by MariaDB server (via INTO OUTFILE), and later removed by mysqltest (via remove_file). The problem is that when the vardir is a symlink, MariaDB server and mysqltest can resolve such paths differently. MariaDB server would return back to where the symlink is located, while mysqltest would go above the real directory. For example, if the test is run with --mem, and /bld/5.5/mysql-test/var points at /dev/shm/var_auto_X, then SELECT INTO OUTFILE created a file in /bld/5.5/mysql-test , but remove_file would look for it in /dev/shm/. The test is re-written so that all paths are resolved in perl, the logic itself hasn't changed.
-
- 17 Feb, 2016 1 commit
-
-
Sergei Golubchik authored
Debian tests are run in 2017, update the test to use 2027 as a "future".
-
- 15 Feb, 2016 6 commits
-
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
don't use ipv6 is the check fails for any reason. for example, an ancient solaris perl didn't have sockaddr_in6() in Socket at all.
-
Sergei Golubchik authored
it caused feedback plugin tests to fail
-
Sergei Golubchik authored
1. ignore generated dtrace files 2. don't rewrite probes_mysql_nodtrace.h in-place
-
Sergei Golubchik authored
1. check that unused inline functions are removed 2. only allow compilation if they are or if the check if overridden 3. with CMAKE_GENERATOR=Makefiles, use all flags when testing (e.g. both CMAKE_C_FLAGS and CMAKE_C_FLAGS_DEBUG if CMAKE_BUILD_TYPE=Debug). This is because - on Solaris with the SunPro compiler, default CMAKE_C_FLAGS_xxx values contain -xO2 (for Release and RelWithDebInfo) and -g (for RelWithDebInfo and Debug) - proper inlining only works at -xO4 without -g - so if CMAKE_C_FLAGS has -xO4, inlining would work in configure.cmake (before this fix) and fail during actual compilation also remove the outdated check for inline from myu_global.h
-
Sergei Golubchik authored
1. unused static inline functions are only removed at -xO4, otherwise test binaries will depend on various mysys symbols that they don't use. Link test with libmysys. 2. Sphinx - don't instantiate (explicitly) templates before they're defined. Or, rather, don't instantiate them explicitly at all. 3. GIS - don't use anonymous unions and structs.
-
- 14 Feb, 2016 2 commits
-
-
Vicențiu Ciorbaru authored
In case of missing includedir file, we would attempt to free a NULL pointer. Make sure to guard against that.
-
Vicențiu Ciorbaru authored
In the case of error during my_load_defaults, we would not free the args array.
-
- 12 Feb, 2016 1 commit
-
-
Alexey Botchkov authored
-
- 10 Feb, 2016 2 commits
-
-
Alexander Barkov authored
-
Vicențiu Ciorbaru authored
Fix test failure when using maria small-block size. We need to query the max_key_length and max_key_parts based on the the tmp table engine.
-
- 09 Feb, 2016 10 commits
-
-
Oleksandr Byelkin authored
MDEV-7765: Crash (Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field_index) || bitmap_is_set(table->vcol_set, field_index))' fails) on using function over not created table Problem was that created table was not marked as used (not set query_id) and so opening tables for stored function pick it up (as opened place holder for it) and used changing TABLE internals.
-
Vicențiu Ciorbaru authored
The select mentioned in the bug attempted to create a temporary table using the maria storage engine. The table needs to have primary keys such that duplicates can be removed. Unfortunately this use case has a longer than allowed key and the tmp table got created without a temporary key. We must not allow materialization for the subquery if the total key length and key parts is greater than what the storage engine supports.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
5.5.47-37.7
-
Sergei Golubchik authored
test case for ALTER TABLE view CHECK PARTITION
-
Sergei Golubchik authored
test case
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Correct fix. Generate the query in the client charset, not in the system one.
-
Sergei Golubchik authored
reverted about half of commits as either not applicable or outright wrong
-
Alexey Botchkov authored
The http-proxy option to the FEEDBACK plugin backported.
-
- 08 Feb, 2016 3 commits
-
-
Sergei Petrunia authored
When one evaluates row-based comparison like (X, Y) = (A,B), one should first call bring_value() for the Item that returns row value. If you don't do that and just attempt to read values of X and Y, you get stale values. Semi-join/Materialization can take a row-based comparison apart and make ref access from it. In that case, we need to call bring_value() to get the index lookup components.
-
Sergei Golubchik authored
-
Sergei Petrunia authored
Consider a query with subquery in form t.key=(select ...). Suppose, the parent query uses this equality for ref access. It will attempt to evaluate the subquery in get_best_combination(), right before the join->join_tab[...] array is filled. The problem was that subquery optimization will attempt to look at parent's join->join_tab to check how many times subquery will be executed (and crash). Fixed by not doing that when the subquery is constant (non-constant subqueries are only be evaluated during join execution, so they are not affected)
-
- 06 Feb, 2016 5 commits
-
-
Sergei Golubchik authored
cherry-pick f1daf9ce from 10.0 branch ------------------------------------- Fix build failures caused by new C runtime library - isnan, snprintf, struct timespec are now defined, attempt to redefine them leads - P_tmpdir, tzname are no more defined - lfind() and lsearch() in lf_hash.c had to be renamed, declaration conflicts with some C runtime functions with the same name declared in a header included by stdlib.h Also fix couple of annoying warnings : - remove #define NOMINMAX from config.h to avoid "redefined" compiler warnings(NOMINMAX is already in compile flags) - disable incremental linker in Debug as well (feature not used much and compiler crashes often) Also simplify package building with Wix, require Wix 3.9 or later (VS2015 is not compatible with old Wix 3.5/3.6)
-
Sergei Golubchik authored
fix dynstr_append_os_quoted() to escape single quotes correctly for a POSIX shell
-
Sergei Golubchik authored
and a trivial cleanup to avoid manually-specified lengths
-
Oleksandr Byelkin authored
Fixed adding derived tables items to outer one.
-
Sergei Golubchik authored
mysqlcheck tool can be used even if opt_systables_only is true (to upgrade views from mysql - that overrides opt_systables_only)
-