- 30 May, 2011 2 commits
- 27 May, 2011 1 commit
-
-
Igor Babaev authored
The patch imposes unconditional materialization for derived tables used in update and multi-update statements. Fixed a bug with a wrong order of processing derived tables/views at the prepare stage that caused a crash for the variant of the query from test case for bug 52157.
-
- 22 May, 2011 1 commit
-
-
Igor Babaev authored
One was due the fact that the field SELECT_LEX::insert_tables was not initialized while the second was due to missing initialization of JOIN_TAB::preread_init_done in subselect_hash_sj_engine::make_unique_engine. Removed an invalid assert.
-
- 21 May, 2011 1 commit
-
-
Igor Babaev authored
Two of them (in the function make_join_statistics and in the function sort_and_filter_keyuse) were due to bad merges while the third bug was triggered by uninitialized values of the field JOIN_TAB::preread_init_done. Fixed a compiler warning in mysql_priv.h. Commented out some queries from the funcs_1 suite returning wrong errors due to bugs concerning updatable views (see bugs 784297 and 784303). Adjusted some results for the test cases with derived tables from different suites.
-
- 20 May, 2011 12 commits
-
-
Igor Babaev authored
After the fix of LP bug 784723 the test case returns the right results.
-
Igor Babaev authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Igor Babaev authored
-
Igor Babaev authored
-
Sergey Petrunya authored
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
Fields belonging to views in general cannot be substituted for equal items, in particular for constants, because all references to a view field refer to the same Item_field object while they could be used in different OR parts of the where condition and belong to different equivalence classes (to different Item_equals). That's why substitution for equal items in any context is allowed only in place of Item_direct_view_ref objects, but not in place of Item_fields these objects refer to. Due to some erroneous code in the patch for bug 717577 substitution for view fields were allowed in some context.This could lead to wrong results returned by queries using views. The fix prohibits substitution of view fields for equal items in any context. The patch also changes slightly the compile method for the Item_func class. Now if the analyze method returns NULL in his parameter the compile method is not called for the arguments of the function at all. A similar change was made for the Item_ref class.
-
Igor Babaev authored
-
- 19 May, 2011 12 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
- Fix CRLF end of lines, use LF instead
-
Igor Babaev authored
-
Vladislav Vaintroub authored
-
Igor Babaev authored
-
Sergey Petrunya authored
- in advance_sj_state(), remember join->cur_dups_producing_tables in pos->prefix_dups_producing_tables *before* we modify it, so that restore_prev_sj_state() restores cur_dups_producing_tables in all cases. - Updated test results in subselect_sj2[_jcl6].result (the original EXPLAIN was invalid there)
-
Igor Babaev authored
Adjusted the result files in the pbxt, innodb and innodb_plugin suites. Commented out a failing test case in innodb.innodb_multi_update.test. It should be returned back when the problem with multi-update of derived tables (bug 784297) is resolved.
-
Michael Widenius authored
-
Michael Widenius authored
.bzr-mysql/default.conf: 5.2 -> 5.3 sql/handler.h: Updated comments.
-
Michael Widenius authored
Fix based on suggestion by Zardosht Kasheff and Richard Prohaska) for making all clustered indexes equal in test_if_skip_sort_order() sql/sql_select.cc: - Threat all clustered indexes equal in test_if_skip_sort_order(). This is a temporary fix as the current code doesn't do proper cost analyizes for which index to use. I will address this later as the change required is not trivial. - Fixed a bug where select_limit was changed in the loop, which made different indexes see diferent values of select_limit
-
unknown authored
-
Igor Babaev authored
derived_view.test. Do not register Item_ref objects of the type VIEW_REF as outer references.
-
- 18 May, 2011 11 commits
-
-
unknown authored
-
Michael Widenius authored
- Added a lot of code comments - Updated get_best_ror_intersec() to prefer index scan on not clustered keys before clustered keys. - Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY - For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered() - Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect. sql/ha_partition.h: Added comment with warning for code unsafe to use with multiple storage engines at the same time sql/handler.h: Added HA_CLUSTERED_INDEX. Documented primary_key_is_clustered() sql/opt_range.cc: Added code comments Updated get_best_ror_intersec() to ignore clustered keys. Optimized away cpk_scan_used and one instance of current_thd (Simpler code) Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY sql/sql_select.cc: Changed comment to #ifdef For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered() (Change is smaller than what it looks beause of indentation change) sql/sql_table.cc: Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect. storage/innobase/handler/ha_innodb.h: Added support for HA_CLUSTERED_INDEX storage/innodb_plugin/handler/ha_innodb.cc: Added support for HA_CLUSTERED_INDEX storage/xtradb/handler/ha_innodb.cc: Added support for HA_CLUSTERED_INDEX
-
unknown authored
-
unknown authored
client/mysqltest.cc: Column names. mysql-test/r/grant_cache_no_prot.result: fix of text. mysql-test/r/grant_cache_ps_prot.result: Fix of test. mysql-test/r/query_cache.result: Switching on and off query cache. mysql-test/t/query_cache.test: Switching on and off query cache. mysys/charset.c: Fix of parser. sql/handler.cc: thd added to parameters. sql/log_event.cc: thd added to parameters. sql/log_event_old.cc: thd added to parameters. sql/mysql_priv.h: Fixed functions definitions. sql/mysqld.cc: Comments stripping. sql/set_var.cc: Switching on and off query cache. sql/set_var.h: Switching on and off query cache. sql/share/errmsg.txt: New errors. sql/sql_cache.cc: Switching query cache on and off, removing comments. sql/sql_cache.h: thd added to parameters. sql/sql_class.h: Comments stripping. sql/sql_db.cc: thd added to parameters. sql/sql_lex.cc: lex fixed. sql/sql_parse.cc: thd added to parameters.
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
The printing of include stack in the error case in mysqltest omitted the bottom of the stack (the line number in original test case file), and instead printed the top of the stack twice. Fix to print each element on the stack once and only once.
-
Michael Widenius authored
Original code by Zardosht Kasheff sql/handler.cc: Added HA_ERR_DISK_FULL and ENOSPC (for handler that uses normal errno). This sets 'fatal_error' to ensure that the error is logged to err file (which hopefully is on another disk...)
-
Vladislav Vaintroub authored
-
Igor Babaev authored
When a view is merged into a select all the depended_from fields pointing to the select of the view should have been corrected to point to the select where the view is used. It was not done yet. This could lead to wrong results returned by queries such as one from the test case for bug 33389. Correction of outer references required walking through all items of the proccesed qurery. To avoid this the following solution was implemented. Each select now contains a pointer to the select it is merged into (if there is any). Such pointers allow to get the corrected value of depended_from on the fly. The function Item_ident::get_depended_from was introduced for this purpose.
-