- 28 Mar, 2017 11 commits
-
-
Sergei Golubchik authored
MDEV-11605 Assertion `(longlong) thd->status_var.local_memory_used >= 0 || !debug_assert_on_not_freed_memory' failed in my_malloc_size_cb_func MyISAM in compute_vcols() - which is used only in mi_check code - was computing indexed vcols into an internally allocated buffer (not record[0]) and the buffer was calculated to be long enough to fit every keyseg (a keyseg knows where its value in a record buffer is and the length of the value). This logic didn' work for prefix keys, because the keyseg length is the length of a prefix, but the record buffer needs to fit the complete value of a vcol. In this bug MyISAM was writing a 2K varchar into a buffer too short. Also it didn't work for repair-with-keycache, because that code recalculats all vcols, not only indexed ones. So, the buffer size (MYISAM_SHARE::vreclength) should include all vcols' full lengths. But it was calculated in mi_open and low-level MyISAM code has no knowledge of vcols. As a fix we now recalculate MYISAM_SHARE::vreclength in ha_myisam::setup_vcols_for_repair() which is always called before compute_vcols().
-
Sergei Golubchik authored
MDEV-10354 Assertion `! is_set()' failed in Diagnostics_area::set_ok_status on CREATE TABLE with invalid default test case
-
Sergei Golubchik authored
MDEV-11114 Cannot drop column referenced by CHECK constraint: Unknown column 'a' in 'virtual column function' clarify the error message
-
Sergei Golubchik authored
add columns needed for CHECK constraints not only to read_set, but also to vcol_set.
-
Sergei Golubchik authored
give threads more descriptive names
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't build the server with jemalloc. only build tokudb with it. move tokudb into a separate package, because it brings a new dependency
-
Sergei Golubchik authored
disable XtraDB in a way that makes it impossible to be built
-
Sergei Golubchik authored
* remove redundant casts * fix fix_win_paths() not to pretend that it takes const char* string because it changes it. Fix its callers not to pass const strings into it. * use _WIN32 not __WIN__
-
Sergei Golubchik authored
increase stack size for labrador
-
Alexey Botchkov authored
Added IS_GENERATED and GENERATION_EXPRESSION columns required by the SQL standard
-
- 27 Mar, 2017 5 commits
-
-
Igor Babaev authored
The function st_select_lex_unit::exec_recursive() incorrectly determined that a CTE mutually recursive with some others was stabilized in the case when the non-recursive part of the CTE returned an empty set. As a result the server fell into an infinite loop when executing a query using this CTE.
-
-
Vladislav Vaintroub authored
Do not truncate pointers returned by _findfirst to int.
-
Igor Babaev authored
Mutually recursive CTE could cause a crash of the server in the case when they were not Standard compliant. The crash happened in mysql_derived_prepare(), because the destructor the derived_result object created for a CTE that was mutually recursive with some others was called twice. Yet this destructor should not be called for resursive references.
-
Igor Babaev authored
The method With_element::check_unrestricted_recursive() icorrectly performed the check that no recursive reference is not encountered in inner parts of outer joins. As a result the server reported errors for valid specifications with outer joins.
-
- 26 Mar, 2017 1 commit
-
-
Vladislav Vaintroub authored
-
- 24 Mar, 2017 4 commits
-
-
Marko Mäkelä authored
This could fix a race condition between mysqld and perl on Windows.
-
Marko Mäkelä authored
The test was unnecessarily depending on InnoDB purge, which can sometimes fail to proceed. Let us rewrite the test to use BEGIN;INSERT;ROLLBACK to cause the immediate removal of the desired records.
-
Vladislav Vaintroub authored
MDEV-12328, added building of AWS for release builds
-
Rasmus Johansson authored
-
- 21 Mar, 2017 1 commit
-
-
Alexey Botchkov authored
instance connects to server. New thread kill status added KILL_SLAVE_SAME_ID, and the related error message.
-
- 20 Mar, 2017 2 commits
-
-
Vladislav Vaintroub authored
On some weird reason, Visual C++ does not like newly introduced #define ut_ad(EXPR) DBUG_ASSERT(EXPR) and writes bogus "not enough parameters for DBUG_ASSERT" warning. Workaround it with #define ut_ad DBUG_ASSERT
-
Alexey Botchkov authored
JSON_REMOVE. null_value wasn't properly set in Item_json_func_remove::val_str.
-
- 18 Mar, 2017 1 commit
-
-
Marko Mäkelä authored
After a partial rollback, an undo log segment that is empty may carry a duplicate-looking top_undo_no. Adjust the debug assertions and add a test.
-
- 17 Mar, 2017 6 commits
-
-
Vladislav Vaintroub authored
When "simulate_failed_connection_1" DBUG keyword is set, current thread's DBUG stack points to global variable in dbug (init_settings). This global variable could be overriden while current THD is still active, producing crash in worst scenario. Added DBUG_SET()so that the current thread own dbug context that cannot concurrently modified by anyone else.
-
Jon Olav Hauglid authored
Follow-up to Bug#21141390: REMOVE UNUSED FUNCTIONS AND CONVERT GLOBAL SYMBOLS TO STATIC but for variables instead of functions. Was identified with the -Wmissing-variable-declarations compiler warning option supported by Clang 3.6. Reviewed-by: Marko Mäkelä <marko.makela@oracle.com> RB: 9070
-
Marko Mäkelä authored
InnoDB defines some functions that are not called at all. Other functions are called, but only from the same compilation unit. Remove some function declarations and definitions, and add 'static' keywords. Some symbols must be kept for separately compiled tools, such as innochecksum.
-
Marko Mäkelä authored
Also, remove empty .ic files that were not removed by my MySQL commit. Problem: InnoDB used to support a compilation mode that allowed to choose whether the function definitions in .ic files are to be inlined or not. This stopped making sense when InnoDB moved to C++ in MySQL 5.6 (and ha_innodb.cc started to #include .ic files), and more so in MySQL 5.7 when inline methods and functions were introduced in .h files. Solution: Remove all references to UNIV_NONINL and UNIV_MUST_NOT_INLINE from all files, assuming that the symbols are never defined. Remove the files fut0fut.cc and ut0byte.cc which only mattered when UNIV_NONINL was defined.
-
Vladislav Vaintroub authored
until the protocol changes for bulk are finalized.
-
Vladislav Vaintroub authored
-
- 16 Mar, 2017 3 commits
-
-
Marko Mäkelä authored
This is a partial port of my patch in MySQL 8.0. In MySQL 8.0, all InnoDB references to DBUG_OFF were replaced with UNIV_DEBUG. We will not do that in MariaDB. InnoDB used two independent compile-time flags that distinguish debug and non-debug builds, which is confusing. Also, make ut_ad() and alias of DBUG_ASSERT().
-
Marko Mäkelä authored
In the InnoDB internal SQL parser, there is the keyword DOES_NOT_FIT_IN_MEMORY that is never specified in any CREATE TABLE statement that is passed to the InnoDB SQL parser (que_eval_sql() or pars_sql() or yyparse()). If this keyword were ever present, it would set the flag dict_table_t::does_not_fit_in_memory which is only present in debug builds. Let us remove all traces of this. Also, fix storage/innobase/pars/make_flex.sh so that no the generated file storage/innobase/pars/lexyy.cc works as is. FIXME: Always generate the InnoDB Bison files at build time, similar to how sql/sql_yacc.yy is handled. (This would still leave the generated scanner files, unless we want to add a build-time dependency for Flex.)
-
Varun Gupta authored
-
- 15 Mar, 2017 4 commits
-
-
Varun Gupta authored
The fix is about filling the space beyond the end of VARCHAR values with zeroes. VARCHAR NULLs already has its buffer filled with zeros. So when the VARCHAR fields are not NULL, then we explicitly fill the buffer with zeros.
-
Varun Gupta authored
Added conditions so that the WITH queries are also added to the query cache
-
Oleksandr Byelkin authored
fix proposed by Diego
-
Alexey Botchkov authored
-
- 14 Mar, 2017 2 commits
-
-
Marko Mäkelä authored
dict_create_or_check_foreign_constraint_tables(): Change the warning about the foreign key metadata table creation to a note. Remove messages after metadata table creation. If the creation fails, startup will abort with a message. Normally the creation succeeds on bootstrap, and the messages would only be noise. Remove the related suppressions from the tests.
-
Alexey Botchkov authored
Now let's check JSON length to fit the max_allowed packet.
-