1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

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
This commit is contained in:
unknown
2006-09-30 12:49:46 -07:00
parent 48d5b3bd1f
commit 76b8386550
27 changed files with 350 additions and 248 deletions

View File

@@ -45,7 +45,7 @@ class Sensitive_cursor: public Server_side_cursor
query_id_t query_id;
struct Engine_info
{
const handlerton *ht;
handlerton *ht;
void *read_view;
};
Engine_info ht_info[MAX_HA];
@@ -318,12 +318,12 @@ Sensitive_cursor::post_open(THD *thd)
info= &ht_info[0];
for (handlerton **pht= thd->transaction.stmt.ht; *pht; pht++)
{
const handlerton *ht= *pht;
handlerton *ht= *pht;
close_at_commit|= test(ht->flags & HTON_CLOSE_CURSORS_AT_COMMIT);
if (ht->create_cursor_read_view)
{
info->ht= ht;
info->read_view= (ht->create_cursor_read_view)();
info->read_view= (ht->create_cursor_read_view)(ht);
++info;
}
}
@@ -433,7 +433,7 @@ Sensitive_cursor::fetch(ulong num_rows)
thd->set_n_backup_active_arena(this, &backup_arena);
for (info= ht_info; info->read_view ; info++)
(info->ht->set_cursor_read_view)(info->read_view);
(info->ht->set_cursor_read_view)(info->ht, info->read_view);
join->fetch_limit+= num_rows;
@@ -454,7 +454,7 @@ Sensitive_cursor::fetch(ulong num_rows)
reset_thd(thd);
for (info= ht_info; info->read_view; info++)
(info->ht->set_cursor_read_view)(0);
(info->ht->set_cursor_read_view)(info->ht, 0);
if (error == NESTED_LOOP_CURSOR_LIMIT)
{
@@ -487,7 +487,7 @@ Sensitive_cursor::close()
for (Engine_info *info= ht_info; info->read_view; info++)
{
(info->ht->close_cursor_read_view)(info->read_view);
(info->ht->close_cursor_read_view)(info->ht, info->read_view);
info->read_view= 0;
info->ht= 0;
}