- 14 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
fix safemalloc to compile w/o libbfd. CMakeLists.txt: NOT_FOR_DISTRIBUTION option cmake/readline.cmake: simplify libedit/readline detection. never use bundled libedit. use system readline v6 only if NOT_FOR_DISTRIBUTION=1 configure.cmake: use libbfd only if NOT_FOR_DISTRIBUTION=1 include/my_stacktrace.h: link with libbfd even w/o safemalloc.
-
- 13 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
-
- 12 Dec, 2011 2 commits
-
-
Sergei Golubchik authored
* rename all debugging related command-line options and variables to start from "debug-", and made them all OFF by default. * replace "MySQL" with "MariaDB" in error messages * "Cast ... converted ... integer to it's ... complement" is now a note, not a warning * @@query_cache_strip_comments now has a session scope, not global.
-
Sergei Golubchik authored
remeber a real backtrace for every allocation. make safemalloc to tract C++ new/delete too. collateral fixes to make the test suite pass.
-
- 11 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
-
- 02 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
-
- 08 Dec, 2011 1 commit
-
-
unknown authored
-
- 05 Dec, 2011 1 commit
-
-
unknown authored
-
- 02 Dec, 2011 4 commits
-
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
- leaking mutex in lf_hash_destroy - pthread_getspecific() before pthread_key_create() in my_thread_var_dbug() (called by static C++ object constructors called in sys_vars) - perfschema destroys mutexes that were not created.
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Default to no SAFEMALLOC on Windows, because C runtime malloc has this functionslity already
-
- 29 Nov, 2011 2 commits
-
-
Vladislav Vaintroub authored
Replace statements connected with bitwise OR with series of "if"s. The later is guaranteed to execute in order, bitwise OR does not have specific order for statement execution.
-
Vladislav Vaintroub authored
-
- 28 Nov, 2011 6 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
- 27 Nov, 2011 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
cmake/maintainer.cmake: don't do -Werror just yet config.h.cmake: according to MSDN PSAPI_VERSION should be 1 in a portable application mysys/my_thr_init.c: first, reset THR_KEY_mysys, and then free dbug data, because dbug data are automacially created on the next dbug call, unless THR_KEY_mysys is null.
-
Sergei Golubchik authored
-
- 26 Nov, 2011 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
- build executables we have in 5.3 (mysql_install_db.exe, mysq_upgrade_service.exe, upgrade wizard), and MSI - add some missing headers to windows specific source files. This needs to be done since 5.5 is using WIN32_LEAN_AND_MEAN preprocessor constant thus windows.h no more includes whiole Windows - do not deliver perl scripts (mysql_install_db.pl & friends) -they do not work, are not documented, and we have native executables for this functionality. do not pack echo.exe, replace.exe into MSI, they are not needed. Do not build resolveip on Windows, it is not used. - precache results of of system checks in cmake/os/WindowsCache.cmake (like it is alreay done for majority of tests to speed up cmake run with VS) - make feedback plugin DEFAULT on Windows (so MSI works if user enables plugin), fix null pointer access in PSI_register
-
- 25 Nov, 2011 1 commit
-
-
Vladislav Vaintroub authored
A variable XTRADB_PREFER_STATIC_LIBAIO should be set to 1 (or TRUE or ON) for static linking. Even if mysqld can avoid dependency on shared libaio, shared libraries libmysqld.so or ha_innodb.so cannot link without it. Given that the patch primarily addresses building tar.gz package, and shared libraries mentioned above deemed less important than mysqld executable, we accept shared lib dependency on libaio.so
-
- 23 Nov, 2011 3 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Hardcode -MariaDB suffix for MYSQL_SERVER_VERSION in mysql_version.h
-
Sergei Golubchik authored
-
- 22 Nov, 2011 6 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Make max_user_connections signed, with min allowed value being -1.
-
Sergei Golubchik authored
-
Alexey Botchkov authored
-
Alexey Botchkov authored
So removed.
-
unknown authored
-
- 21 Nov, 2011 5 commits
-
-
unknown authored
-
unknown authored
the depth of subquery nestedness to less than 31 (sizeof(ulong)-1).
-
Igor Babaev authored
-
Igor Babaev authored
This bug in the function Loose_scan_opt::check_ref_access_part1 could lead to choosing an invalid execution plan employing a loose scan access to a semi-join table even in the cases when such access could not be used at all. This could result in wrong answers for some queries with IN subqueries.
-
unknown authored
Analysis: The optimizer distinguishes two kinds of 'constant' conditions: expensive ones, and non-expensive ones. The non-expensive conditions are evaluated inside make_join_select(), and if false, already the optimizer detects empty query results. In order to avoid arbitrarily expensive optimization, the evaluation of expensive constant conditions is delayed until execution. These conditions are attached to JOIN::exec_const_cond and evaluated in the beginning of JOIN::exec. The relevant execution logic is: JOIN::exec() { if (! join->exec_const_cond->val_int()) { produce an empty result; stop execution } continue execution execute the original WHERE clause (that contains exec_const_cond) ... } As a result, when an expensive constant condition is TRUE, it is evaluated twice - once through JOIN::exec_const_cond, and once through JOIN::cond. When the expensive constant condition is a subquery, predicate, the subquery is evaluated twice. If we have many levels of subqueries, this logic results in a chain of recursive subquery executions that walk a perfect binary tree. The result is that for subquries with depth N, JOIN::exec is executed O(2^N) times. Solution: Notice that the second execution of the constant conditions happens inside do_select(), in the branch: if (join->table_count == join->const_tables) { ... } In this case exec_const_cond is equivalent to the whole WHERE clause, therefore the WHERE clause has already been checked in the beginnig of JOIN::exec, and has been found to be true. The bug is addressed by not evaluating the WHERE clause if there was exec_const_conds, and it was TRUE.
-