1. 21 Sep, 2015 3 commits
  2. 20 Sep, 2015 1 commit
  3. 19 Sep, 2015 2 commits
  4. 18 Sep, 2015 3 commits
    • Alexander Barkov's avatar
      MDEV-8816 Equal field propagation is not applied for WHERE... · b75c0033
      Alexander Barkov authored
      MDEV-8816 Equal field propagation is not applied for WHERE varbinary_column>=_utf8'a' COLLATE utf8_general_ci AND varbinary_column='A';
      1. Removing the legacy code that disabled equal field propagation in cases
         when comparison is done as VARBINARY. This is now correctly handled by
         the new propagation code in Item_xxx::propagate_equal_fields() and
         Field_str::can_be_substituted_to_equal_item (the bug fix).
      2. Also, removing legacy (pre-MySQL-4.1) Arg_comparator methods
         compare_binary_string() and compare_e_binary_string(), as VARBINARY
         comparison is correcty handled in compare_string() and compare_e_string() by
         the corresponding VARBINARY collation handler implemented in my_charset_bin.
         (not really a part of the bug fix)
      b75c0033
    • Oleksandr Byelkin's avatar
      MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVING · da3ec3d4
      Oleksandr Byelkin authored
      Printing non-trivial HAVING added.
      da3ec3d4
    • Alexander Barkov's avatar
      MDEV-8793 Wrong result set for SELECT ... · 79140b03
      Alexander Barkov authored
                WHERE COALESCE(time_column)=TIME('00:00:00')
                  AND COALESCE(time_column)=DATE('2015-09-11')
      MDEV-8814 Wrong result for WHERE datetime_column > TIME('00:00:00')
      79140b03
  5. 17 Sep, 2015 4 commits
  6. 16 Sep, 2015 2 commits
  7. 15 Sep, 2015 5 commits
  8. 14 Sep, 2015 7 commits
  9. 13 Sep, 2015 1 commit
  10. 12 Sep, 2015 1 commit
  11. 11 Sep, 2015 9 commits
  12. 10 Sep, 2015 2 commits
    • Alexander Barkov's avatar
      MDEV-8740 Wrong result for SELECT..WHERE year_field=10 AND NULLIF(year_field,2011.1)='2011' · 4aebba3a
      Alexander Barkov authored
      MDEV-8754 Wrong result for SELECT..WHERE year_field=2020 AND NULLIF(year_field,2010)='2020'
      Problems:
      1. Item_func_nullif stored a copy of args[0] in a private member m_args0_copy,
         which was invisible for the inherited Item_func menthods, like
         update_used_tables(). As a result, after equal field propagation
         things like Item_func_nullif::const_item() could return wrong result
         and a non-constant NULLIF() was erroneously treated as a constant
         at optimize_cond() time.
         Solution: removing m_args0_copy and storing the return value item
         in args[2] instead.
      2. Equal field propagation did not work well for Item_fun_nullif.
         Solution: using ANY_SUBST for args[0] and args[1], as they are in
         comparison, and IDENTITY_SUBST for args[2], as it's not in comparison.
      4aebba3a
    • Alexander Barkov's avatar
      MDEV-8785 Wrong results for EXPLAIN EXTENDED...WHERE NULLIF(latin1_col,... · 8e553c45
      Alexander Barkov authored
      MDEV-8785 Wrong results for EXPLAIN EXTENDED...WHERE NULLIF(latin1_col, _utf8'a' COLLATE utf8_bin) IS NOT NULL
      8e553c45