An error occurred fetching the project authors.
- 21 Jun, 2021 1 commit
-
-
Igor Babaev authored
This bug affected queries with views / derived_tables / CTEs whose specifications were of the form (SELECT ... LIMIT <n>) ORDER BY ... Units representing such specifications contains one SELECT_LEX structure for (SELECT ... LIMIT <n>) and additionally SELECT_LEX structure for fake_select_lex. This fact should have been taken into account in the function mysql_derived_fill(). This patch has to be applied to 10.2 and 10.3 only.
-
- 01 Sep, 2019 1 commit
-
-
Monty authored
This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
-
- 19 Jul, 2019 1 commit
-
-
Oleksandr Byelkin authored
Check EXISTS LIMIT before rewriting.
-
- 22 Jun, 2019 1 commit
-
-
Igor Babaev authored
and WHERE filter afterwards This patch complements the patch fixing the bug MDEV-6892. The latter properly handled queries that used mergeable views returning constant columns as inner tables of outer joins and whose where clause contained predicates referring to these columns if the predicates of happened not to be equality predicates. Otherwise the server still could return wrong result sets for such queries. Besides the fix for MDEV-6892 prevented some possible conversions of outer joins to inner joins for such queries. This patch corrected the function check_simple_equality() to handle properly conjunctive equalities of the where clause that refer to the constant columns of mergeable views used as inner tables of an outer join. The patch also changed the code of Item_direct_view_ref::not_null_tables(). This change allowed to take into account predicates containing references to constant columns of mergeable views when converting outer joins into inner joins.
-
- 11 Jun, 2019 1 commit
-
-
Igor Babaev authored
This patch complements the patch that fixes bug MDEV-18479. This patch takes care of possible overflow in JOIN::get_examined_rows().
-
- 29 May, 2019 1 commit
-
-
Igor Babaev authored
This patch complements the patch that fixes bug MDEV-18479. This patch takes care of possible overflow when calculating the estimated number of rows in a materialized derived table / view.
-
- 28 May, 2019 1 commit
-
-
Igor Babaev authored
or server crashes in JOIN::fix_all_splittings_in_plan after EXPLAIN This patch resolves the problem of overflowing when performing calculations to estimate the cost of an evaluated query execution plan. The overflowing in a non-debug build could cause different kind of problems uncluding crashes of the server.
-
- 15 Aug, 2018 1 commit
-
-
Oleksandr Byelkin authored
MDEV-15475: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed on EXPLAIN EXTENDED with constant table and view Print constant ISNULL value independent. Fix of printing of view FRM and CREATE VIEW output
-
- 12 May, 2018 1 commit
-
-
Galina Shalygina authored
work in the IN subqueries The pushdown into the materialized derived table/view wasn't done because optimize() for the derived was called before any conditions that can be pushed down were extracted. So optimize() in convert_join_subqueries_to_semijoins() method is called too early and is unnecessary. The second optimize() call in mysql_handle_single_derived() is enough.
-
- 30 Jun, 2017 1 commit
-
-
Igor Babaev authored
When an equality that can be pushed into a materialized derived table / view is extracted from multiple equalities and their operands are cloned then if they have some pointers to Item_equal objects those pointers must be set to NULL in the clones. Anyway they are not valid in the pushed predicates.
-
- 23 Jun, 2017 1 commit
-
-
Igor Babaev authored
This patch fills in a serious flaw in the code that supports condition pushdown into materialized views / derived tables. If a predicate happened to contain a reference to a mergeable view / derived table and it does not depended directly on the target materialized view / derived table then the predicate was not considered as a subject to pusdown to this view / derived table.
-
- 17 May, 2017 1 commit
-
-
Igor Babaev authored
This is another correction of the patch for bug mdev-12670. If a derived table is merged into a select with STRAIGHT_JOIN modifier all IN subquery predicates contained in the specification of the derived table cannot be subject to conversion to semi-joins.
-
- 09 May, 2017 1 commit
-
-
Igor Babaev authored
The code that blocked conversion of a IN subselect pedicate to a semi-join if it occurred in the ON expression of an outer join did not do it correctly. As a result, the conversion was blocked for IN subselect predicates encountered in ON expressions of INNER joins or in WHERE conditions of mergeable views / derived tables. This patch fixes this problem.
-
- 10 Mar, 2017 1 commit
-
-
Sergei Golubchik authored
Make SELECT <columns> FROM I_S.TABLES behave identically independently from whether <columns> require opening the table in engine or <columns> can be filled with only opening the frm. In particular, fill_schema_table_from_frm() should not silently skip frms with unknown engine, but should fill the I_S.TABLES row with NULLs just like fill_schema_table_by_open() does.
-
- 12 Dec, 2016 1 commit
-
-
Sergei Golubchik authored
by introducing new Item::precedence() method and using it to decide whether parentheses are required
-
- 12 Nov, 2016 1 commit
-
-
Igor Babaev authored
The flag TABLE_LIST::fill_me must be reset to false at the prepare phase for any materialized derived table used in the executed query. Otherwise if the optimizer decides to generate a key for such a table it is generated only for the first execution of the query.
-
- 06 Sep, 2016 1 commit
-
-
Igor Babaev authored
take into account that the list of equal items in an Item_equal object may contain items with type() == REF_ITEM.
-
- 05 Sep, 2016 1 commit
-
-
Igor Babaev authored
for materialized views and derived tables: there were no push-down if the view was defined as union of selects without aggregation. Added test cases with such unions. Adjusted result files after the merge of the code for mdev-9197.
-
- 21 Aug, 2016 1 commit
-
-
Monty authored
- Handler_read_retry - Update_scan - Delete_scan
-
- 04 May, 2016 1 commit
-
-
Oleksandr Byelkin authored
Do not mark subquery as inexpensive when it is not optimized.
-
- 04 Sep, 2015 1 commit
-
-
Oleksandr Byelkin authored
MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be stopped with no-zero size)
-
- 06 Mar, 2015 1 commit
-
-
Sergei Golubchik authored
update test results after the fix
-
- 01 Aug, 2014 1 commit
-
-
Igor Babaev authored
Do not define a look-up key for a temporary table if its length exceeds the maximum length of such keys.
-
- 09 Jun, 2014 1 commit
-
-
unknown authored
-
- 07 Mar, 2014 1 commit
-
-
unknown authored
MDEV-5740: Assertion `!derived->first_select()->exclude_from_table_unique_test || derived->outer_select()-> exclude_from_table_unique_test' failed on 2nd execution of PS with derived_merge Do not check tables of executed units. Debug info about stages of derived tables execution added.
-
- 21 Feb, 2014 1 commit
-
-
Igor Babaev authored
update_used_tables for the the where condition to update cached indicators of constant subexpressions. It should be done before further possible simplification of the where condition. This change caused simplification of the executed where conditions in many test cases.
-
- 18 Dec, 2013 1 commit
-
-
unknown authored
Materialization forced in case if rand() used in view or derived table to avoud several calls of rand for gting value of a field. Fixed set variable uncachable flag from - it shouldbe a side effect not a random value.
-
- 14 Nov, 2013 1 commit
-
-
Igor Babaev authored
This bug was a consequence of the incorrect fix for bug mdev-5091.
-
- 10 Oct, 2013 1 commit
-
-
Igor Babaev authored
The bug caused a memory overwrite in the function update_ref_and_keys() It happened due to a wrong value of SELECT_LEX::cond_count. This value historically was calculated by the fix_fields method. Now the logic of calling this method became too complicated and, as a result, this value is calculated not always correctly. The patch changes the way how and when the values of SELECT_LEX::cond_count and of SELECT_LEX::between_count are calculated. The new code does it just at the beginning of update_ref_and_keys().
-
- 04 Oct, 2013 1 commit
-
-
Igor Babaev authored
For aggregated fields from views/derived tables the possible adjustment of thd->lex->in_sum_func->max_arg_level in the function Item_field::fix_fields must be done before we leave the function.
-
- 18 Jun, 2013 1 commit
-
-
Sergey Petrunya authored
- Pass more tests - select with subselects is now shown with type=PRIMARY where it used to be (incorrectly) 'SIMPLE'
-
- 28 Feb, 2013 1 commit
-
-
Igor Babaev authored
Do not include BLOB fields into the key to access the temporary table created for a materialized view/derived table. BLOB components are not allowed in keys.
-
- 07 Feb, 2013 1 commit
-
-
unknown authored
MDEV-537 Make multi-column non-top level subqueries to be executed via index (index/unique subquery) instead of single_select_engine This task changes the IN-EXISTS rewrite for multi-column subqueries "(a, b) IN (select b, c ...)" to work in the same way as for single-column subqueries "a IN (select b ...) with respect to the injection of NULL-rejecting predicates. More specifically, the method Item_in_subselect::create_row_in_to_exists_cond() adds Item_is_not_null_test and Item_func_trig_cond only if the left IN operand can be NULL. Not having these predicates when not necessary, makes it possible to rewrite the subquery into a "unique_subquery" or "index_subquery" when there is a suitable index on the only subquery table.
-
- 28 Dec, 2012 1 commit
-
-
unknown authored
from a MERGE view. The problem was in the lost ability to be null for the table of a left join if it is a view/derived table. It hapenned because setup_table_map(), was called earlier then we merged the view or derived. Fixed by propagating new maybe_null flag during Item::update_used_tables(). Change in join_outer.test and join_outer_jcl6.test appeared because IS NULL reported no used tables (i.e. constant) for argument which could not be NULL and new maybe_null flag was propagated for IS NULL argument (Item_field) because table the Item_field belonged to changed its maybe_null status.
-
- 10 Oct, 2012 1 commit
-
-
unknown authored
Find left table in right join (which turned to left join by reordering tables in join list but phisical order of tables of SELECT left as it was).
-
- 05 Sep, 2012 1 commit
-
-
unknown authored
Link view/derived table fields to a real table to check turning the table record to null row. Item_direct_view_ref wrapper now checks if table is turned to null row.
-
- 20 Jun, 2012 1 commit
-
-
Sergey Petrunya authored
- put back the result encoding in func_in.result (messed up by kdiff3) - update .result for other tests (checked)
-
- 15 May, 2012 1 commit
-
-
unknown authored
If we did nothing in resolving unique table conflict we should not retry (it leed to infinite loop). Now we retry (recheck) unique table check only in case if we materialized a table.
-
- 19 Apr, 2012 1 commit
-
-
unknown authored
Fixed incorrect type casting which made all fields (except very first) changes to materialized table incorrect. Saved list of view/derived table used items after expanding '*'.
-
- 05 Apr, 2012 1 commit
-
-
unknown authored
When a view/derived table is converted from merged to materialized the items from the used_item lists are substituted for items referring to the fields of the result of the materialization. The problem appeared with queries employing natural joins. Since the resolution of a natural join was performed only once the used_item list formed at the second execution of the query lacked the references to the fields that were used only in the equality predicates generated for the natural join.
-