An error occurred fetching the project authors.
  1. 21 Jun, 2021 1 commit
    • Igor Babaev's avatar
      MDEV-25679 Wrong result selecting from simple view with LIMIT and ORDER BY · cc0bd843
      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.
      cc0bd843
  2. 01 Sep, 2019 1 commit
    • Monty's avatar
      Updated mtr files to support different compiled in options · 9cba6c5a
      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.
      9cba6c5a
  3. 19 Jul, 2019 1 commit
  4. 22 Jun, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-19778 Wrong Result on Left Outer Join with Subquery right on true · 645191aa
      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.
      645191aa
  5. 11 Jun, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-18479 Another complement · 96ee9ea0
      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().
      96ee9ea0
  6. 29 May, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-18479 Complement · cbb90f77
      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.
      cbb90f77
  7. 28 May, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-18479 Assertion `join->best_read < double(1.79769313486231570815e+308L)' · 0955462d
      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.
      0955462d
  8. 15 Aug, 2018 1 commit
    • Oleksandr Byelkin's avatar
      MDEV-15475: Assertion `!table || (!table->read_set ||... · 1b797e9e
      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
      1b797e9e
  9. 12 May, 2018 1 commit
    • Galina Shalygina's avatar
      MDEV-16088: Pushdown into materialized views/derived tables doesn't · 8b26fea8
      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.
      8b26fea8
  10. 30 Jun, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-13193. · 9f0c1c0c
      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.
      9f0c1c0c
  11. 23 Jun, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-12845. · 9f362219
      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.
      9f362219
  12. 17 May, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-12812. · efb9f261
      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.
      efb9f261
  13. 09 May, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bugs mdev-12670 and mdev-12675. · 6b97fe06
      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.
      6b97fe06
  14. 10 Mar, 2017 1 commit
    • Sergei Golubchik's avatar
      MDEV-11943 I_S.TABLES inconsistencies with tables with unknown storage engine · 48b1d175
      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.
      48b1d175
  15. 12 Dec, 2016 1 commit
  16. 12 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11161. · 96b62b55
      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.
      96b62b55
  17. 06 Sep, 2016 1 commit
  18. 05 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed a flaw in the implementation of condition push-down · 3b40f78e
      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.
      3b40f78e
  19. 21 Aug, 2016 1 commit
  20. 04 May, 2016 1 commit
  21. 04 Sep, 2015 1 commit
  22. 06 Mar, 2015 1 commit
  23. 01 Aug, 2014 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5721. · f7358227
      Igor Babaev authored
      Do not define a look-up key for a temporary table if its length
      exceeds the maximum length of such keys. 
      f7358227
  24. 09 Jun, 2014 1 commit
  25. 07 Mar, 2014 1 commit
  26. 21 Feb, 2014 1 commit
    • Igor Babaev's avatar
      After constant row substitution the optimizer should call the method · 3e03c9ea
      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.
      3e03c9ea
  27. 18 Dec, 2013 1 commit
  28. 14 Nov, 2013 1 commit
  29. 10 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5105. · 7c87385e
      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().
       
      7c87385e
  30. 04 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5078. · ec226e55
      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.
      ec226e55
  31. 18 Jun, 2013 1 commit
  32. 28 Feb, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4209 · 90c0f3d3
      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. 
      90c0f3d3
  33. 07 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-537 Make multi-column non-top level subqueries to be executed via index... · e648ff11
      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.
      e648ff11
  34. 28 Dec, 2012 1 commit
    • unknown's avatar
      MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery · 6f26aac9
      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.
      6f26aac9
  35. 10 Oct, 2012 1 commit
    • unknown's avatar
      Fix of MDEV-3799. · 362c2bca
      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).
      362c2bca
  36. 05 Sep, 2012 1 commit
    • unknown's avatar
      MDEV-486 LP BUG#1010116 fix. · 54bb28d4
      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.
      54bb28d4
  37. 20 Jun, 2012 1 commit
    • Sergey Petrunya's avatar
      Post-merge fixes: · 584d923c
      Sergey Petrunya authored
      - put back the result encoding in func_in.result (messed up by kdiff3)
      - update .result for other tests (checked)
      584d923c
  38. 15 May, 2012 1 commit
    • unknown's avatar
      Fix for LP bug#998516 · 3d37b67b
      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.
      3d37b67b
  39. 19 Apr, 2012 1 commit
    • unknown's avatar
      LP BUG#978847 fixed. · 9997b78a
      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 '*'.
      9997b78a
  40. 05 Apr, 2012 1 commit
    • unknown's avatar
      Fix of LP bug#968720. · 1a489190
      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.
      1a489190