summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <monty@work.mysql.com>2001-06-12 14:12:35 +0200
committerunknown <monty@work.mysql.com>2001-06-12 14:12:35 +0200
commita9e6b975fcf37c491870b3bf18493d0351ffc34f (patch)
treea5f1c279fea2101ed23cc2fffa79f3517349aff2 /sql/sql_table.cc
parent64dc74a13d17b863f0ed69b4f7d621b1b5da48ce (diff)
parentcdcc56705c89909a4077008640aebc894504e99d (diff)
downloadmariadb-git-a9e6b975fcf37c491870b3bf18493d0351ffc34f.tar.gz
merge
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union sql-bench/server-cfg.sh: Auto merged sql/sql_base.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index c895c63bcb7..a7ef6c30c4c 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -221,6 +221,13 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
db_options|=HA_OPTION_PACK_RECORD;
file=get_new_handler((TABLE*) 0, create_info->db_type);
+ if ((create_info->options & HA_LEX_CREATE_TMP_TABLE) &&
+ (file->option_flag() & HA_NO_TEMP_TABLES))
+ {
+ my_error(ER_ILLEGAL_HA,MYF(0),table_name);
+ DBUG_RETURN(-1);
+ }
+
/* Don't pack keys in old tables if the user has requested this */
while ((sql_field=it++))
@@ -1240,7 +1247,16 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
{
if (drop->type == Alter_drop::COLUMN &&
!my_strcasecmp(field->field_name, drop->name))
+ {
+ /* Reset auto_increment value if it was dropped */
+ if (MTYP_TYPENR(field->unireg_check) == Field::NEXT_NUMBER &&
+ !(create_info->used_fields & HA_CREATE_USED_AUTO))
+ {
+ create_info->auto_increment_value=0;
+ create_info->used_fields|=HA_CREATE_USED_AUTO;
+ }
break;
+ }
}
if (drop)
{