summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix pool_of_threads test caseVladislav Vaintroub2011-12-184-11/+23
|
* Small adjustements to threadpoolVladislav Vaintroub2011-12-189-13/+14
|
* On Unix, correct default threadpool_idle_timeout to be 60 secVladislav Vaintroub2011-12-141-1/+1
|
* Fix Unix buildVladislav Vaintroub2011-12-103-13/+14
|
* Initial threadpool implementation for MariaDB 5.5Vladislav Vaintroub2011-12-0824-187/+2550
|
* Fix crash due to wrong my_error() call (5.5 after-merge fix).unknown2011-12-051-1/+1
|
* install my_valgrind.h tooSergei Golubchik2011-12-021-0/+1
|
* Fixed crashes found by application verifier:Vladislav Vaintroub2011-12-023-18/+24
| | | | | | | - 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.
* fix failing test cases in 5.5 main suiteVladislav Vaintroub2011-12-024-5/+8
|
* Make it possible to compile without SAFEMALLOC in debug buildsVladislav Vaintroub2011-12-022-1/+23
| | | | | | Default to no SAFEMALLOC on Windows, because C runtime malloc has this functionslity already
* Fix Aria unit tests on Windows.Vladislav Vaintroub2011-11-301-2/+14
| | | | | | | 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.
* fix signing and packagingVladislav Vaintroub2011-11-301-32/+32
|
* small cleanupSergei Golubchik2011-11-286-47/+19
|
* by default disable pbxt tooSergei Golubchik2011-11-281-26/+38
|
* consistency fixes for mysqld --helpSergei Golubchik2011-11-284-57/+42
|
* compilation failure on SolarisSergei Golubchik2011-11-281-0/+1
|
* mergeVladislav Vaintroub2011-11-2817-19/+77
|\
| * mergeVladislav Vaintroub2011-11-28132-910/+10444
| |\ | |/ |/|
* | mergedSergei Golubchik2011-11-276-9/+27
|\ \
* | | compilation fixesSergei Golubchik2011-11-276-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | 5.3->5.5 mergeSergei Golubchik2011-11-27119-890/+10421
|\ \ \
| * | | Small fixes to make compilers happy.Alexey Botchkov2011-11-221-3/+3
| | | |
| * | | Windows has no 'nearbyint' in libraries.Alexey Botchkov2011-11-221-2/+1
| | | | | | | | | | | | | | | | | | | | So removed.
| * | | Merge default materialization=on.unknown2011-11-2231-225/+342
| |\ \ \
| | * \ \ Merge enabling materialization=on by default.unknown2011-11-2131-225/+342
| | |\ \ \
| | | * \ \ Merge enabling of materialization=on by default with main tree.unknown2011-11-2131-225/+342
| | | |\ \ \
| | | | * | | Fixed PBXT test cases.unknown2011-11-092-7/+11
| | | | | | |
| | | | * | | - Removed a comment that is not true any more.unknown2011-11-092-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Consistent use of the SUBS_NOT_TRANSFORMED constant for in_strategy.
| | | | * | | Enable subquery materialization=ON by default.unknown2011-11-0927-216/+327
| | | | | | |
| * | | | | | Correct test file.unknown2011-11-211-1/+1
| | | | | | |
| * | | | | | Fix test to pass on 32-bit machines by reducingunknown2011-11-215-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the depth of subquery nestedness to less than 31 (sizeof(ulong)-1).
| * | | | | | Merge.Igor Babaev2011-11-215-3/+99
| |\ \ \ \ \ \
| | * | | | | | Fixed LP bug #887496.Igor Babaev2011-11-215-3/+99
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | Fix bug lp:833777unknown2011-11-218-3/+68
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Corrected the patch that made the optimizer switch for index condition pushdownIgor Babaev2011-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | set to 'on' by default.
| * | | | | Made the optimizer switch for index condition pushdown set to 'on' by default. Igor Babaev2011-11-2140-323/+324
| | | | | |
| * | | | | Fixed LP bug #892725.Igor Babaev2011-11-203-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A non-first execution of a prepared statement missed a call of the TABLE_LIST::process_index_hints() method in the code of the function setup_tables(). At some scenarios this could lead to the choice of a quite inefficient execution plan for the base query of the prepared statement.
| * | | | | Fix for bug #809849 spatial operations must be KILL-able.Alexey Botchkov2011-11-206-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checks for thd->killed state added to the long loops in geometry calculations. per-file comments: sql/gcalc_slicescan.cc Fix for bug #809849 spatial operations must be KILL-able. checks for TERMINATED_STATE added. sql/gcalc_slicescan.h Fix for bug #809849 spatial operations must be KILL-able. defines added to include checks for termination in the library. sql/gcalc_tools.cc Fix for bug #809849 spatial operations must be KILL-able. checks for TERMINATED_STATE added. sql/gcalc_tools.h Fix for bug #809849 spatial operations must be KILL-able. TERMINATED_STATE pointers added. sql/item_geofunc.cc Fix for bug #809849 spatial operations must be KILL-able. sql/item_geofunc.h Fix for bug #809849 spatial operations must be KILL-able.
| * | | | | Fixed LP bug #891995.Igor Babaev2011-11-183-2/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug in the function setup_semijoin_dups_elimination() could lead to invalid choice of the sequence of tables for which semi-join duplicate elimination was applied.
| * | | | | Fixed LP bug #891953.Igor Babaev2011-11-184-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to this bug the function SEL_IMERGE::or_sel_tree_with_checks() could build an inconsistent merge tree if one of the SEL_TREEs in the resulting index merge happened to contain a full key range. This could trigger an assertion failure.
| * | | | | unused variable removed.Alexey Botchkov2011-11-181-2/+1
| | | | | |
| * | | | | GCALC_CHECK_WITH_FLOAT disabled.Alexey Botchkov2011-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's not a good option for an onrdinary user.
| * | | | | Fixed LP bug #800184.Igor Babaev2011-11-184-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function key_and() erroneously called SEL_ARG::increment_use_count() when SEL_ARG::incr_refs() should had been called. This could lead to wrong values of use_count for some SEL_ARG trees.
| * | | | | Merge.Igor Babaev2011-11-171-2/+2
| |\ \ \ \ \ | | |/ / / / | |/| | | |
| | * | | | Corrected the fix for bug 891052.Igor Babaev2011-11-171-2/+2
| | | | | |
| * | | | | small fixes to make compiler happy.Alexey Botchkov2011-11-172-2/+2
| | | | | |
| * | | | | test results updated.Alexey Botchkov2011-11-174-12/+11
| | | | | |
| * | | | | merging.Alexey Botchkov2011-11-1735-312/+9229
| |\ \ \ \ \ | | |/ / / / | |/| | | |
| | * | | | merging.Alexey Botchkov2011-11-12568-11234/+47077
| | |\ \ \ \
| | * | | | | code cleanup.Alexey Botchkov2011-10-161-48/+0
| | | | | | |