summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-01-13 10:47:56 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2023-01-13 10:47:56 +0200
commit1e04cafcba88e1801e828a5bbab7fe9fdd7ca61c (patch)
tree6adddccee0d76b14e2821e6b4263a6dfcf6ccde6 /sql/item_cmpfunc.h
parentab36eac584a0bef4a048a3fd8ae56ff2cbfcb6cc (diff)
parent3386b309756adba6b9633ad18c4e0575c7304cfe (diff)
downloadmariadb-git-1e04cafcba88e1801e828a5bbab7fe9fdd7ca61c.tar.gz
Merge 10.6 into 10.7
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r--sql/item_cmpfunc.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 2805a455db0..b8ae7f9376e 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -3181,13 +3181,32 @@ public:
COND **conds);
void copy_andor_arguments(THD *thd, Item_cond *item);
bool walk(Item_processor processor, bool walk_subquery, void *arg) override;
- Item *transform(THD *thd, Item_transformer transformer, uchar *arg) override;
- Item *top_level_transform(THD *thd, Item_transformer transformer, uchar *arg) override;
+ Item *do_transform(THD *thd, Item_transformer transformer, uchar *arg,
+ bool toplevel);
+ Item *transform(THD *thd, Item_transformer transformer, uchar *arg) override
+ {
+ return do_transform(thd, transformer, arg, 0);
+ }
+ Item *top_level_transform(THD *thd, Item_transformer transformer, uchar *arg)
+ override
+ {
+ return do_transform(thd, transformer, arg, 1);
+ }
void traverse_cond(Cond_traverser, void *arg, traverse_order order) override;
void neg_arguments(THD *thd);
Item* propagate_equal_fields(THD *, const Context &, COND_EQUAL *) override;
+ Item *do_compile(THD *thd, Item_analyzer analyzer, uchar **arg_p,
+ Item_transformer transformer, uchar *arg_t, bool toplevel);
Item *compile(THD *thd, Item_analyzer analyzer, uchar **arg_p,
- Item_transformer transformer, uchar *arg_t) override;
+ Item_transformer transformer, uchar *arg_t) override
+ {
+ return do_compile(thd, analyzer, arg_p, transformer, arg_t, 0);
+ }
+ Item* top_level_compile(THD *thd, Item_analyzer analyzer, uchar **arg_p,
+ Item_transformer transformer, uchar *arg_t) override
+ {
+ return do_compile(thd, analyzer, arg_p, transformer, arg_t, 1);
+ }
bool eval_not_null_tables(void *opt_arg) override;
bool find_not_null_fields(table_map allowed) override;
Item *build_clone(THD *thd) override;