summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorunknown <kostja@bodhi.local>2006-07-26 23:33:25 +0400
committerunknown <kostja@bodhi.local>2006-07-26 23:33:25 +0400
commit5b6016c14e1e3cc3450e67a6bba0827a4099bdbe (patch)
tree9127bb933b3774974a321dce0ca111f0e8ac8991 /storage
parenta920f554db0924b9c9c2e279003820b376d29545 (diff)
parenta7dddd3b67e70292c0813e80ad255f1dc2f3a867 (diff)
downloadmariadb-git-5b6016c14e1e3cc3450e67a6bba0827a4099bdbe.tar.gz
Merge bodhi.local:/opt/local/work/tmp_merge
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-libmysqld.dsp~78dc6a589e5a4149: Auto merged BitKeeper/deleted/.del-libmysqld.vcproj~a75d5b9a5967dea0: Auto merged BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56: Auto merged BitKeeper/deleted/.del-mysqld.vcproj~6aa7b3f9c3e28fcb: Auto merged libmysqld/Makefile.am: Auto merged mysql-test/Makefile.am: Auto merged mysql-test/r/date_formats.result: Auto merged mysql-test/r/view_grant.result: Auto merged mysql-test/t/date_formats.test: Auto merged mysql-test/t/init_connect.test: Auto merged mysql-test/t/mysqldump.test: Auto merged mysql-test/t/view_grant.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/item.cc: Auto merged sql/item_create.cc: Auto merged sql/item_create.h: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/item_timefunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/opt_range.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_trigger.cc: Auto merged sql/sql_udf.cc: Auto merged sql/sql_yacc.yy: Auto merged storage/ndb/include/kernel/GlobalSignalNumbers.h: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/ndbapi/ndberror.c: Auto merged support-files/mysql.spec.sh: Auto merged mysql-test/r/federated.result: Use local. mysql-test/r/myisam.result: Manual merge. mysql-test/t/federated.test: Manual merge. mysql-test/t/myisam.test: Manual merge. sql/Makefile.am: Manual merge. sql/set_var.cc: Manual merge. sql/sql_parse.cc: Manual merge. sql/sql_update.cc: Manual merge. storage/myisam/mi_create.c: Manual merge.
Diffstat (limited to 'storage')
-rw-r--r--storage/myisam/mi_create.c39
1 files changed, 33 insertions, 6 deletions
diff --git a/storage/myisam/mi_create.c b/storage/myisam/mi_create.c
index c5a9af08def..a0b3f657867 100644
--- a/storage/myisam/mi_create.c
+++ b/storage/myisam/mi_create.c
@@ -574,9 +574,22 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
{
char *iext= strrchr(ci->index_file_name, '.');
int have_iext= iext && !strcmp(iext, MI_NAME_IEXT);
-
- fn_format(filename, ci->index_file_name, "", MI_NAME_IEXT,
- MY_UNPACK_FILENAME| (have_iext ? MY_REPLACE_EXT :MY_APPEND_EXT));
+ if (options & HA_OPTION_TMP_TABLE)
+ {
+ char *path;
+ /* chop off the table name, tempory tables use generated name */
+ if ((path= strrchr(ci->index_file_name, FN_LIBCHAR)))
+ *path= '\0';
+ fn_format(filename, name, ci->index_file_name, MI_NAME_IEXT,
+ MY_REPLACE_DIR | MY_UNPACK_FILENAME |
+ (have_iext ? MY_REPLACE_EXT : MY_APPEND_EXT));
+ }
+ else
+ {
+ fn_format(filename, ci->index_file_name, "", MI_NAME_IEXT,
+ MY_UNPACK_FILENAME | (have_iext ? MY_REPLACE_EXT :
+ MY_APPEND_EXT));
+ }
fn_format(linkname, name, "", MI_NAME_IEXT,
MY_UNPACK_FILENAME|MY_APPEND_EXT);
linkname_ptr=linkname;
@@ -639,9 +652,23 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
char *dext= strrchr(ci->data_file_name, '.');
int have_dext= dext && !strcmp(dext, MI_NAME_DEXT);
- fn_format(filename, ci->data_file_name, "", MI_NAME_DEXT,
- MY_UNPACK_FILENAME |
- (have_dext ? MY_REPLACE_EXT : MY_APPEND_EXT));
+ if (options & HA_OPTION_TMP_TABLE)
+ {
+ char *path;
+ /* chop off the table name, tempory tables use generated name */
+ if ((path= strrchr(ci->data_file_name, FN_LIBCHAR)))
+ *path= '\0';
+ fn_format(filename, name, ci->data_file_name, MI_NAME_DEXT,
+ MY_REPLACE_DIR | MY_UNPACK_FILENAME |
+ (have_dext ? MY_REPLACE_EXT : MY_APPEND_EXT));
+ }
+ else
+ {
+ fn_format(filename, ci->data_file_name, "", MI_NAME_DEXT,
+ MY_UNPACK_FILENAME |
+ (have_dext ? MY_REPLACE_EXT : MY_APPEND_EXT));
+ }
+
fn_format(linkname, name, "",MI_NAME_DEXT,
MY_UNPACK_FILENAME | MY_APPEND_EXT);
linkname_ptr=linkname;