- 02 Nov, 2010 8 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
This bug in the MRR code for Maria engine caused wrong results when MRR was used to scan ranges for each record. Added test cases for bugs 669420 and 669423 (as a duplicate of 669420).
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Michael Widenius authored
Fixed compiler warnings. include/queues.h: Added prototype for queue_replace() mysys/queues.c: Fixed wrong queue_replace() mysys/thr_alarm.c: Added DBUG_PRINT sql/item_subselect.cc: Check return value of ha_rnd_init(). (Fixes compiler warnings) sql/sql_class.cc: Fixed wrong test sql/sql_show.cc: Removed not used variable.
-
- 30 Oct, 2010 2 commits
-
-
Sergei Golubchik authored
don't set view_prepare_mode when opening a base table (either in SHOW CREATE or in I_S.TABLES)
-
Igor Babaev authored
The bug could cause wrong results for queries over Maria tables when index condition pushdown was used.
-
- 29 Oct, 2010 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
unknown authored
Also fix missing zero termination in DBUG_PRINT, causing garbage output in --debug output.
-
- 28 Oct, 2010 1 commit
-
-
Sergei Golubchik authored
-
- 27 Oct, 2010 4 commits
-
-
unknown authored
The set of Ordered keys of a rowid merge engine is dense. Thus when we decide not to create a key for a column that has only NULLs, this column shouldn't be counted. Notice that the caller has already precomputed the correct total number of keys that should be created.
-
unknown authored
Post-review fix - avoid re-evaluation of the having clause when it evaluates to true.
-
unknown authored
The main.ps_ddl test does SELECT * FROM mysql.general_log; that can be really expensive with --valgrind if previous test cases put lots of data in the general log since last server restart. Fix by truncating the log at test start.
-
unknown authored
sql/sql_expression_cache.cc: Type of the variable fixed. sql/sql_expression_cache.h: Type of the variable fixed.
-
- 26 Oct, 2010 2 commits
-
-
unknown authored
The cause for this bug is that MariaDB 5.3 still processes derived tables (subqueries in the FROM clause) by fully executing them during the parse phase. This will be remedied by MWL#106 once merged into the main 5.3. The assert statement is triggered when MATERIALIZATION is ON for EXPLAIN EXTENDED for derived tables with an IN subquery as follows: - mysql_parse calls JOIN::exec for the derived table as if it is regular execution (not explain). - When materialization is ON, this call goes all the way to subselect_hash_sj_engine::exec, which creates a partial match engine because of NULL presence. - In order to proceed with normal execution, the hash_sj engine substitutes itself with the created partial match engine. - After the parse phase it turns out that this execution was part of EXPLAIN EXTENDED, which in turn calls Item_cond::print -> ... -> Item_subselect::print, which calls engine->print(). Since subselect_hash_sj_engine::exec substituted the current Item_subselect engine with a partial match engine, eventually we call its ::print() method. However the partial match engines are designed only for execution, hence there is no implementation of this print() method. The fix temporarily removes the assert, until this code is merged with MWL#106.
-
Sergei Golubchik authored
-
- 25 Oct, 2010 3 commits
-
-
unknown authored
The bug was a result of missing logic to handle the case when there are 'expensive' predicates that are not evaluated during constant table optimization. Such is the case for the IN predicate, which is considered expensive if it is computed via materialization. In general this bug can be triggered with any expensive predicate instead of IN. When FALSE constant predicates are not evaluated during constant optimization, the execution path changes so that instead of setting JOIN::zero_result_cause after make_join_select, and exiting JOIN::exec via the call to return_zero_rows(), execution ends in JOIN::exec in the branch: if (join->tables == join->const_tables) { ... else if (join->send_row_on_empty_set()) ... rc= join->result->send_data(*columns_list); } Unlike return_zero_rows(), this branch didn't evaluate the having clause of the query. The patch adds a call to evaluate the HAVING clause of a query even when all tables are constant, because even for an empty result set some aggregate functions may produce a NULL value.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 24 Oct, 2010 1 commit
-
-
Sergei Golubchik authored
bugfix: engine defined table options were not showing up in INFORMATION_SCHEMA.TABLES.CREATE_OPTIONS
-
- 22 Oct, 2010 1 commit
-
-
Sergei Golubchik authored
-
- 20 Oct, 2010 1 commit
-
-
Sergei Golubchik authored
-
- 26 Oct, 2010 1 commit
-
-
unknown authored
-
- 20 Oct, 2010 3 commits
-
-
Sergei Golubchik authored
BUG#26447 prefer a clustered key for an index scan, as secondary index is always slower ... which was fixed to cause BUG#35850 queries take 50% longer ... and was reverted and BUG#39653 prefer a secondary index for an index scan, as clustered key is always slower ... which was fixed to cause BUG#55656 mysqldump takes six days instead of half an hour ... and was amended with a special case workaround sql/opt_range.cc: move get_index_only_read_time() into the handler class sql/sql_select.cc: use cost not an index length when choosing a cheaper index
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 19 Oct, 2010 5 commits
-
-
Sergei Golubchik authored
-
unknown authored
-
Sergei Golubchik authored
-
unknown authored
-
unknown authored
-
- 18 Oct, 2010 2 commits
-
-
Sergey Petrunya authored
(Otherwise we get different EXPLAINs for xtradb and innodb plugin).
-
Sergey Petrunya authored
- Fix a crash in nested semi-join subquery processing
-
- 17 Oct, 2010 1 commit
-
-
Sergey Petrunya authored
- When building multiple-equalities for HAVING, don't set JOIN::cond_equal, set join_having_equal instead. Setting JOIN::cond_equal based on HAVING makes equality propagation data self-inconsistent
-
- 14 Oct, 2010 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-