An error occurred fetching the project authors.
  1. 16 Dec, 2016 3 commits
    • Alexander Barkov's avatar
      MDEV-11337 Split Item::save_in_field() into virtual methods in Type_handler · cb16d753
      Alexander Barkov authored
      Also fixes:
      MDEV-11331 Wrong result for INSERT INTO t1 (datetime_field) VALUES (hybrid_function_of_TIME_data_type)
      MDEV-11333 Expect "Impossible where condition" for WHERE timestamp_field>=DATE_ADD(TIMESTAMP'9999-01-01 00:00:00',INTERVAL 1000 YEAR)
      
      This patch does the following:
      1. Splits the function Item::save_in_field() into pieces:
      - Item::save_str_in_field()
      - Item::save_real_in_field()
      - Item::save_decimal_in_field()
      - Item::save_int_in_field()
      
      2. Adds the missing "no_conversion" parameters to
         Item::save_time_in_field() and Item::save_date_in_field(),
         so this parameter is now correctly passed to
         set_field_to_null_with_conversions().
         This fixes the problem reported in 11333.
      
      3. Introduces a new virtual method Type_handler::Item_save_in_field()
         and uses the methods Item::save_xxx_in_field() from the implementations
         of Type_handler_xxx::Item_save_in_field().
      
      These changes additionally fix the problem reported in MDEV-11331,
      as the old code erroneously handled expressions like
      COALESE(datetime-expression) through the STRING_RESULT branch of
      Item::save_in_field() and therefore they looked like string type expressions
      for the target fields. Now such expressions are correctly handled by
      Item::save_date_in_field().
      cb16d753
    • Alexander Barkov's avatar
      MDEV-11294 Move definitions of Derivation, DTCollation, Type_std_attributes... · cba00921
      Alexander Barkov authored
      MDEV-11294 Move definitions of Derivation, DTCollation, Type_std_attributes from field.h and item.h to sql_type.h
      cba00921
    • Alexander Barkov's avatar
  2. 14 Dec, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11488. · 441fa005
      Igor Babaev authored
      The patch for bug mdev-10882 tried to fix it by providing an
      implementation of the virtual method build_clone for the class
      Item_cache. It's turned out that it is not easy provide a valid
      implementation for Item_cache::build_clone(). At the same time
      if the condition that can be pushed into a materialized view
      contains a cached item this item can be substituted for a basic
      constant of the same value. In such a way we can avoid building
      proper clones for Item_cache objects when constructing pushdown
      conditions.
      441fa005
  3. 12 Dec, 2016 9 commits
  4. 29 Nov, 2016 2 commits
  5. 27 Nov, 2016 2 commits
    • Alexander Barkov's avatar
      MDEV-11360 Dynamic SQL: DEFAULT as a bind parameter · 9bfde897
      Alexander Barkov authored
      This patch adds DEFAULT as a possible dynamic SQL parameter, e.g.:
        EXECUTE IMMEDIATE 'INSERT INTO t1 (column) VALUES(?)' USING DEFAULT;
        EXECUTE IMMEDIATE 'UPDATE t1 SET column=?' USING DEFAULT;
      and for similar PREPARE..EXECUTE queries.
      
      This is done for symmetry with the STMT_INDICATOR_DEFAULT indicator in
      the client-server PS protocol.
      
      The changes include:
      - Allowing DEFAULT as a possible option in execute USING clause (sql_yacc.yy)
      - Adding "virtual bool Item::save_in_param(THD *thd, Item_param *param)",
        because "normal" items (that have real values) and Item_default_value
        have now different actions when assigning itself as an Item_param value.
      - Fixing switch() statements in a few Item_param methods not to have "default",
        because it was easy to forget to add a new "case" when adding a new XXX_VALUE
        value into the enum Item_param::enum_item_param_state.
        This is important, as we'll be adding new values soon, e.g. for MDEV-11359.
        Removing "default" helped to find and report bugs MDEV-11361 and MDEV-11362,
        because DECIMAL_VALUE is obviously not properly handled in some cases.
      9bfde897
    • Igor Babaev's avatar
      Fixed bug mdev-11313. · 1d0f1741
      Igor Babaev authored
      The fix for bug 11072 was not complete though it also fixed
      the bug mdev-10800.
      This patch resolves the problems of all three bugs.
      1d0f1741
  6. 23 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11315. · f4d6f26a
      Igor Babaev authored
      There were no implementations for the virtual functions
      exclusive_dependence_on_table_processor and
      exclusive_dependence_on_table_processor. As a result
      the procedure pushdown_cond_for_derived erroneously
      detected some conditions with outer references as pushable
      into materialized view / derived table.
      f4d6f26a
  7. 15 Nov, 2016 2 commits
    • Igor Babaev's avatar
      Fixed bug mdev-11072. · 68e7d92c
      Igor Babaev authored
      In a general case the conditions with outer fields cannot
      be pushed into materialized views / derived tables.
      However if the outer field in the condition refers to a
      single row table then the condition may be pushable.
      In this case a special care should be taken for outer
      fields when pushing the condition into a materialized view /
      derived table.
      68e7d92c
    • Alexey Botchkov's avatar
      MDEV-9143 JSON_xxx functions. · ebe5ebba
      Alexey Botchkov authored
              The rest of mysql/json functions implemented.
              CAST AS JSON implemented.
      ebe5ebba
  8. 02 Nov, 2016 1 commit
  9. 25 Oct, 2016 1 commit
  10. 19 Oct, 2016 1 commit
  11. 08 Oct, 2016 2 commits
  12. 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
  13. 02 Sep, 2016 1 commit
  14. 27 Aug, 2016 2 commits
  15. 22 Aug, 2016 1 commit
  16. 03 Jul, 2016 3 commits
  17. 01 Jul, 2016 2 commits
  18. 30 Jun, 2016 5 commits