1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

fixed merged view fields names (BUG#5147)

support of merged VIEW over several tables added (WL#1809)


mysql-test/r/view.result:
  merge of VIEW with several tables
mysql-test/t/view.test:
  merge of VIEW with several tables
sql/item.cc:
  renaming Item and restoring item name on cleunup()
sql/item.h:
  renaming Item and restoring item name on cleunup()
  debug output added
sql/item_cmpfunc.h:
  setup_conds() changed to support two tables lists
sql/item_subselect.cc:
  list of table leaves used instead of local table list for name resolving
sql/mysql_priv.h:
  setup_conds() and setup_tables() changed to support two tables lists
sql/opt_sum.cc:
  list of table leaves used instead of local table list for name resolving
sql/sp.cc:
  setup_tables() changed to support two tables lists
sql/sql_base.cc:
  skip temporary tables in table finding
  fixed merged view fields names (BUG#5147)
sql/sql_delete.cc:
  setup_conds() and setup_tables() changed to support two tables lists
sql/sql_help.cc:
  setup_tables() changed to support two tables lists
sql/sql_insert.cc:
  setup_tables() changed to support two tables lists
  name handling support
sql/sql_lex.cc:
  allow view with several tables for MERGE
sql/sql_lex.h:
  new table list
sql/sql_load.cc:
  setup_tables() changed to support two tables lists
sql/sql_olap.cc:
  setup_tables() changed to support two tables lists
sql/sql_parse.cc:
  new list support
sql/sql_prepare.cc:
  new list support
sql/sql_select.cc:
  list of table leaves used instead of local table list for name resolving
sql/sql_update.cc:
  setup_conds() and setup_tables() changed to support two tables lists
sql/sql_view.cc:
  support of MERGED VIEWS with several tables
sql/sql_yacc.yy:
  removed blanks in new code
sql/table.cc:
  fixed setup view code
  support of merged VIEW over several tables added
sql/table.h:
  fixed merged view fields names (BUG#5147)
This commit is contained in:
unknown
2004-09-14 19:28:29 +03:00
parent ae70baf21c
commit 55a8c28c27
25 changed files with 599 additions and 182 deletions

View File

@ -619,6 +619,7 @@ int mysqld_help(THD *thd, const char *mask)
st_find_field used_fields[array_elements(init_used_fields)];
DBUG_ENTER("mysqld_help");
TABLE_LIST *leaves= 0;
TABLE_LIST tables[4];
bzero((gptr)tables,sizeof(tables));
tables[0].alias= tables[0].real_name= (char*) "help_topic";
@ -647,7 +648,7 @@ int mysqld_help(THD *thd, const char *mask)
tables do not contain VIEWs => we can pass 0 as conds
*/
setup_tables(thd, tables, 0);
setup_tables(thd, tables, 0, &leaves, 0);
memcpy((char*) used_fields, (char*) init_used_fields, sizeof(used_fields));
if (init_fields(thd, tables, used_fields, array_elements(used_fields)))
{