summaryrefslogtreecommitdiff
path: root/sql
Commit message (Collapse)AuthorAgeFilesLines
* 5.3 mergeSergei Golubchik2012-02-248-40/+31
|\
| * Automatic mergeMichael Widenius2012-02-234-110/+141
| |\
| | * Fixed lp:933719, "Assertion open_tables == 0 ... " in ↵Michael Widenius2012-02-234-110/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | THD::restore_backup_open_tables_state. This also fixes a (not likely) crashing bug when forcing a thread that was doing a table lock to re-open it's files, for example by creating a trigger. mysys/thr_lock.c: Added more checking to find wrong locks. Removed one, not needed, parameter to thr_lock sql/lock.cc: Fixed mysql_lock_tables() to retry with new sql_lock if lock fails. This was needed as table may be closed and reopened between retry's and then the old sql_lock will point to stale data. sql/mysql_priv.h: Updated prototype sql/sql_base.cc: Ensure that all tables are closed if opening of system table failes; This fixes the assert in THD::restore_backup_open_tables_state sql/sql_handler.cc: Updated variable type
| * | Sort counters by their names (otherwise, the order of SHOW STATUS output is ↵Sergey Petrunya2012-02-221-3/+4
| | | | | | | | | | | | sometimes sorted and sometimes not)
| * | Added back MRR counters. The new names are: Handler_mrr_init, Sergey Petrunya2012-02-223-13/+16
| | | | | | | | | | | | Handler_mrr_key_refills, Handler_mrr_rowid_refills.
| * | Changed names of statistic variables and counting matches instaed of ↵unknown2012-02-224-13/+13
| | | | | | | | | | | | rejected rows.
| * | lp:923429 Crash in decimal_cmp on using UNIX_TIMESTAMP with a wrongly ↵Sergei Golubchik2012-02-212-13/+0
| |/ | | | | | | | | | | formatted timestamp UNIX_TIMESTAMP() can be null, and returns null for invalid values
| * Fixed that 'make distcheck' works with automake 1.11.11Michael Widenius2012-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed compiler warnings found by buildbot Makefile.am: Removed extra empty line cmd-line-utils/libedit/sys.h: Fixed that strndup() doesn't give compiler warnings mysql-test/Makefile.am: Fixes for 'make distcheck' plugin/auth_pam/auth_pam.c: Ensure that prototype for strndup() is included on linux sql/share/Makefile.am: Fixes for 'make distcheck' storage/innodb_plugin/btr/btr0sea.c: Fixed compiler warning support-files/Makefile.am: Fixes for 'make distcheck'
* | Merge fix for BUG#920132Sergey Petrunya2012-02-221-0/+6
|\ \
| * | BUG#920132: Assert trx->n_active_thrs == 1 failed at que0que.c line 1050Sergey Petrunya2012-02-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | - MySQL 5.5 introduced caching of constant items by means of wrapping them in Item_cache_XXX objects. If a subquery was wrapped in this cache, it could end up being pushed down by ICP. - The fix is to add Item_cache::walk() which lets ICP to see that the cache item has a subquery inside it, and disable pushdown for this case.
* | | 5.3 mergeSergei Golubchik2012-02-2113-54/+158
|\ \ \ | | |/ | |/|
| * | Automatic mergeMichael Widenius2012-02-211-10/+16
| |\ \
| | * \ Merge with 5.1Michael Widenius2012-02-211-2/+2
| | |\ \
| | | * \ Automatic mergeMichael Widenius2012-02-211-2/+2
| | | |\ \
| | | | * | More general handling of memory loss in dlclose (backported from 5.2)Michael Widenius2012-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed supression in mysql-test-run so it also works on windows. mysql-test/mysql-test-run.pl: Fixed supression so it also works on windows. mysql-test/valgrind.supp: More general handling of memory loss in dlclose (backported from 5.2) sql/signal_handler.cc: Added newlines around link to how to do bug reports
| | * | | | Automatic mergeMichael Widenius2012-02-211-0/+6
| | |\ \ \ \
| | | * | | | Added missing signal values to signal_handler.ccMichael Widenius2012-02-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/signal_handler.cc: Added missing signal values.
| | * | | | | mergeVladislav Vaintroub2012-02-202-9/+14
| | |\ \ \ \ \ | | | | |/ / / | | | |/| | |
| | | * | | | Fix compilation on Windows, and various Windows related mistakes introduced byVladislav Vaintroub2012-02-201-8/+14
| | | | |/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | "safe exception patch". Remove misleading comments suggesting about signal() Windows, the routine here is part of a exception handler, and sig parameter is an exception code.
| * | | | | Merge with MariaDB 5.2Michael Widenius2012-02-216-209/+314
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | Merge with 5.1Michael Widenius2012-02-201-1/+0
| | |\ \ \ \ | | | |/ / / | | |/| / / | | | |/ /
| | | * | Fixed compiler warningsMichael Widenius2012-02-201-1/+0
| | | | |
| | * | | Merge with MariaDB 5.1 and MySQL 5.1.61Michael Widenius2012-02-206-191/+289
| | |\ \ \ | | | |/ /
| | | * | Merge with MYSQL 5.1.61Michael Widenius2012-02-206-187/+290
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed README with link to source Merged InnoDB change to XtraDB README: Added information of where to find MariaDB code storage/archive/ha_archive.cc: Removed memset() of rows, a MariaDB checksum's doesn't touch not used data.
| | | * \ \ mergeVladislav Vaintroub2012-02-111-14/+21
| | | |\ \ \
| | * | | | | Fixed LP bug #933117.Igor Babaev2012-02-161-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was fixed with the code back-ported from the patch for LP bug 800184 pushed into mariadb-5.3.
| | * | | | | mergeVladislav Vaintroub2012-02-111-14/+20
| | |\ \ \ \ \
| * | \ \ \ \ \ MergeSergey Petrunya2012-02-201-1/+13
| |\ \ \ \ \ \ \
| | * | | | | | | BUG#933407: Valgrind warnings in mark_as_null_row with ↵Sergey Petrunya2012-02-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | materialization+semijoin, STRAIGHT_JOIN, impossible WHERE - In return_zero_rows(), don't call mark_as_null_row() for semi-join materialized tables, because 1) they may have been already freed, and 2)there is no real need to call mark_as_null_row() for them.
| * | | | | | | | Fixed bug #934348.Igor Babaev2012-02-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug is the result of an incomplete/inconsistent change introduced into 5.3 code when the cond_equal parameter were added to the function optimize_cond. The change was made during a merge from 5.2 in October 2010. The bug could affect only queries with HAVING.
| * | | | | | | | Fixed LP bug #934342.Igor Babaev2012-02-181-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An outer join query with a semi-join subquery could return a wrong result if the optimizer chose to materialize the subquery. It happened because when substituting for the best field into a ref item used to build access keys not all COND_EQUAL objects that could be employed at substitution were checked. Also refined some code in the function check_join_cache_usage to make it safer.
| * | | | | | | | Remove engine-specific (but identical) icp callbacks. create one reusableSergei Golubchik2012-02-172-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | common icp callback in the handler.cc. It can also increment status counters, without making the engine dependent on the exact THD layout (that is different in embedded).
| * | | | | | | | Fixed LP bug #928352.Igor Babaev2012-02-161-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug led to wrong values of the use_count fields in some SEL_ARG trees that triggered complains on the server side when executing the test case for LP bug 800184 if a debug build of the server was used. This was the result of the incomplete fix for bug 800184. To complete it the following corrections had to be made: - the copy constructor for SEL_TREE must call the new function incr_refs_all() instead of the function incr_refs(), because references to next key parts from any SEL_ARG tree belonging to the list of the first key part has to be adjusted. - the method and_sel_tree of the class SEL_IMERGE must use the copy constructor of the SEL_TREE class to make a copy of its second argument before it ANDs it with any SEL_TREE tree from the processed SEL_IMERGE object.
| * | | | | | | | Backport of:Sergey Petrunya2012-02-161-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | timestamp: Thu 2011-12-01 15:12:10 +0100 Fix for Bug#13430436 PERFORMANCE DEGRADATION IN SYSBENCH ON INNODB DUE TO ICP When running sysbench on InnoDB there is a performance degradation due to index condition pushdown (ICP). Several of the queries in sysbench have a WHERE condition that the optimizer uses for executing these queries as range scans. The upper and lower limit of the range scan will ensure that the WHERE condition is fulfilled. Still, the WHERE condition is part of the queries' condition and if ICP is enabled the condition will be pushed down to InnoDB as an index condition. Due to the range scan's upper and lower limits ensure that the WHERE condition is fulfilled, the pushed index condition will not filter out any records. As a result the use of ICP for these queries results in a performance overhead for sysbench. This overhead comes from using resources for determining the part of the condition that can be pushed down to InnoDB and overhead in InnoDB for executing the pushed index condition. With the default configuration for sysbench the range scans will use the primary key. This is a clustered index in InnoDB. Using ICP on a clustered index provides the lowest performance benefit since the entire record is part of the clustered index and in InnoDB it has the highest relative overhead for executing the pushed index condition. The fix for removing the overhead ICP introduces when running sysbench is to disable use of ICP when the index used by the query is a clustered index. When WL#6061 is implemented this change should be re-evaluated.
| * | | | | | | | Added commentsSergey Petrunya2012-02-161-1/+6
| | | | | | | | |
| * | | | | | | | Counters for Index Condition Pushdown added (MDEV-130).unknown2012-02-164-2/+26
| | | | | | | | |
* | | | | | | | | fix the include guards and add missing gplv2 headersSergei Golubchik2012-02-1711-0/+175
| |_|_|_|_|_|_|/ |/| | | | | | |
* | | | | | | | BUG#919878: Assertion `!eliminated_tables...Sergey Petrunya2012-02-211-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In MySQL 5.5, print_join() was re-worked to print "FROM dual" when all tables are constant. This change didn't work together with table elimination.
* | | | | | | | 5.3.4 mergeSergei Golubchik2012-02-1532-127/+443
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Fix for LP BUG#910123 MariaDB 5.3.3 causes 1093 error on Drupalunknown2012-02-145-8/+63
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was that now we can merge derived table (subquery in the FROM clause). Fix: in case of detected conflict and presence of derived table "over" the table which cased the conflict - try materialization strategy.
| * | | | | | Merge fix for BUG#928048Sergey Petrunya2012-02-141-3/+4
| |\ \ \ \ \ \
| | * | | | | | BUG#928048: Query containing IN subquery with OR in the where clause returns ↵Sergey Petrunya2012-02-141-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a wrong result - Make equality propagation work correctly when done inside the OR branches
| * | | | | | | Fixed LP bug #925985.Igor Babaev2012-02-132-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the flag 'optimize_join_buffer_size' is set to 'off' and the value of the system variable 'join_buffer_size' is greater than the value of the system variable 'join_buffer_space_limit' than no join cache can be employed to join tables of the executed query. A bug in the function JOIN_CACHE::alloc_buffer allowed to use join buffer even in this case while another bug in the function revise_cache_usage could cause a crash of the server in this case if the chosen execution plan for the query contained outer join or semi-join operation.
| * | | | | | | When we fail during slave thread initialisation, keep mi->run_lockunknown2012-02-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | locked until we have finished clean up. Previously, the code released the lock without marking that the thread was running. This allowed a new slave thread to start while the old one was still in the middle of cleaning up, causing assertions and probably general mayhem.
| * | | | | | | mergeVladislav Vaintroub2012-02-111-14/+20
| |\ \ \ \ \ \ \ | | | |_|/ / / / | | |/| | | | |
| | * | | | | | Fix for MDEV-140, LPBug#930145 - broken SSL connectivity for some connectorsVladislav Vaintroub2012-02-111-14/+20
| | |\ \ \ \ \ \ | | | | |_|_|/ / | | | |/| | | |
| | | * | | | | A recent change in the server protocol code broke SSL connection for some ↵Vladislav Vaintroub2012-02-111-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | client libraries. Protocol documentation (http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol) says that initial packet sent by client if client wants SSL, consists of client capability flags only (4 bytes or 2 bytes edependent on protocol versionl). Some clients happen to send more in the initial SSL packet (C client, Python connector), while others (Java, .NET) follow the docs and send only client capability flags. A change that broke Java client was a newly introduced check that frst client packet has 32 or more bytes. This is generally wrong, if client capability flags contains CLIENT_SSL. Also, fixed the code such that read max client packet size and charset in the first packet prior to SSL handshake. With SSL, clients do not have to send this info, they can only send client flags. This is now fixed such that max packet size and charset are not read prior to SSL handshake, in case of SSL they are read from the "complete" client authentication packet after SSL initialization.
| * | | | | | | Merge fix for lp:910817: Race condition in kill_threads_for_user().unknown2012-02-101-3/+13
| |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ Merge fix for lp:910817: Race condition in kill_threads_for_user().unknown2012-02-101-3/+13
| | |\ \ \ \ \ \ \ | | | |_|_|/ / / / | | |/| | | | | |
| * | | | | | | | Fixed that prepared statements are properly igored (if possible) by query cache.Michael Widenius2012-02-101-0/+25
| |/ / / / / / /