summaryrefslogtreecommitdiff
path: root/storage/heap
diff options
context:
space:
mode:
authorunknown <brian@zim.(none)>2006-09-30 12:49:46 -0700
committerunknown <brian@zim.(none)>2006-09-30 12:49:46 -0700
commit3e7d326576f63d9af5061dfba977c33ee95d3f16 (patch)
tree84daf07576e05d5882ff636c5b4ae61f791e0a47 /storage/heap
parentb93473aaf8e832dc3fa79246df49166790db49ea (diff)
downloadmariadb-git-3e7d326576f63d9af5061dfba977c33ee95d3f16.tar.gz
This patch adds handlerton passing to functions. NDB and Innodb still require a global hanlderton in the main code due to the nature of the sql_cache call back function (should be solveable... another patch).
Partitioning now has a flag to allow disabling of engines from being compatible with partitioning. Cleaned up heap naming convention on panic call. include/heap.h: Added new function sql/ha_ndbcluster.cc: Updated hanlderton functions sql/ha_ndbcluster_binlog.cc: Updated handlerton functions. sql/handler.cc: Updated handlerton functions. sql/handler.h: Updated hanlderton functions sql/log.cc: Updated handlerton functions sql/mysql_priv.h: Updated handlerton functions sql/mysqld.cc: Added Legacy handlerton functions sql/partition_info.cc: Added flag support for marking engines not compatible with partitioning sql/sql_cursor.cc: Updated hanlderton functions sql/sql_show.cc: Updated hanlderton functions sql/sql_tablespace.cc: Update for handlerton functions storage/archive/ha_archive.cc: Update for hanlderton functions storage/archive/ha_archive.h: Update for handlerton functions storage/blackhole/ha_blackhole.cc: Update for handlerton functions storage/csv/ha_tina.cc: Update for handlerton functions storage/csv/ha_tina.h: Update for handlerton functions storage/federated/ha_federated.cc: Updated for handlerton functions storage/federated/ha_federated.h: Updated for handlerton functions storage/heap/ha_heap.cc: Update for handlerton functions storage/heap/hp_panic.c: Update of function name storage/heap/hp_test1.c: Update of function name storage/heap/hp_test2.c: Update of function name. storage/innobase/handler/ha_innodb.cc: Update of function name storage/innobase/handler/ha_innodb.h: Update of function name storage/myisam/ha_myisam.cc: Update of function name. storage/myisammrg/ha_myisammrg.cc: Update of function name
Diffstat (limited to 'storage/heap')
-rw-r--r--storage/heap/ha_heap.cc8
-rw-r--r--storage/heap/hp_panic.c6
-rw-r--r--storage/heap/hp_test1.c2
-rw-r--r--storage/heap/hp_test2.c4
4 files changed, 13 insertions, 7 deletions
diff --git a/storage/heap/ha_heap.cc b/storage/heap/ha_heap.cc
index 5991fdbf987..4a83b2e12d8 100644
--- a/storage/heap/ha_heap.cc
+++ b/storage/heap/ha_heap.cc
@@ -29,10 +29,16 @@ static handler *heap_create_handler(handlerton *hton,
TABLE_SHARE *table,
MEM_ROOT *mem_root);
-handlerton *heap_hton;
+int heap_panic(handlerton *hton, ha_panic_function flag)
+{
+ return hp_panic(flag);
+}
+
int heap_init(void *p)
{
+ handlerton *heap_hton;
+
heap_hton= (handlerton *)p;
heap_hton->state= SHOW_OPTION_YES;
heap_hton->db_type= DB_TYPE_HEAP;
diff --git a/storage/heap/hp_panic.c b/storage/heap/hp_panic.c
index 2b659cbfbb3..08c310bec3d 100644
--- a/storage/heap/hp_panic.c
+++ b/storage/heap/hp_panic.c
@@ -19,10 +19,10 @@
/* if flag == HA_PANIC_CLOSE then all files are removed for more
memory */
-int heap_panic(enum ha_panic_function flag)
+int hp_panic(enum ha_panic_function flag)
{
LIST *element,*next_open;
- DBUG_ENTER("heap_panic");
+ DBUG_ENTER("hp_panic");
pthread_mutex_lock(&THR_LOCK_heap);
for (element=heap_open_list ; element ; element=next_open)
@@ -54,4 +54,4 @@ int heap_panic(enum ha_panic_function flag)
}
pthread_mutex_unlock(&THR_LOCK_heap);
DBUG_RETURN(0);
-} /* heap_panic */
+} /* hp_panic */
diff --git a/storage/heap/hp_test1.c b/storage/heap/hp_test1.c
index 703b39b1e2d..a7423effac8 100644
--- a/storage/heap/hp_test1.c
+++ b/storage/heap/hp_test1.c
@@ -155,7 +155,7 @@ int main(int argc, char **argv)
}
#endif
- if (heap_close(file) || heap_panic(HA_PANIC_CLOSE))
+ if (heap_close(file) || hp_panic(HA_PANIC_CLOSE))
goto err;
my_end(MY_GIVE_INFO);
return(0);
diff --git a/storage/heap/hp_test2.c b/storage/heap/hp_test2.c
index c1d987a3b5f..b4e8cf98f0b 100644
--- a/storage/heap/hp_test2.c
+++ b/storage/heap/hp_test2.c
@@ -603,7 +603,7 @@ end:
if (heap_close(file) || (file2 && heap_close(file2)))
goto err;
heap_delete_table(filename2);
- heap_panic(HA_PANIC_CLOSE);
+ hp_panic(HA_PANIC_CLOSE);
my_end(MY_GIVE_INFO);
return(0);
err:
@@ -669,7 +669,7 @@ static sig_handler endprog(int sig_number __attribute__((unused)))
else
#endif
{
- heap_panic(HA_PANIC_CLOSE);
+ hp_panic(HA_PANIC_CLOSE);
my_end(1);
exit(1);
}