summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2006-04-03 21:04:38 -0700
committerunknown <igor@rurik.mysql.com>2006-04-03 21:04:38 -0700
commit8ca824b375d645683563ecf162e0c406e32f5eba (patch)
treec665451a3387dec7305867642b6c497ef45fa1ba /sql
parenta5abc598e5efe21b3599e6f4fda9ab02f6194be3 (diff)
parentf545817ed1d19fb0656ed18650ea15072d8b03ad (diff)
downloadmariadb-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.cc4
-rw-r--r--sql/item_cmpfunc.h2
-rw-r--r--sql/sql_select.cc27
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 &&