diff options
author | Sinisa@sinisa.nasamreza.org <> | 2002-03-15 14:21:43 +0200 |
---|---|---|
committer | Sinisa@sinisa.nasamreza.org <> | 2002-03-15 14:21:43 +0200 |
commit | d8b085b92bb0ef4b76eecda8604157227030144f (patch) | |
tree | e682692cc2b300e73186e1cba7fa5ea1af7daa4a | |
parent | d8a4d6a8a3b4cd1a1877f20fe5bbcbd38b65d1c2 (diff) | |
parent | 5e092e2fc6e8783e284edc0c56d3f82e8e46a197 (diff) | |
download | mariadb-git-d8b085b92bb0ef4b76eecda8604157227030144f.tar.gz |
Merge sinisa@work.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/hdc/Sinisa/mysql-4.1
-rw-r--r-- | sql/sql_base.cc | 8 | ||||
-rw-r--r-- | sql/sql_select.cc | 5 | ||||
-rw-r--r-- | sql/sql_union.cc | 3 |
3 files changed, 9 insertions, 7 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index d2d38d9a7c4..884e4b7eb27 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2180,8 +2180,8 @@ bool remove_table_from_cache(THD *thd, const char *db, const char *table_name, int setup_ftfuncs(THD *thd) { - List_iterator<Item_func_match> li(thd->lex.select_lex.ftfunc_list), - lj(thd->lex.select_lex.ftfunc_list); + List_iterator<Item_func_match> li(thd->lex.select->ftfunc_list), + lj(thd->lex.select->ftfunc_list); Item_func_match *ftf, *ftf2; while ((ftf=li++)) @@ -2201,9 +2201,9 @@ int setup_ftfuncs(THD *thd) int init_ftfuncs(THD *thd, bool no_order) { - if (thd->lex.select_lex.ftfunc_list.elements) + if (thd->lex.select->ftfunc_list.elements) { - List_iterator<Item_func_match> li(thd->lex.select_lex.ftfunc_list); + List_iterator<Item_func_match> li(thd->lex.select->ftfunc_list); Item_func_match *ifm; DBUG_PRINT("info",("Performing FULLTEXT search")); thd->proc_info="FULLTEXT initialization"; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 1ea85984bcc..a8b7b02600f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -196,6 +196,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds, List<Item> all_fields(fields); bool select_distinct; SELECT_LEX *select_lex = &(thd->lex.select_lex); + SELECT_LEX *cur_sel = thd->lex.select; DBUG_ENTER("mysql_select"); /* Check that all tables, fields, conds and order are ok */ @@ -553,7 +554,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds, make_join_readinfo(&join, (select_options & (SELECT_DESCRIBE | SELECT_NO_JOIN_CACHE)) | - (select_lex->ftfunc_list.elements ? SELECT_NO_JOIN_CACHE : 0)); + (cur_sel->ftfunc_list.elements ? SELECT_NO_JOIN_CACHE : 0)); /* Need to tell Innobase that to play it safe, it should fetch all columns of the tables: this is because MySQL @@ -1615,7 +1616,7 @@ update_ref_and_keys(THD *thd, DYNAMIC_ARRAY *keyuse,JOIN_TAB *join_tab, add_key_part(keyuse,field); } - if (thd->lex.select_lex.ftfunc_list.elements) + if (thd->lex.select->ftfunc_list.elements) { add_ft_keys(keyuse,join_tab,cond,normal_tables); } diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 60155e0ce8d..7d921d6e598 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -126,7 +126,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) } union_result->save_time_stamp=!describe; - for (sl=&lex->select_lex;sl;sl=sl->next) + for (sl=lex->select=&lex->select_lex;sl;sl=lex->select=sl->next) { thd->offset_limit=sl->offset_limit; thd->select_limit=sl->select_limit+sl->offset_limit; @@ -155,6 +155,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) delete union_result; /* Send result to 'result' */ + lex->select = &lex->select_lex; res =-1; { /* Create a list of fields in the temporary table */ |