summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-12-02 14:47:14 +0200
committerunknown <monty@mysql.com>2004-12-02 14:47:14 +0200
commit9cc9d5147c1ca649e99f4d271e6d6e56c6a49397 (patch)
treebdf1d0bf0dbc1d45ea86f192333d02aaa83df074 /sql/sql_table.cc
parent2e34e083946cdd9c7b0691775ebbb0c280cdd7ef (diff)
parent9589175a02d93a3f99077155ecaa158e7b9239b8 (diff)
downloadmariadb-git-9cc9d5147c1ca649e99f4d271e6d6e56c6a49397.tar.gz
merged on pull
mysql-test/r/rpl_start_stop_slave.result: Auto merged sql/field.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_table.cc: Auto merged mysql-test/r/type_enum.result: merged test cases mysql-test/t/type_enum.test: merged test cases
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc14
1 files changed, 4 insertions, 10 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index a304e821ecd..71ce9102fbb 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -934,8 +934,7 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
DBUG_RETURN(-1);
}
}
- else
- if (key_info->algorithm == HA_KEY_ALG_RTREE)
+ else if (key_info->algorithm == HA_KEY_ALG_RTREE)
{
#ifdef HAVE_RTREE_KEYS
if ((key_info->key_parts & 1) == 1)
@@ -959,6 +958,8 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
CHARSET_INFO *ft_key_charset=0; // for FULLTEXT
for (uint column_nr=0 ; (column=cols++) ; column_nr++)
{
+ key_part_spec *dup_column;
+
it.rewind();
field=0;
while ((sql_field=it++) &&
@@ -973,9 +974,8 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
column->field_name);
DBUG_RETURN(-1);
}
- for (uint dup_nr= 0; dup_nr < column_nr; dup_nr++)
+ while ((dup_column= cols2++) != column)
{
- key_part_spec *dup_column= cols2++;
if (!my_strcasecmp(system_charset_info,
column->field_name, dup_column->field_name))
{
@@ -986,12 +986,6 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
}
}
cols2.rewind();
- /* for fulltext keys keyseg length is 1 for blobs (it's ignored in
- ft code anyway, and 0 (set to column width later) for char's.
- it has to be correct col width for char's, as char data are not
- prefixed with length (unlike blobs, where ft code takes data length
- from a data prefix, ignoring column->length).
- */
if (key->type == Key::FULLTEXT)
{
if ((sql_field->sql_type != FIELD_TYPE_STRING &&