diff options
author | unknown <heikki@hundin.mysql.fi> | 2004-10-07 20:53:20 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2004-10-07 20:53:20 +0300 |
commit | 7efa215e254dc21ec89a30578669d31064d15f9c (patch) | |
tree | 6f703fce19246e6df6d180aa783050b5119d5b15 /innobase/include | |
parent | 5a390c9c70c8f28ea481870bf8ee6c5daabe00bc (diff) | |
download | mariadb-git-7efa215e254dc21ec89a30578669d31064d15f9c.tar.gz |
Many files:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
sql/ha_innodb.cc:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/row/row0mysql.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/fil/fil0fil.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0crea.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0dict.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0load.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0mem.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/mem0mem.ic:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/dict0mem.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/fil0fil.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/mem0mem.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/mem/mem0mem.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
Diffstat (limited to 'innobase/include')
-rw-r--r-- | innobase/include/dict0mem.h | 6 | ||||
-rw-r--r-- | innobase/include/fil0fil.h | 14 | ||||
-rw-r--r-- | innobase/include/mem0mem.h | 2 | ||||
-rw-r--r-- | innobase/include/mem0mem.ic | 14 |
4 files changed, 18 insertions, 18 deletions
diff --git a/innobase/include/dict0mem.h b/innobase/include/dict0mem.h index 944fad1a8c8..1e496a25477 100644 --- a/innobase/include/dict0mem.h +++ b/innobase/include/dict0mem.h @@ -305,6 +305,12 @@ struct dict_table_struct{ ulint type; /* DICT_TABLE_ORDINARY, ... */ mem_heap_t* heap; /* memory heap */ const char* name; /* table name */ + const char* dir_path_of_temp_table;/* NULL or the directory path + where a TEMPORARY table that was explicitly + created by a user should be placed if + innodb_file_per_table is defined in my.cnf; + in Unix this is usually /tmp/..., in Windows + \temp\... */ ulint space; /* space where the clustered index of the table is placed */ ibool ibd_file_missing;/* TRUE if this is in a single-table diff --git a/innobase/include/fil0fil.h b/innobase/include/fil0fil.h index 45549aee63c..5a5db77073a 100644 --- a/innobase/include/fil0fil.h +++ b/innobase/include/fil0fil.h @@ -339,11 +339,13 @@ fil_rename_tablespace( const char* new_name); /* in: new table name in the standard databasename/tablename format of InnoDB */ + /*********************************************************************** Creates a new single-table tablespace to a database directory of MySQL. Database directories are under the 'datadir' of MySQL. The datadir is the directory of a running mysqld program. We can refer to it by simply the -path '.'. */ +path '.'. Tables created with CREATE TEMPORARY TABLE we place in the temp +dir of the mysqld server. */ ulint fil_create_new_single_table_tablespace( @@ -354,7 +356,10 @@ fil_create_new_single_table_tablespace( otherwise output */ const char* tablename, /* in: the table name in the usual databasename/tablename format - of InnoDB */ + of InnoDB, or a dir path to a temp + table */ + ibool is_temp, /* in: TRUE if a table created with + CREATE TEMPORARY TABLE */ ulint size); /* in: the initial size of the tablespace file in pages, must be >= FIL_IBD_FILE_INITIAL_SIZE */ @@ -446,7 +451,10 @@ fil_space_for_table_exists_in_mem( exists in the memory cache */ ulint id, /* in: space id */ const char* name, /* in: table name in the standard - 'databasename/tablename' format */ + 'databasename/tablename' format or + the dir path to a temp table */ + ibool is_temp, /* in: TRUE if created with CREATE + TEMPORARY TABLE */ ibool mark_space, /* in: in crash recovery, at database startup we mark all spaces which have an associated table in the InnoDB diff --git a/innobase/include/mem0mem.h b/innobase/include/mem0mem.h index cd01ac77bf3..056d3dc508f 100644 --- a/innobase/include/mem0mem.h +++ b/innobase/include/mem0mem.h @@ -295,7 +295,7 @@ mem_strdupq( /************************************************************************** Duplicates a NUL-terminated string, allocated from a memory heap. */ -UNIV_INLINE + char* mem_heap_strdup( /*============*/ diff --git a/innobase/include/mem0mem.ic b/innobase/include/mem0mem.ic index d97b7d6c4dd..714c30e3642 100644 --- a/innobase/include/mem0mem.ic +++ b/innobase/include/mem0mem.ic @@ -628,20 +628,6 @@ mem_strdupq( } /************************************************************************** -Duplicates a NUL-terminated string, allocated from a memory heap. */ -UNIV_INLINE -char* -mem_heap_strdup( -/*============*/ - /* out, own: a copy of the string */ - mem_heap_t* heap, /* in: memory heap where string is allocated */ - const char* str) /* in: string to be copied */ -{ - ulint len = strlen(str) + 1; - return(memcpy(mem_heap_alloc(heap, len), str, len)); -} - -/************************************************************************** Makes a NUL-terminated copy of a nonterminated string, allocated from a memory heap. */ UNIV_INLINE |