diff options
author | serg@serg.mysql.com <> | 2003-03-02 01:48:57 +0100 |
---|---|---|
committer | serg@serg.mysql.com <> | 2003-03-02 01:48:57 +0100 |
commit | be580475be9808f40f7601e37e550c2e28758133 (patch) | |
tree | d6b07c3fd5fd4967ed72aa58fae16480e0049cfd /myisam | |
parent | 587887871715cc99cca65e5d4ff4391004c1b8f0 (diff) | |
download | mariadb-git-be580475be9808f40f7601e37e550c2e28758133.tar.gz |
fix auto-increment in sub-key and insert ... select
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_check.c | 4 | ||||
-rw-r--r-- | myisam/mi_create.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c index 67a7d6f363d..ca5c8f9ecb4 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -3694,8 +3694,8 @@ void mi_disable_non_unique_index(MI_INFO *info, ha_rows rows) MI_KEYDEF *key=share->keyinfo; for (i=0 ; i < share->base.keys ; i++,key++) { - if (!(key->flag & HA_NOSAME) && ! mi_too_big_key_for_sort(key,rows) && - info->s->base.auto_key != i+1) + if (!(key->flag & (HA_NOSAME|HA_AUTO_KEY)) && + ! mi_too_big_key_for_sort(key,rows)) { share->state.key_map&= ~ ((ulonglong) 1 << i); info->update|= HA_STATE_CHANGED; diff --git a/myisam/mi_create.c b/myisam/mi_create.c index 039066c5b37..9082c2b0d95 100644 --- a/myisam/mi_create.c +++ b/myisam/mi_create.c @@ -304,7 +304,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, if (keydef->flag & HA_BINARY_PACK_KEY) options|=HA_OPTION_PACK_KEYS; /* Using packed keys */ - if (keydef->flag & HA_AUTO_KEY) + if (keydef->flag & HA_AUTO_KEY && ci->with_auto_increment) share.base.auto_key=i+1; for (j=0, keyseg=keydef->seg ; j < keydef->keysegs ; j++, keyseg++) { |