Commit 1eaa54a4 authored by mskold@mysql.com's avatar mskold@mysql.com

Removed double cond_push

parent c78b2d25
...@@ -6101,24 +6101,26 @@ const ...@@ -6101,24 +6101,26 @@ const
COND* COND*
ha_ndbcluster::cond_push(const COND *cond) ha_ndbcluster::cond_push(const COND *cond)
{ {
Ndb_cond_stack *ndb_cond = new Ndb_cond_stack();
DBUG_ENTER("cond_push"); DBUG_ENTER("cond_push");
DBUG_EXECUTE("where",print_where((COND *)cond, m_tabname);); if (cond)
if (m_cond_stack)
ndb_cond->next= m_cond_stack;
else
ndb_cond->next= NULL;
m_cond_stack= ndb_cond;
if (serialize_cond(cond, ndb_cond))
{ {
Ndb_cond_stack *ndb_cond = new Ndb_cond_stack();
DBUG_EXECUTE("where",print_where((COND *)cond, m_tabname););
if (m_cond_stack)
ndb_cond->next= m_cond_stack;
else
ndb_cond->next= NULL;
m_cond_stack= ndb_cond;
if (serialize_cond(cond, ndb_cond))
{
DBUG_RETURN(NULL); DBUG_RETURN(NULL);
}
else
{
cond_pop();
}
} }
else
{
cond_pop();
}
DBUG_RETURN(cond); DBUG_RETURN(cond);
} }
......
...@@ -5403,10 +5403,12 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) ...@@ -5403,10 +5403,12 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
tab->select_cond=sel->cond=tmp; tab->select_cond=sel->cond=tmp;
if (thd->variables.engine_condition_pushdown) if (thd->variables.engine_condition_pushdown)
{ {
COND *push_cond=
make_cond_for_table(cond,current_map,current_map);
tab->table->file->pushed_cond= NULL; tab->table->file->pushed_cond= NULL;
/* Push condition to handler */ /* Push condition to handler */
if (!tab->table->file->cond_push(tmp)) if (!tab->table->file->cond_push(push_cond))
tab->table->file->pushed_cond= tmp; tab->table->file->pushed_cond= push_cond;
} }
} }
else else
...@@ -5530,13 +5532,6 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) ...@@ -5530,13 +5532,6 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
thd->memdup((gptr) sel, sizeof(SQL_SELECT)); thd->memdup((gptr) sel, sizeof(SQL_SELECT));
tab->cache.select->cond=tmp; tab->cache.select->cond=tmp;
tab->cache.select->read_tables=join->const_table_map; tab->cache.select->read_tables=join->const_table_map;
if (thd->variables.engine_condition_pushdown &&
(!tab->table->file->pushed_cond))
{
/* Push condition to handler */
if (!tab->table->file->cond_push(tmp))
tab->table->file->pushed_cond= tmp;
}
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment