diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2023-01-31 09:57:52 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2023-01-31 09:57:52 +0100 |
commit | 638625278e7cadf42633e6f9d1b663ca1e3e1bb1 (patch) | |
tree | 8c93d8a33713abff96d229e96828870a53d0a5a0 /sql/field.h | |
parent | fa543a0f621fcf19e31c7d044f2b6c4f0836cd5a (diff) | |
parent | b923b80cfd8628ef973019bf3dba76dda8d940c4 (diff) | |
download | mariadb-git-638625278e7cadf42633e6f9d1b663ca1e3e1bb1.tar.gz |
Merge branch '10.7' into 10.8
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sql/field.h b/sql/field.h index 1e28dc3a914..5289b1c3b5d 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1845,7 +1845,14 @@ public: key_map get_possible_keys(); /* Hash value */ - virtual void hash(ulong *nr, ulong *nr2); + void hash(Hasher *hasher) + { + if (is_null()) + hasher->add_null(); + else + hash_not_null(hasher); + } + virtual void hash_not_null(Hasher *hasher); /** Get the upper limit of the MySQL integral and floating-point type. @@ -4221,7 +4228,7 @@ public: uchar *new_ptr, uint32 length, uchar *new_null_ptr, uint new_null_bit) override; bool is_equal(const Column_definition &new_field) const override; - void hash(ulong *nr, ulong *nr2) override; + void hash_not_null(Hasher *hasher) override; uint length_size() const override { return length_bytes; } void print_key_value(String *out, uint32 length) override; Binlog_type_info binlog_type_info() const override; @@ -4481,6 +4488,7 @@ public: bool make_empty_rec_store_default_value(THD *thd, Item *item) override; int store(const char *to, size_t length, CHARSET_INFO *charset) override; using Field_str::store; + void hash_not_null(Hasher *hasher) override; double val_real() override; longlong val_int() override; String *val_str(String *, String *) override; @@ -5051,7 +5059,7 @@ public: if (bit_ptr) bit_ptr= ADD_TO_PTR(bit_ptr, ptr_diff, uchar*); } - void hash(ulong *nr, ulong *nr2) override; + void hash_not_null(Hasher *hasher) override; SEL_ARG *get_mm_leaf(RANGE_OPT_PARAM *param, KEY_PART *key_part, const Item_bool_func *cond, |