diff options
author | unknown <timour@mysql.com> | 2004-11-02 18:23:15 +0200 |
---|---|---|
committer | unknown <timour@mysql.com> | 2004-11-02 18:23:15 +0200 |
commit | 048d731a3112e5745038f422da3f1a5c1fadde81 (patch) | |
tree | f36fd67db9dbc59a015a4fa4d848db945a5c8bd9 /sql/sql_help.cc | |
parent | 637c08d7cc0d462e445c68307d0c206fbf4f743b (diff) | |
download | mariadb-git-048d731a3112e5745038f422da3f1a5c1fadde81.tar.gz |
WL#1972 "Evaluate HAVING before SELECT select-list"
- 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
Diffstat (limited to 'sql/sql_help.cc')
-rw-r--r-- | sql/sql_help.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_help.cc b/sql/sql_help.cc index cba74c93a6a..62ee708b695 100644 --- a/sql/sql_help.cc +++ b/sql/sql_help.cc @@ -88,7 +88,7 @@ static bool init_fields(THD *thd, TABLE_LIST *tables, Item_field *field= new Item_field("mysql", find_fields->table_name, find_fields->field_name); if (!(find_fields->field= find_field_in_tables(thd, field, tables, - 0, TRUE, 1))) + 0, REPORT_ALL_ERRORS, 1))) DBUG_RETURN(1); } DBUG_RETURN(0); |