summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2004-01-23 20:00:10 +0400
committerunknown <hf@deer.(none)>2004-01-23 20:00:10 +0400
commita6132c6f0a742d04f0c0252f83be8b356507c9a6 (patch)
tree49de7fcd3c746734425c8deed43728660a8047dc /sql/sql_table.cc
parent2320323a344759567d702b257fb965646e6d8e7a (diff)
parent87b3ca5fe0f66b0d7546b6175d8b1d50d6d3a838 (diff)
downloadmariadb-git-a6132c6f0a742d04f0c0252f83be8b356507c9a6.tar.gz
Conflicts resolved
sql/field.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged include/mysqld_error.h: merging sql/share/english/errmsg.txt: merging
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 413fb77d929..60da32fceca 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -510,6 +510,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
blob_columns++;
break;
case FIELD_TYPE_GEOMETRY:
+#ifdef HAVE_SPATIAL
if (!(file->table_flags() & HA_HAS_GEOMETRY))
{
my_printf_error(ER_CHECK_NOT_IMPLEMENTED, ER(ER_CHECK_NOT_IMPLEMENTED),
@@ -525,6 +526,11 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
sql_field->unireg_check=Field::BLOB_FIELD;
blob_columns++;
break;
+#else
+ my_printf_error(ER_FEATURE_DISABLED,ER(ER_FEATURE_DISABLED), MYF(0),
+ sym_group_geom.name, sym_group_geom.needed_define);
+ DBUG_RETURN(-1);
+#endif /*HAVE_SPATIAL*/
case FIELD_TYPE_VAR_STRING:
case FIELD_TYPE_STRING:
sql_field->pack_flag=0;
@@ -658,8 +664,14 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
key_info->flags = HA_FULLTEXT;
break;
case Key::SPATIAL:
+#ifdef HAVE_SPATIAL
key_info->flags = HA_SPATIAL;
break;
+#else
+ my_printf_error(ER_FEATURE_DISABLED,ER(ER_FEATURE_DISABLED),MYF(0),
+ sym_group_geom.name, sym_group_geom.needed_define);
+ DBUG_RETURN(-1);
+#endif
case Key::FOREIGN_KEY:
key_number--; // Skip this key
continue;
@@ -698,8 +710,10 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
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)
{
my_printf_error(ER_WRONG_ARGUMENTS,
@@ -710,6 +724,11 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
my_printf_error(ER_NOT_SUPPORTED_YET, ER(ER_NOT_SUPPORTED_YET),
MYF(0), "RTREE INDEX");
DBUG_RETURN(-1);
+#else
+ my_printf_error(ER_FEATURE_DISABLED,ER(ER_FEATURE_DISABLED),MYF(0),
+ sym_group_rtree.name, sym_group_rtree.needed_define);
+ DBUG_RETURN(-1);
+#endif
}
List_iterator<key_part_spec> cols(key->columns);
@@ -779,6 +798,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
DBUG_RETURN(-1);
}
}
+#ifdef HAVE_SPATIAL
if (key->type == Key::SPATIAL)
{
if (!column->length )
@@ -790,6 +810,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
column->length=4*sizeof(double);
}
}
+#endif
if (!(sql_field->flags & NOT_NULL_FLAG))
{
if (key->type == Key::PRIMARY)
@@ -834,6 +855,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
DBUG_RETURN(-1);
}
}
+ /* TODO HF What's this for??? */
else if (f_is_geom(sql_field->pack_flag))
{
}