mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Removed double cond_push
This commit is contained in:
parent
c78b2d25ac
commit
1eaa54a4d8
2 changed files with 20 additions and 23 deletions
|
@ -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_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;
|
ndb_cond->next= m_cond_stack;
|
||||||
else
|
else
|
||||||
ndb_cond->next= NULL;
|
ndb_cond->next= NULL;
|
||||||
m_cond_stack= ndb_cond;
|
m_cond_stack= ndb_cond;
|
||||||
|
|
||||||
if (serialize_cond(cond, 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)
|
||||||
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)
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue