summaryrefslogtreecommitdiff
path: root/storage/maria/ma_create.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/maria/ma_create.c')
-rw-r--r--storage/maria/ma_create.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/storage/maria/ma_create.c b/storage/maria/ma_create.c
index 5dd6e0e1f93..d8660dd41cb 100644
--- a/storage/maria/ma_create.c
+++ b/storage/maria/ma_create.c
@@ -246,6 +246,14 @@ int maria_create(const char *name, enum data_file_type datafile_type,
}
}
}
+
+ if (flags & HA_CREATE_TMP_TABLE)
+ {
+ options|= HA_OPTION_TMP_TABLE;
+ create_mode|= O_EXCL | O_NOFOLLOW;
+ /* temp tables are not crash-safe (dropped at restart) */
+ ci->transactional= FALSE;
+ }
share.base.null_bytes= ci->null_bytes;
share.base.original_null_bytes= ci->null_bytes;
share.base.transactional= ci->transactional;
@@ -255,11 +263,6 @@ int maria_create(const char *name, enum data_file_type datafile_type,
if (pack_reclength != INT_MAX32)
pack_reclength+= max_field_lengths + long_varchar_count;
- if (flags & HA_CREATE_TMP_TABLE)
- {
- options|= HA_OPTION_TMP_TABLE;
- create_mode|= O_EXCL | O_NOFOLLOW;
- }
if (flags & HA_CREATE_CHECKSUM || (options & HA_OPTION_CHECKSUM))
{
options|= HA_OPTION_CHECKSUM;