Commit 316e9504 authored by unknown's avatar unknown

BUG#14514 Creating table with packed key fails silently


include/my_base.h:
  Move HA_CREATE_FROM_ENGINE to HA_OPTION_CREATE_FROM_ENGINE
sql/ha_ndbcluster.cc:
  Use HA_OPTION_CREATE_FROM_ENGINE
sql/handler.cc:
  Use HA_OPTION_CREATE_FROM_ENGINE
parent ec69ca57
...@@ -248,6 +248,7 @@ enum ha_base_keytype { ...@@ -248,6 +248,7 @@ enum ha_base_keytype {
#define HA_OPTION_CHECKSUM 32 #define HA_OPTION_CHECKSUM 32
#define HA_OPTION_DELAY_KEY_WRITE 64 #define HA_OPTION_DELAY_KEY_WRITE 64
#define HA_OPTION_NO_PACK_KEYS 128 /* Reserved for MySQL */ #define HA_OPTION_NO_PACK_KEYS 128 /* Reserved for MySQL */
#define HA_OPTION_CREATE_FROM_ENGINE 256
#define HA_OPTION_TEMP_COMPRESS_RECORD ((uint) 16384) /* set by isamchk */ #define HA_OPTION_TEMP_COMPRESS_RECORD ((uint) 16384) /* set by isamchk */
#define HA_OPTION_READ_ONLY_DATA ((uint) 32768) /* Set by isamchk */ #define HA_OPTION_READ_ONLY_DATA ((uint) 32768) /* Set by isamchk */
...@@ -258,7 +259,6 @@ enum ha_base_keytype { ...@@ -258,7 +259,6 @@ enum ha_base_keytype {
#define HA_CREATE_TMP_TABLE 4 #define HA_CREATE_TMP_TABLE 4
#define HA_CREATE_CHECKSUM 8 #define HA_CREATE_CHECKSUM 8
#define HA_CREATE_DELAY_KEY_WRITE 64 #define HA_CREATE_DELAY_KEY_WRITE 64
#define HA_CREATE_FROM_ENGINE 128
/* Bits in flag to _status */ /* Bits in flag to _status */
......
...@@ -3861,7 +3861,7 @@ int ha_ndbcluster::create(const char *name, ...@@ -3861,7 +3861,7 @@ int ha_ndbcluster::create(const char *name,
uint pack_length, length, i, pk_length= 0; uint pack_length, length, i, pk_length= 0;
const void *data, *pack_data; const void *data, *pack_data;
char name2[FN_HEADLEN]; char name2[FN_HEADLEN];
bool create_from_engine= (info->table_options & HA_CREATE_FROM_ENGINE); bool create_from_engine= (info->table_options & HA_OPTION_CREATE_FROM_ENGINE);
DBUG_ENTER("ha_ndbcluster::create"); DBUG_ENTER("ha_ndbcluster::create");
DBUG_PRINT("enter", ("name: %s", name)); DBUG_PRINT("enter", ("name: %s", name));
......
...@@ -2016,7 +2016,7 @@ int ha_create_table_from_engine(THD* thd, ...@@ -2016,7 +2016,7 @@ int ha_create_table_from_engine(THD* thd,
DBUG_RETURN(3); DBUG_RETURN(3);
update_create_info_from_table(&create_info, &table); update_create_info_from_table(&create_info, &table);
create_info.table_options|= HA_CREATE_FROM_ENGINE; create_info.table_options|= HA_OPTION_CREATE_FROM_ENGINE;
if (lower_case_table_names == 2 && if (lower_case_table_names == 2 &&
!(table.file->table_flags() & HA_FILE_BASED)) !(table.file->table_flags() & HA_FILE_BASED))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment