From dc24473cb20a13b8af79aa8327b0e0fb253ff239 Mon Sep 17 00:00:00 2001 From: "antony@ppcg5.local" <> Date: Fri, 2 Mar 2007 08:43:45 -0800 Subject: WL#2936 "Server Variables for Plugins" Implement support for plugins to declare server variables. Demonstrate functionality by removing InnoDB specific code from sql/* New feature for HASH - HASH_UNIQUE flag New feature for DYNAMIC_ARRAY - initializer accepts preallocated ptr. Completed support for plugin reference counting. --- sql/sql_class.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'sql/sql_class.h') diff --git a/sql/sql_class.h b/sql/sql_class.h index 1f5f7aedbb4..08b5c772c8a 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -180,6 +180,20 @@ class Time_zone; struct system_variables { + /* + How dynamically allocated system variables are handled: + + The global_system_variables and max_system_variables are "authoritative" + They both should have the same 'version' and 'size'. + When attempting to access a dynamic variable, if the session version + is out of date, then the session version is updated and realloced if + neccessary and bytes copied from global to make up for missing data. + */ + ulong dynamic_variables_version; + char* dynamic_variables_ptr; + uint dynamic_variables_head; /* largest valid variable offset */ + uint dynamic_variables_size; /* how many bytes are in use */ + ulonglong myisam_max_extra_sort_file_size; ulonglong myisam_max_sort_file_size; ulonglong max_heap_table_size; @@ -245,8 +259,6 @@ struct system_variables my_bool new_mode; my_bool query_cache_wlock_invalidate; my_bool engine_condition_pushdown; - my_bool innodb_table_locks; - my_bool innodb_support_xa; my_bool ndb_force_send; my_bool ndb_use_copying_alter_table; my_bool ndb_use_exact_count; @@ -256,7 +268,7 @@ struct system_variables my_bool old_alter_table; my_bool old_passwords; - handlerton *table_type; + plugin_ref table_plugin; /* Only charset part of these variables is sensible */ CHARSET_INFO *character_set_filesystem; -- cgit v1.2.1