1. 24 Apr, 2006 6 commits
  2. 23 Apr, 2006 11 commits
  3. 22 Apr, 2006 2 commits
    • dlenev@mysql.com's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 5e7076ce
      dlenev@mysql.com authored
      into  mysql.com:/home/dlenev/mysql-5.0-bg15153-2
      5e7076ce
    • dlenev@mysql.com's avatar
      Fix for bug#15153 "CONVERT_TZ() is not allowed in all places in VIEWs". · c77d5a0e
      dlenev@mysql.com authored
      Error was emitted when one tried to select information from view which used
      merge algorithm and which also had CONVERT_TZ() function in its select list.
      
      This bug was caused by wrong assumption that global table list for view
      which is handled using merge algorithm begins from tables belonging to
      the main select of this view. Nowadays the above assumption is not true only
      when one uses convert_tz() function in view's select list, but in future
      other cases may be added (for example we may support merging of views
      with subqueries in select list one day). Relying on this false assumption
      led to the usage of wrong table list for field lookups and therefor errors. 
      
      With this fix we explicitly use pointer to the beginning of main select's
      table list.
      c77d5a0e
  4. 21 Apr, 2006 20 commits
  5. 20 Apr, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode. · 663fee9c
      evgen@moonbone.local 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.
      663fee9c