diff options
author | jimw@mysql.com <> | 2005-06-09 19:29:55 -0700 |
---|---|---|
committer | jimw@mysql.com <> | 2005-06-09 19:29:55 -0700 |
commit | 1055c3600089480b5f3b88af3515c2c09f2605cc (patch) | |
tree | 7b9f0710e776850ddf034f4f8038ccf75689465e /sql/field.cc | |
parent | 153f233627489bee542787ea0f0aa8b8270c67b6 (diff) | |
parent | d147e69bb756202d05243ccec48c220f896237af (diff) | |
download | mariadb-git-1055c3600089480b5f3b88af3515c2c09f2605cc.tar.gz |
Merge mysql.com:/home/jimw/my/mysql-5.0-10543
into mysql.com:/home/jimw/my/mysql-5.0-clean
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sql/field.cc b/sql/field.cc index a50190543b5..89ef25475ff 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -982,6 +982,39 @@ Item_result Field::result_merge_type(enum_field_types field_type) Static help functions *****************************************************************************/ + +/* + Check whether a field type can be partially indexed by a key + + This is a static method, rather than a virtual function, because we need + to check the type of a non-Field in mysql_alter_table(). + + SYNOPSIS + type_can_have_key_part() + type field type + + RETURN + TRUE Type can have a prefixed key + FALSE Type can not have a prefixed key +*/ + +bool Field::type_can_have_key_part(enum enum_field_types type) +{ + switch (type) { + case MYSQL_TYPE_VARCHAR: + case MYSQL_TYPE_TINY_BLOB: + case MYSQL_TYPE_MEDIUM_BLOB: + case MYSQL_TYPE_LONG_BLOB: + case MYSQL_TYPE_BLOB: + case MYSQL_TYPE_VAR_STRING: + case MYSQL_TYPE_STRING: + return TRUE; + default: + return FALSE; + } +} + + /* Numeric fields base class constructor */ |