1. 20 Apr, 2006 1 commit
    • unknown's avatar
      Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode. · 4b7c4cd2
      unknown authored
      The SQL standard doesn't allow to use in HAVING clause fields that are not 
      present in GROUP BY clause and not under any aggregate function in the HAVING
      clause. However, mysql allows using such fields. This extension assume that 
      the non-grouping fields will have the same group-wise values. Otherwise, the 
      result will be unpredictable. This extension allowed in strict 
      MODE_ONLY_FULL_GROUP_BY sql mode results in misunderstanding of HAVING 
      capabilities.
      
      The new error message ER_NON_GROUPING_FIELD_USED message is added. It says
      "non-grouping field '%-.64s' is used in %-.64s clause". This message is
      supposed to be used for reporting errors when some field is not found in the
      GROUP BY clause but have to be present there. Use cases for this message are 
      this bug and when a field is present in a SELECT item list not under any 
      aggregate function and there is GROUP BY clause present which doesn't mention 
      that field. It renders the ER_WRONG_FIELD_WITH_GROUP error message obsolete as
      being more descriptive.
      The resolve_ref_in_select_and_group() function now reports the 
      ER_NON_GROUPING_FIELD_FOUND error if the strict mode is set and the field for 
      HAVING clause is found in the SELECT item list only.
      
      
      
      sql/share/errmsg.txt:
        Added the new ER_NON_GROUPING_FIELD_USED error message for the bug#14169.
      mysql-test/t/having.test:
        Added test case for the bug#18739:  non-standard HAVING extension was allowed in strict ANSI sql mode.
      mysql-test/r/having.result:
        Added test case for the bug#18739:  non-standard HAVING extension was allowed in strict ANSI sql mode.
      sql/sql_select.cc:
        Added TODO comment to change the ER_WRONG_FIELD_WITH_GROUP to more detailed ER_NON_GROUPING_FIELD_USED message.
      sql/item.cc:
        Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
        The resolve_ref_in_select_and_group() function now reports the
        ER_NON_GROUPING_FIELD_FOUND error if the strict MODE_ONLY_FULL_GROUP_BY mode
        is set and the field for HAVING clause is found in the SELECT item list only.
      4b7c4cd2
  2. 11 Apr, 2006 8 commits
  3. 10 Apr, 2006 20 commits
  4. 09 Apr, 2006 4 commits
  5. 08 Apr, 2006 3 commits
    • unknown's avatar
      $MYSQL_TEST was broken with --valgrind. · 5a19f3bc
      unknown authored
      5a19f3bc
    • unknown's avatar
      Fixed bug #16069. · e536c8ec
      unknown authored
      The function agg_cmp_type in item_cmpfunc.cc neglected the fact that 
      the first argument in a BETWEEN/IN predicate could be a field of a view.
      As a result in the case when the retrieved table was hidden by a view 
      over it and the arguments in the BETWEEN/IN predicates are of 
      the date/time type the function did not perform conversion of 
      the constant arguments to the same format as the first field argument.
      If formats of the arguments differed it caused wrong a evaluation of
      the predicates.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #16069.
      mysql-test/t/view.test:
        Added a test case for bug #16069.
      e536c8ec
    • unknown's avatar
      #18906: bushbuild reports rpl_temporary fails on solaris, AIX, QNX · e4435901
      unknown authored
      Removing the problematic line from include test file.
      
      
      mysql-test/include/get_binlog_dump_thread_id.inc:
        replacing replace_result by disable_query_log
      mysql-test/r/rpl_temporary.result:
        results
      e4435901
  6. 07 Apr, 2006 4 commits