Below is the list of changes that have just been committed into a local
5.0 repository of marty. When marty does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/in...urce-tree.html
ChangeSet
1.1913 05/05/07 22:41:30 mskold (AT) mysql (DOT) com +2 -0
Removed double cond_push
sql/ha_ndbcluster.cc
1.183 05/05/07 22:39:31 mskold (AT) mysql (DOT) com +16 -14
Removed double cond_push
sql/sql_select.cc
1.324 05/05/07 22:39:30 mskold (AT) mysql (DOT) com +4 -9
Removed double cond_push
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: mskold
# Host: blowfish.ndb.mysql.com
# Root: /usr/local/home/marty/MySQL/mysql-5.0
--- 1.323/sql/sql_select.cc Tue May 3 08:23:08 2005
+++ 1.324/sql/sql_select.cc Sat May 7 22:39:30 2005
@@ -5403,10 +5403,12 @@
tab->select_cond=sel->cond=tmp;
if (thd->variables.engine_condition_pushdown)
{
+ COND *push_cond=
+ make_cond_for_table(cond,current_map,current_map);
tab->table->file->pushed_cond= NULL;
/* Push condition to handler */
- if (!tab->table->file->cond_push(tmp))
- tab->table->file->pushed_cond= tmp;
+ if (!tab->table->file->cond_push(push_cond))
+ tab->table->file->pushed_cond= push_cond;
}
}
else
@@ -5530,13 +5532,6 @@
thd->memdup((gptr) sel, sizeof(SQL_SELECT));
tab->cache.select->cond=tmp;
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;
- }
}
}
}
--- 1.182/sql/ha_ndbcluster.cc Fri Apr 29 11:53:33 2005
+++ 1.183/sql/ha_ndbcluster.cc Sat May 7 22:39:31 2005
@@ -6101,24 +6101,26 @@
COND*
ha_ndbcluster::cond_push(const COND *cond)
{
- Ndb_cond_stack *ndb_cond = new Ndb_cond_stack();
DBUG_ENTER("cond_push");
- 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))
+ if (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);
+ }
+ else
+ {
+ cond_pop();
+ }
}
- else
- {
- cond_pop();
- }
-
DBUG_RETURN(cond);
}
--
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe: http://lists.mysql.com/internals?uns...ie.nctu.edu.tw