summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <istruewing@stella.local>2007-11-21 20:32:58 +0100
committerunknown <istruewing@stella.local>2007-11-21 20:32:58 +0100
commit712d2c47eeef7a45f7361ad261249d85b6666943 (patch)
tree0f78323ccc7bcaa6f7e5c4772d69748967aacc02 /include
parent1fb0a096cf9ca930fe9bc66b202c8662daa76a9a (diff)
parent060bb57fdcc366723e8ad9a25fc15830bd4b2c0c (diff)
downloadmariadb-git-712d2c47eeef7a45f7361ad261249d85b6666943.tar.gz
Merge stella.local:/home2/mydev/mysql-5.1-amain
into stella.local:/home2/mydev/mysql-5.1-axmrg configure.in: Auto merged
Diffstat (limited to 'include')
-rw-r--r--include/my_base.h8
-rw-r--r--include/myisammrg.h9
2 files changed, 16 insertions, 1 deletions
diff --git a/include/my_base.h b/include/my_base.h
index 339554979a8..f79ff8805b9 100644
--- a/include/my_base.h
+++ b/include/my_base.h
@@ -187,7 +187,13 @@ enum ha_extra_function {
Inform handler that an "INSERT...ON DUPLICATE KEY UPDATE" will be
executed. This condition is unset by HA_EXTRA_NO_IGNORE_DUP_KEY.
*/
- HA_EXTRA_INSERT_WITH_UPDATE
+ HA_EXTRA_INSERT_WITH_UPDATE,
+ /*
+ Orders MERGE handler to attach or detach its child tables. Used at
+ begin and end of a statement.
+ */
+ HA_EXTRA_ATTACH_CHILDREN,
+ HA_EXTRA_DETACH_CHILDREN
};
/* The following is parameter to ha_panic() */
diff --git a/include/myisammrg.h b/include/myisammrg.h
index eed50bebaee..0cf3aa222b3 100644
--- a/include/myisammrg.h
+++ b/include/myisammrg.h
@@ -69,6 +69,8 @@ typedef struct st_myrg_info
uint merge_insert_method;
uint tables,options,reclength,keys;
my_bool cache_in_use;
+ /* If MERGE children attached to parent. See top comment in ha_myisammrg.cc */
+ my_bool children_attached;
LIST open_list;
QUEUE by_key;
ulong *rec_per_key_part; /* for sql optimizing */
@@ -80,6 +82,13 @@ typedef struct st_myrg_info
extern int myrg_close(MYRG_INFO *file);
extern int myrg_delete(MYRG_INFO *file,const uchar *buff);
extern MYRG_INFO *myrg_open(const char *name,int mode,int wait_if_locked);
+extern MYRG_INFO *myrg_parent_open(const char *parent_name,
+ int (*callback)(void*, const char*),
+ void *callback_param);
+extern int myrg_attach_children(MYRG_INFO *m_info, int handle_locking,
+ MI_INFO *(*callback)(void*),
+ void *callback_param);
+extern int myrg_detach_children(MYRG_INFO *m_info);
extern int myrg_panic(enum ha_panic_function function);
extern int myrg_rfirst(MYRG_INFO *file,uchar *buf,int inx);
extern int myrg_rlast(MYRG_INFO *file,uchar *buf,int inx);