diff options
author | mskold@mysql.com <> | 2004-12-17 21:13:22 +0100 |
---|---|---|
committer | mskold@mysql.com <> | 2004-12-17 21:13:22 +0100 |
commit | 3edf24387512b4182e0e3e44b80eebbdfa1e56b4 (patch) | |
tree | 9f51d9cac4b45ffad89462fcc79b3f15eda3b19b /sql/item_func.cc | |
parent | a3b74b307c6979bb3bcd21aa827339ffa3be7c92 (diff) | |
download | mariadb-git-3edf24387512b4182e0e3e44b80eebbdfa1e56b4.tar.gz |
Condition pushdown to storage engine
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index aba53b9b397..9e9d4193f84 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -342,6 +342,22 @@ bool Item_func::walk (Item_processor processor, byte *argument) return (this->*processor)(argument); } +void Item_func::traverse_cond(Item_cond_traverser traverser, + void *argument, + traverse_order order) +{ + if (arg_count) + { + Item **arg,**arg_end; + if (order == PREFIX) (traverser)(this, argument); + for (arg= args, arg_end= args+arg_count; arg != arg_end; arg++) + { + (*arg)->traverse_cond(traverser, argument, order); + } + } + if (order == POSTFIX) (traverser)(this, argument); +} + /* Transform an Item_func object with a transformer callback function |