diff options
author | unknown <monty@work.mysql.com> | 2001-06-12 14:12:35 +0200 |
---|---|---|
committer | unknown <monty@work.mysql.com> | 2001-06-12 14:12:35 +0200 |
commit | a9e6b975fcf37c491870b3bf18493d0351ffc34f (patch) | |
tree | a5f1c279fea2101ed23cc2fffa79f3517349aff2 /sql/sql_table.cc | |
parent | 64dc74a13d17b863f0ed69b4f7d621b1b5da48ce (diff) | |
parent | cdcc56705c89909a4077008640aebc894504e99d (diff) | |
download | mariadb-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.cc | 16 |
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) { |