summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-06-09 19:29:55 -0700
committerunknown <jimw@mysql.com>2005-06-09 19:29:55 -0700
commit5b81b2dc87261d55b8f18bc89c24a426c35c5603 (patch)
tree7b9f0710e776850ddf034f4f8038ccf75689465e /sql/field.cc
parenta3fe14096397ddd8ce7095aad9361c25090569ca (diff)
parentdd8e174fa6a07ebf21a3b0a03883d2be694b827b (diff)
downloadmariadb-git-5b81b2dc87261d55b8f18bc89c24a426c35c5603.tar.gz
Merge mysql.com:/home/jimw/my/mysql-5.0-10543
into mysql.com:/home/jimw/my/mysql-5.0-clean sql/field.cc: Auto merged sql/field.h: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc33
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
*/