summaryrefslogtreecommitdiff
path: root/sql/ha_blackhole.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/ha_blackhole.h')
-rw-r--r--sql/ha_blackhole.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/sql/ha_blackhole.h b/sql/ha_blackhole.h
index 4dcb37c637d..45ed0351457 100644
--- a/sql/ha_blackhole.h
+++ b/sql/ha_blackhole.h
@@ -17,6 +17,18 @@
#pragma interface /* gcc class implementation */
#endif
+
+/*
+ Shared structure for correct LOCK operation
+*/
+struct st_blackhole_share {
+ THR_LOCK lock;
+ uint use_count;
+ uint table_name_length;
+ char table_name[1];
+};
+
+
/*
Class definition for the blackhole storage engine
"Dumbest named feature ever"
@@ -24,7 +36,7 @@
class ha_blackhole: public handler
{
THR_LOCK_DATA lock; /* MySQL lock */
- THR_LOCK thr_lock;
+ st_blackhole_share *share;
public:
ha_blackhole(TABLE *table_arg);
@@ -76,10 +88,12 @@ public:
void position(const byte *record);
int info(uint flag);
int external_lock(THD *thd, int lock_type);
- uint lock_count(void) const;
int create(const char *name, TABLE *table_arg,
HA_CREATE_INFO *create_info);
THR_LOCK_DATA **store_lock(THD *thd,
THR_LOCK_DATA **to,
enum thr_lock_type lock_type);
};
+
+bool blackhole_db_init(void);
+bool blackhole_db_end(void);