1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

remove maria_* variables from the server, declare them in ha_maria.cc

note: this does *not* move pagecache* variables.


sql/mysqld.cc:
  remove maria_* variables from the server, declare them in ha_maria.cc
sql/set_var.cc:
  remove maria_* variables from the server, declare them in ha_maria.cc
sql/sql_class.h:
  remove maria_* variables from the server, declare them in ha_maria.cc
sql/sql_plugin.cc:
  bugfix: support for ENUM/SET thd local plugin variables
storage/maria/ha_maria.cc:
  remove maria_* variables from the server, declare them in ha_maria.cc
This commit is contained in:
unknown
2007-10-06 17:56:52 +02:00
parent a1bb4afa7e
commit 6c7a278c83
5 changed files with 87 additions and 117 deletions

View File

@ -232,20 +232,19 @@ 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 maria_max_sort_file_size;
ulonglong myisam_max_sort_file_size;
ulonglong max_heap_table_size;
ulonglong tmp_table_size;
@ -262,9 +261,6 @@ struct system_variables
ulong max_tmp_tables;
ulong max_insert_delayed_threads;
ulong min_examined_row_limit;
ulong maria_repair_threads;
ulong maria_sort_buff_size;
ulong maria_stats_method;
ulong multi_range_count;
ulong myisam_repair_threads;
ulong myisam_sort_buff_size;
@ -312,9 +308,9 @@ struct system_variables
my_bool low_priority_updates;
my_bool new_mode;
/*
/*
compatibility option:
- index usage hints (USE INDEX without a FOR clause) behave as in 5.0
- index usage hints (USE INDEX without a FOR clause) behave as in 5.0
*/
my_bool old_mode;
my_bool query_cache_wlock_invalidate;
@ -538,7 +534,7 @@ class Server_side_cursor;
- prepared, that is, contain placeholders,
- opened as cursors. We maintain 1 to 1 relationship between
statement and cursor - if user wants to create another cursor for his
query, we create another statement for it.
query, we create another statement for it.
To perform some action with statement we reset THD part to the state of
that statement, do the action, and then save back modified state from THD
to the statement. It will be changed in near future, and Statement will
@ -589,7 +585,7 @@ public:
it. We will see the query_length field as either 0, or the right value
for it.
Assuming that the write and read of an n-bit memory field in an n-bit
computer is atomic, we can avoid races in the above way.
computer is atomic, we can avoid races in the above way.
This printing is needed at least in SHOW PROCESSLIST and SHOW INNODB
STATUS.
*/
@ -741,7 +737,7 @@ public:
{
return (*priv_host ? priv_host : (char *)"%");
}
bool set_user(char *user_arg);
#ifndef NO_EMBEDDED_ACCESS_CHECKS
@ -1084,7 +1080,7 @@ public:
/*
One thread can hold up to one named user-level lock. This variable
points to a lock object if the lock is present. See item_func.cc and
chapter 'Miscellaneous functions', for functions GET_LOCK, RELEASE_LOCK.
chapter 'Miscellaneous functions', for functions GET_LOCK, RELEASE_LOCK.
*/
User_level_lock *ull;
#ifndef DBUG_OFF
@ -1103,7 +1099,7 @@ public:
time_t start_time, user_time;
ulonglong connect_utime, thr_create_utime; // track down slow pthread_create
ulonglong start_utime, utime_after_lock;
thr_lock_type update_lock_default;
Delayed_insert *di;
@ -1471,7 +1467,7 @@ public:
bool substitute_null_with_insert_id;
bool in_lock_tables;
bool query_error, bootstrap, cleanup_done;
/** is set if some thread specific value(s) used in a statement. */
bool thread_specific_used;
bool charset_is_system_charset, charset_is_collation_connection;
@ -1503,10 +1499,10 @@ public:
ulong ulong_value;
ulonglong ulonglong_value;
} sys_var_tmp;
struct {
/*
If true, mysql_bin_log::write(Log_event) call will not write events to
/*
If true, mysql_bin_log::write(Log_event) call will not write events to
binlog, and maintain 2 below variables instead (use
mysql_bin_log.start_union_events to turn this on)
*/
@ -1517,13 +1513,13 @@ public:
*/
bool unioned_events;
/*
If TRUE, at least one mysql_bin_log::write(Log_event e), where
e.cache_stmt == TRUE call has been made after last
If TRUE, at least one mysql_bin_log::write(Log_event e), where
e.cache_stmt == TRUE call has been made after last
mysql_bin_log.start_union_events() call.
*/
bool unioned_events_trans;
/*
/*
'queries' (actually SP statements) that run under inside this binlog
union have thd->query_id >= first_query_id.
*/
@ -1554,7 +1550,7 @@ public:
killing mysqld) where it's vital to not allocate excessive and not used
memory. Note, that we still don't return error from init_for_queries():
if preallocation fails, we should notice that at the first call to
alloc_root.
alloc_root.
*/
void init_for_queries();
void change_user(void);
@ -1584,12 +1580,12 @@ public:
The query can be logged row-based or statement-based
*/
ROW_QUERY_TYPE,
/*
The query has to be logged statement-based
*/
STMT_QUERY_TYPE,
/*
The query represents a change to a table in the "mysql"
database and is currently mapped to ROW_QUERY_TYPE.
@ -1597,7 +1593,7 @@ public:
MYSQL_QUERY_TYPE,
QUERY_TYPE_COUNT
};
int binlog_query(enum_binlog_query_type qtype,
char const *query, ulong query_len,
bool is_trans, bool suppress_use,
@ -1819,7 +1815,7 @@ public:
if ((temporary_tables == NULL) && (in_sub_stmt == 0) &&
(system_thread != SYSTEM_THREAD_NDBCLUSTER_BINLOG))
{
current_stmt_binlog_row_based=
current_stmt_binlog_row_based=
test(variables.binlog_format == BINLOG_FORMAT_ROW);
}
}
@ -2165,8 +2161,8 @@ public:
#include <myisam.h>
/*
Param to create temporary tables when doing SELECT:s
/*
Param to create temporary tables when doing SELECT:s
NOTE
This structure is copied using memcpy as a part of JOIN.
*/
@ -2194,8 +2190,8 @@ public:
uint quick_group;
bool using_indirect_summary_function;
/* If >0 convert all blob fields to varchar(convert_blob_length) */
uint convert_blob_length;
CHARSET_INFO *table_charset;
uint convert_blob_length;
CHARSET_INFO *table_charset;
bool schema_table;
/*
True if GROUP BY and its aggregate functions are already computed
@ -2329,7 +2325,7 @@ public:
else
db= db_arg;
}
inline Table_ident(LEX_STRING table_arg)
inline Table_ident(LEX_STRING table_arg)
:table(table_arg), sel((SELECT_LEX_UNIT *)0)
{
db.str=0;
@ -2375,7 +2371,7 @@ class user_var_entry
};
/*
Unique -- class for unique (removing of duplicates).
Unique -- class for unique (removing of duplicates).
Puts all values to the TREE. If the tree becomes too big,
it's dumped to the file. User can request sorted values, or
just iterate through them. In the last case tree merging is performed in
@ -2409,9 +2405,9 @@ public:
}
bool get(TABLE *table);
static double get_use_cost(uint *buffer, uint nkeys, uint key_size,
static double get_use_cost(uint *buffer, uint nkeys, uint key_size,
ulonglong max_in_memory_size);
inline static int get_cost_calc_buff_size(ulong nkeys, uint key_size,
inline static int get_cost_calc_buff_size(ulong nkeys, uint key_size,
ulonglong max_in_memory_size)
{
register ulonglong max_elems_in_tree=
@ -2466,7 +2462,7 @@ class multi_update :public select_result_interceptor
uint table_count;
/*
List of tables referenced in the CHECK OPTION condition of
the updated view excluding the updated table.
the updated view excluding the updated table.
*/
List <TABLE> unupdated_check_opt_tables;
Copy_field *copy_field;