• unknown's avatar
    WL#1972 "Evaluate HAVING before SELECT select-list" · 048d731a
    unknown authored
    - Changed name resolution for GROUP BY so that derived columns do not shadow table columns
      from the FROM clause. As a result GROUP BY now is handled as a true ANSI extentsion.
    - Issue a warning when HAVING is resolved into ambiguous columns, and prefer the columns from
      the GROUP BY clause over SELECT columns.
    
    
    mysql-test/r/having.result:
      Correct result for updated GROUP BY name resolution.
    sql/item.cc:
      - prefer GROUP columns, but if none is found use SELECT list
      - issue a waring when a field may be resolved ambiguously
      - more/fixed comments
    sql/mysql_priv.h:
      More flexible find_field_in_tables().
    sql/sp.cc:
      More flexible find_field_in_tables().
    sql/sql_base.cc:
      More flexible find_field_in_tables().
    sql/sql_help.cc:
      More flexible find_field_in_tables().
    sql/sql_select.cc:
      - name resolution of GROUP/ORDER BY column references is differentiated:
        - GROUP BY is resolved in SELECT and FROM clauses
        - ORDER BY is resolved only in SELECT (as before)
      - more informative variable names
      - more comments
    048d731a
sql_select.cc 382 KB