summaryrefslogtreecommitdiff
path: root/sql/structs.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-05-10 18:14:08 +0400
committerAlexander Barkov <bar@mariadb.org>2017-05-10 18:14:08 +0400
commit533506b4edb5873dc25ae335dbd018da37235f2b (patch)
tree9f9b3e36d6ac3df9428f55e72dffeca775974968 /sql/structs.h
parent191638416b3dbc206b4955639533e87cd488550c (diff)
downloadmariadb-git-533506b4edb5873dc25ae335dbd018da37235f2b.tar.gz
MDEV-12777 Change Lex_field_type_st::m_type from enum_field_types to Type_handler pointer
Diffstat (limited to 'sql/structs.h')
-rw-r--r--sql/structs.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/sql/structs.h b/sql/structs.h
index 1a143602eea..80371b1b8b6 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -29,6 +29,7 @@
#include <mysql_com.h> /* USERNAME_LENGTH */
struct TABLE;
+class Type_handler;
class Field;
class Index_statistics;
@@ -581,27 +582,27 @@ public:
struct Lex_field_type_st: public Lex_length_and_dec_st
{
private:
- enum_field_types m_type;
- void set(enum_field_types type, const char *length, const char *dec)
+ const Type_handler *m_handler;
+ void set(const Type_handler *handler, const char *length, const char *dec)
{
- m_type= type;
+ m_handler= handler;
Lex_length_and_dec_st::set(length, dec);
}
public:
- void set(enum_field_types type, Lex_length_and_dec_st length_and_dec)
+ void set(const Type_handler *handler, Lex_length_and_dec_st length_and_dec)
{
- m_type= type;
+ m_handler= handler;
Lex_length_and_dec_st::operator=(length_and_dec);
}
- void set(enum_field_types type, const char *length)
+ void set(const Type_handler *handler, const char *length)
{
- set(type, length, 0);
+ set(handler, length, 0);
}
- void set(enum_field_types type)
+ void set(const Type_handler *handler)
{
- set(type, 0, 0);
+ set(handler, 0, 0);
}
- enum_field_types field_type() const { return m_type; }
+ const Type_handler *type_handler() const { return m_handler; }
};