summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* always use sql/sql_string.* files, never - client/sql_string.*Sergei Golubchik2011-12-156-8/+3
|
* Fix XtraDB build on windows (avoid #ifdef inside macro invocation).unknown2011-12-151-4/+6
|
* Merge missing file from XtraDBunknown2011-12-151-0/+2
|\
| * Add file accidentally omitted in last commitunknown2011-12-151-0/+2
| |
* | Merge XtraDB from Percona-server-5.5.17-rel22.1 into MariaDB 5.5unknown2011-12-15110-2947/+5935
|\ \ | |/
| * Updated with XtraDB from Percona Server 5.5.17-rel22.1unknown2011-12-14103-2880/+5921
| | | | | | | | Files copied from Percona-Server-5.5.17-rel22.1.tar.gz source tarball.
* | After-merge fixes for 5.5 merge.unknown2011-12-1412-48/+80
| | | | | | | | | | | | | | Fix typo causing too low timeout value for wait_for_slave_param.inc. Fix binlog checksums following 5.5 merge. Make sure the rpl suite can run with --mysqld=--binlog-checksum=CRC32 Fix a number of problems in the code when checksums are enabled.
* | fix new String:realloc* variants always to zero-terminate the stringSergei Golubchik2011-12-142-4/+16
| |
* | new valgrind suppression for ld.soSergei Golubchik2011-12-143-15/+22
| | | | | | | | | | give mysqld more time to start under valgrind
* | new configure option: NOT_FOR_DISTRIBUTIONSergei Golubchik2011-12-148-85/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | bugfix: cxxabi.h was not foundSergei Golubchik2011-12-131-1/+2
| |
* | after merge changes:Sergei Golubchik2011-12-12280-3348/+3327
| | | | | | | | | | | | | | | | | | | | | | * 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.
* | move safemalloc out of dbug.Sergei Golubchik2011-12-1228-455/+455
| | | | | | | | | | | | remeber a real backtrace for every allocation. make safemalloc to tract C++ new/delete too. collateral fixes to make the test suite pass.
* | another backtrace resolver that prints source file name and line numberSergei Golubchik2011-12-117-6/+189
| |
* | win64 sysvar portability fixesSergei Golubchik2011-12-0229-153/+219
| |
* | Fix valgrind error after 5.5 merge (the 5.3 fix was accidentally lost in the ↵unknown2011-12-081-1/+1
| | | | | | | | merge).
* | 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.