summaryrefslogtreecommitdiff
path: root/sql/ha_partition.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2016-11-21 10:00:52 +0200
committerMonty <monty@mariadb.org>2017-12-03 13:58:34 +0200
commit25a1fdd18c28c5f1e2fe1fcc6d028e05b00f7ad7 (patch)
treef8da9684541622d9094bc3bf567635c423b8d2e6 /sql/ha_partition.cc
parentc57e1bf5e65c6ec1dd68a34c1d7a88a92ef6e674 (diff)
downloadmariadb-git-25a1fdd18c28c5f1e2fe1fcc6d028e05b00f7ad7.tar.gz
Applied patch 001_mariadb-10.0.15.partition_cond_push.diff
- Added cond_push() and cond_pop() to ha_partition.cc
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r--sql/ha_partition.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 99ca97aea23..827f7cb61f7 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -9142,6 +9142,39 @@ TABLE_LIST *ha_partition::get_next_global_for_child()
}
+const COND *ha_partition::cond_push(const COND *cond)
+{
+ handler **file= m_file;
+ COND *res_cond = NULL;
+ DBUG_ENTER("ha_partition::cond_push");
+
+ do
+ {
+ if ((*file)->pushed_cond != cond)
+ {
+ if ((*file)->cond_push(cond))
+ res_cond = (COND *) cond;
+ else
+ (*file)->pushed_cond = cond;
+ }
+ } while (*(++file));
+ DBUG_RETURN(res_cond);
+}
+
+
+void ha_partition::cond_pop()
+{
+ handler **file= m_file;
+ DBUG_ENTER("ha_partition::cond_push");
+
+ do
+ {
+ (*file)->cond_pop();
+ } while (*(++file));
+ DBUG_VOID_RETURN;
+}
+
+
struct st_mysql_storage_engine partition_storage_engine=
{ MYSQL_HANDLERTON_INTERFACE_VERSION };