summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-03-03 23:07:20 +0100
committerunknown <serg@serg.mylan>2005-03-03 23:07:20 +0100
commit9210c01caca1053755476b35cf25d777ce3de7b5 (patch)
tree55707388340dadccc4056126d6e229f3d2c7791e /sql/table.cc
parent560968258f615959419102de6d86707545c69655 (diff)
parent9a420a4f7b5e8d375d405f45424ee7f40b55c357 (diff)
downloadmariadb-git-9210c01caca1053755476b35cf25d777ce3de7b5.tar.gz
merge
include/my_global.h: Auto merged mysys/mf_tempfile.c: Auto merged sql/ha_myisam.cc: Auto merged sql/share/english/errmsg.txt: Auto merged sql/table.cc: Auto merged
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 064d7f1afc1..cdcd5148787 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1229,6 +1229,10 @@ File create_frm(register my_string name, uint reclength, uchar *fileinfo,
uint key_length;
ulong length;
char fill[IO_SIZE];
+ int create_flags= O_RDWR | O_TRUNC;
+
+ if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
+ create_flags|= O_EXCL | O_NOFOLLOW;
#if SIZEOF_OFF_T > 4
/* Fix this when we have new .frm files; Current limit is 4G rows (QQ) */
@@ -1243,7 +1247,7 @@ File create_frm(register my_string name, uint reclength, uchar *fileinfo,
*/
set_if_smaller(create_info->raid_chunks, 255);
- if ((file=my_create(name,CREATE_MODE,O_RDWR | O_TRUNC,MYF(MY_WME))) >= 0)
+ if ((file= my_create(name, CREATE_MODE, create_flags, MYF(MY_WME))) >= 0)
{
bzero((char*) fileinfo,64);
fileinfo[0]=(uchar) 254; fileinfo[1]= 1; fileinfo[2]= FRM_VER+3; // Header