diff options
author | unknown <igor@rurik.mysql.com> | 2006-04-03 21:04:38 -0700 |
---|---|---|
committer | unknown <igor@rurik.mysql.com> | 2006-04-03 21:04:38 -0700 |
commit | 8ca824b375d645683563ecf162e0c406e32f5eba (patch) | |
tree | c665451a3387dec7305867642b6c497ef45fa1ba /sql | |
parent | a5abc598e5efe21b3599e6f4fda9ab02f6194be3 (diff) | |
parent | f545817ed1d19fb0656ed18650ea15072d8b03ad (diff) | |
download | mariadb-git-8ca824b375d645683563ecf162e0c406e32f5eba.tar.gz |
Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
sql/item_cmpfunc.cc:
Auto merged
sql/sql_select.cc:
Auto merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_cmpfunc.cc | 4 | ||||
-rw-r--r-- | sql/item_cmpfunc.h | 2 | ||||
-rw-r--r-- | sql/sql_select.cc | 27 |
3 files changed, 16 insertions, 17 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 62533d12090..65654b150e1 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -3740,7 +3740,7 @@ void Item_equal::sort(Item_field_cmpfunc cmp, void *arg) Check appearance of new constant items in the multiple equality object SYNOPSIS - check() + update_const() DESCRIPTION The function checks appearance of new constant items among @@ -3753,7 +3753,7 @@ void Item_equal::sort(Item_field_cmpfunc cmp, void *arg) none */ -void Item_equal::check_const() +void Item_equal::update_const() { List_iterator<Item_field> it(fields); Item *item; diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 3d94832412e..67f0a5f5e2e 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -1196,7 +1196,7 @@ public: bool contains(Field *field); Item_field* get_first() { return fields.head(); } void merge(Item_equal *item); - void check_const(); + void update_const(); enum Functype functype() const { return MULT_EQUAL_FUNC; } longlong val_int(); const char *func_name() const { return "multiple equal"; } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 76bb7f088b5..4e67ce0d67f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -136,7 +136,7 @@ static enum_nested_loop_state end_write_group(JOIN *join, JOIN_TAB *join_tab, bool end_of_records); static int test_if_group_changed(List<Cached_item> &list); -static int join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos); +static int join_read_const_table(JOIN_TAB *tab, POSITION *pos); static int join_read_system(JOIN_TAB *tab); static int join_read_const(JOIN_TAB *tab); static int join_read_key(JOIN_TAB *tab); @@ -2153,7 +2153,7 @@ make_join_statistics(JOIN *join, TABLE_LIST *tables, COND *conds, s= p_pos->table; s->type=JT_SYSTEM; join->const_table_map|=s->table->map; - if ((tmp=join_read_const_table(join, s, p_pos))) + if ((tmp=join_read_const_table(s, p_pos))) { if (tmp > 0) DBUG_RETURN(1); // Fatal error @@ -2190,8 +2190,7 @@ make_join_statistics(JOIN *join, TABLE_LIST *tables, COND *conds, s->type=JT_SYSTEM; join->const_table_map|=table->map; set_position(join,const_count++,s,(KEYUSE*) 0); - if ((tmp= join_read_const_table(join, s, - join->positions+const_count-1))) + if ((tmp= join_read_const_table(s, join->positions+const_count-1))) { if (tmp > 0) DBUG_RETURN(1); // Fatal error @@ -2243,8 +2242,8 @@ make_join_statistics(JOIN *join, TABLE_LIST *tables, COND *conds, if (create_ref_for_key(join, s, start_keyuse, found_const_table_map)) DBUG_RETURN(1); - if ((tmp=join_read_const_table(join, s, - join->positions+const_count-1))) + if ((tmp=join_read_const_table(s, + join->positions+const_count-1))) { if (tmp > 0) DBUG_RETURN(1); // Fatal error @@ -7231,7 +7230,7 @@ static COND* substitute_for_best_equal_field(COND *cond, of a condition after reading a constant table SYNOPSIS - check_const_equal_item() + update_const_equal_items() cond condition whose multiple equalities are to be checked table constant table that has been read @@ -7242,8 +7241,7 @@ static COND* substitute_for_best_equal_field(COND *cond, the multiple equality appropriately. */ -static void check_const_equal_items(COND *cond, - JOIN_TAB *tab) +static void update_const_equal_items(COND *cond, JOIN_TAB *tab) { if (!(cond->used_tables() & tab->table->map)) return; @@ -7254,13 +7252,13 @@ static void check_const_equal_items(COND *cond, List_iterator_fast<Item> li(*cond_list); Item *item; while ((item= li++)) - check_const_equal_items(item, tab); + update_const_equal_items(item, tab); } else if (cond->type() == Item::FUNC_ITEM && ((Item_cond*) cond)->functype() == Item_func::MULT_EQUAL_FUNC) { Item_equal *item_equal= (Item_equal *) cond; - item_equal->check_const(); + item_equal->update_const(); } } @@ -10212,7 +10210,7 @@ int safe_index_read(JOIN_TAB *tab) static int -join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos) +join_read_const_table(JOIN_TAB *tab, POSITION *pos) { int error; DBUG_ENTER("join_read_const_table"); @@ -10266,8 +10264,9 @@ join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos) table->maybe_null=0; /* Check appearance of new constant items in Item_equal objects */ + JOIN *join= tab->join; if (join->conds) - check_const_equal_items(join->conds, tab); + update_const_equal_items(join->conds, tab); TABLE_LIST *tbl; for (tbl= join->select_lex->leaf_tables; tbl; tbl= tbl->next_leaf) { @@ -10277,7 +10276,7 @@ join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos) { embedded= embedding; if (embedded->on_expr) - check_const_equal_items(embedded->on_expr, tab); + update_const_equal_items(embedded->on_expr, tab); embedding= embedded->embedding; } while (embedding && |