diff options
author | Alexander Barkov <bar@mariadb.org> | 2016-11-24 16:26:30 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2016-12-16 18:23:21 +0400 |
commit | 2637828065d5687c58b03be883a422b5d326af47 (patch) | |
tree | 66b504fc964650e1865488fa7b13a1ba775188cf /sql/item_row.h | |
parent | cb16d753b2db936afff844cca0dd434fa7fe736b (diff) | |
download | mariadb-git-2637828065d5687c58b03be883a422b5d326af47.tar.gz |
MDEV-11344 Split Arg_comparator::set_compare_func() into virtual methods in Type_handler
This patch:
- Introduces a new virtuial method Type_handler::set_comparator_func
and moves pieces of the code from the switch in
Arg_comparator::set_compare_func into the corresponding
Type_handler_xxx::set_comparator_func.
- Adds Type_handler::get_handler_by_cmp_type()
- Moves Type_handler_hybrid_field_type::get_handler_by_result_type() to
a static method Type_handler::get_handler_by_result_type(),
for symmetry with similar methods:
* Type_handler::get_handler_by_field_type()
* Type_handler::get_handler_by_real_type()
* Type_handler::get_handler_by_cmp_type()
- Introduces Type_handler_row, to unify the code for the scalar
data types and the ROW data type (currently for comparison purposes only).
- Adds public type_handler_row, as it's now needed in item_row.h
- Makes type_handler_null public, as it's now needed in item_cmpfunc.h
Note, other type_handler_xxx will become public as well later.
- Removes the global variable Arg_comparator::comparator_matrix,
as it's not needed any more.
Diffstat (limited to 'sql/item_row.h')
-rw-r--r-- | sql/item_row.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/item_row.h b/sql/item_row.h index bbfebb56010..f8858738b78 100644 --- a/sql/item_row.h +++ b/sql/item_row.h @@ -56,6 +56,7 @@ public: {} enum Type type() const { return ROW_ITEM; }; + const Type_handler *type_handler() const { return &type_handler_row; } void illegal_method_call(const char *); bool is_null() { return null_value; } void make_field(THD *thd, Send_field *) |