Fix myisam checksum patch to check for HA_OPTION_CHECKSUM after it was set, not before

This commit is contained in:
Sergei Golubchik 2010-03-12 20:03:37 +01:00
parent e14291c1ff
commit edfd875fc1

View File

@ -175,13 +175,6 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
}
}
/*
Don't set HA_OPTION_NULL_FIELDS if no checksums, as this flag makes
that file incompatible with MySQL. This is ok, as this flag is only
used if one specifics table level checksums.
*/
if (!(options & HA_OPTION_CHECKSUM))
options&= ~HA_OPTION_NULL_FIELDS;
if (packed || (flags & HA_PACK_RECORD))
options|=HA_OPTION_PACK_RECORD; /* Must use packed records */
/* We can't use checksum with static length rows */
@ -199,6 +192,13 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
options|= HA_OPTION_CHECKSUM;
min_pack_length++;
}
/*
Don't set HA_OPTION_NULL_FIELDS if no checksums, as this flag makes
that file incompatible with MySQL. This is ok, as this flag is only
used if one specifics table level checksums.
*/
if (!(options & HA_OPTION_CHECKSUM))
options&= ~HA_OPTION_NULL_FIELDS;
if (flags & HA_CREATE_DELAY_KEY_WRITE)
options|= HA_OPTION_DELAY_KEY_WRITE;
if (flags & HA_CREATE_RELIES_ON_SQL_LAYER)