summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2001-08-19 14:43:51 +0300
committerunknown <monty@hundin.mysql.fi>2001-08-19 14:43:51 +0300
commitcfdf5fee2087dde1db4239b4d9a9f16bfb78ac05 (patch)
treee2a8b10d8dae9fee5283beb230210199e135ef74 /include
parente3a9e7e40e63e8bed554cfbceacf29490df1a14a (diff)
downloadmariadb-git-cfdf5fee2087dde1db4239b4d9a9f16bfb78ac05.tar.gz
Fix of UNION code
Added heap_delete_table Added HA_EXTRA_PREPARE_FOR_DELETE Added and use my_dup() for faster open of tables. Removed not working no-mix-table-type BitKeeper/deleted/.del-=6~33f33b0a159dc5d5: Delete: =6 heap/hp_clear.c: Cleanup heap/hp_close.c: Added delayed delete heap/hp_create.c: Added heap_delete_table heap/hp_delete.c: cleanup heap/hp_test2.c: Added heap_delete_table include/heap.h: Added heap_delete_table include/my_base.h: Added HA_EXTRA_PREPARE_FOR_DELETE include/my_sys.h: Adde my_dup and set_prealloc_root isam/extra.c: Added HA_EXTRA_PREPARE_FOR_DELETE myisam/mi_check.c: use my_dup myisam/mi_extra.c: use my_dup myisam/mi_open.c: use my_dup myisam/myisamchk.c: use my_dup myisam/myisamdef.h: use my_dup mysys/Makefile.am: my_dup mysys/hash.c: Add hash_replace mysys/mf_pack.c: cleanup mysys/my_alloc.c: Add set_prealloc_root mysys/my_fstream.c: cleanup mysys/my_lib.c: cleanup mysys/my_seek.c: cleanup sql/ha_heap.cc: Uses heap_delete_table() sql/mysqld.cc: Fix SIGHUP usage Remove no-mix-table-types sql/share/czech/errmsg.txt: new error message sql/share/danish/errmsg.txt: new error message sql/share/dutch/errmsg.txt: new error message sql/share/english/errmsg.txt: new error message sql/share/estonian/errmsg.txt: new error message sql/share/french/errmsg.txt: new error message sql/share/german/errmsg.txt: new error message sql/share/greek/errmsg.txt: new error message sql/share/hungarian/errmsg.txt: new error message sql/share/italian/errmsg.txt: new error message sql/share/japanese/errmsg.txt: new error message sql/share/korean/errmsg.txt: new error message sql/share/norwegian-ny/errmsg.txt: new error message sql/share/norwegian/errmsg.txt: new error message sql/share/polish/errmsg.txt: new error message sql/share/portuguese/errmsg.txt: new error message sql/share/romanian/errmsg.txt: new error message sql/share/russian/errmsg.txt: new error message sql/share/slovak/errmsg.txt: new error message sql/share/spanish/errmsg.txt: new error message sql/share/swedish/errmsg.txt: new error message sql/sql_base.cc: remove no-mix-table-type sql/sql_parse.cc: Fix UNION code
Diffstat (limited to 'include')
-rw-r--r--include/heap.h3
-rw-r--r--include/my_base.h3
-rw-r--r--include/my_sys.h5
3 files changed, 8 insertions, 3 deletions
diff --git a/include/heap.h b/include/heap.h
index 8cbb500fa86..9c67a84a2dd 100644
--- a/include/heap.h
+++ b/include/heap.h
@@ -109,6 +109,7 @@ typedef struct st_heap_share
THR_LOCK lock;
pthread_mutex_t intern_lock; /* Locking for use with _locking */
#endif
+ my_bool delete_on_close;
LIST open_list;
} HP_SHARE;
@@ -144,7 +145,7 @@ extern int heap_scan(register HP_INFO *info, byte *record);
extern int heap_delete(HP_INFO *info,const byte *buff);
extern int heap_info(HP_INFO *info,HEAPINFO *x,int flag);
extern int heap_create(const char *name);
-extern int heap_delete_all(const char *name);
+extern int heap_delete_table(const char *name);
extern int heap_extra(HP_INFO *info,enum ha_extra_function function);
extern int heap_rename(const char *old_name,const char *new_name);
extern int heap_panic(enum ha_panic_function flag);
diff --git a/include/my_base.h b/include/my_base.h
index f1d6c005262..e677f448c57 100644
--- a/include/my_base.h
+++ b/include/my_base.h
@@ -93,7 +93,8 @@ enum ha_extra_function {
HA_EXTRA_NO_IGNORE_DUP_KEY,
HA_EXTRA_DONT_USE_CURSOR_TO_UPDATE, /* Cursor will not be used for update */
HA_EXTRA_BULK_INSERT_BEGIN,
- HA_EXTRA_BULK_INSERT_END
+ HA_EXTRA_BULK_INSERT_END,
+ HA_EXTRA_PREPARE_FOR_DELETE
};
/* The following is parameter to ha_panic() */
diff --git a/include/my_sys.h b/include/my_sys.h
index 303ae03c903..591c3237c05 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -246,7 +246,8 @@ typedef struct st_record_cache /* Used when cacheing records */
} RECORD_CACHE;
enum file_type { UNOPEN = 0, FILE_BY_OPEN, FILE_BY_CREATE,
- STREAM_BY_FOPEN, STREAM_BY_FDOPEN, FILE_BY_MKSTEMP };
+ STREAM_BY_FOPEN, STREAM_BY_FDOPEN, FILE_BY_MKSTEMP,
+ FILE_BY_DUP };
extern struct my_file_info
{
@@ -387,6 +388,7 @@ extern File my_register_filename(File fd, const char *FileName,
extern File my_create(const char *FileName,int CreateFlags,
int AccsesFlags, myf MyFlags);
extern int my_close(File Filedes,myf MyFlags);
+extern File my_dup(File file, myf MyFlags);
extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
extern int my_readlink(char *to, const char *filename, myf MyFlags);
extern int my_realpath(char *to, const char *filename, myf MyFlags);
@@ -588,6 +590,7 @@ extern void my_free_lock(byte *ptr,myf flags);
void init_alloc_root(MEM_ROOT *mem_root, uint block_size, uint pre_alloc_size);
gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size);
void free_root(MEM_ROOT *root, myf MyFLAGS);
+void set_prealloc_root(MEM_ROOT *root, char *ptr);
char *strdup_root(MEM_ROOT *root,const char *str);
char *memdup_root(MEM_ROOT *root,const char *str,uint len);
void load_defaults(const char *conf_file, const char **groups,