From 74ea459412f9a479ea1385a72cc27b4245c06435 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 11 Oct 2003 22:00:24 +0300 Subject: Add new user variables for tuning memory usage: query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size Add more checks for "out of memory" detection in range optimization configure.in: Added detection of mallinfo mysql-test/r/variables.result: Test of new variables mysql-test/t/variables.test: Test of new variables sql/ha_berkeley.cc: Use init_sql_alloc instead of init_alloc_root for better OOM detection sql/log_event.cc: Add new user variables for tuning memory usage sql/mysql_priv.h: Add new user variables for tuning memory usage sql/mysqld.cc: Add new user variables for tuning memory usage sql/opt_ft.cc: Add new user variables for tuning memory usage sql/opt_ft.h: Add new user variables for tuning memory usage sql/opt_range.cc: Add new user variables for tuning memory usage Add more checks for out of memory conditions sql/opt_range.h: Add new user variables for tuning memory usage sql/set_var.cc: Add new user variables for tuning memory usage sql/sql_acl.cc: Add new user variables for tuning memory usage sql/sql_class.h: Add new user variables for tuning memory usage sql/sql_delete.cc: Add new user variables for tuning memory usage sql/sql_parse.cc: Add new user variables for tuning memory usage sql/sql_select.cc: Add new user variables for tuning memory usage sql/sql_test.cc: Add information about memory useage if system supports mallinfo() sql/sql_udf.cc: Add new user variables for tuning memory usage sql/sql_update.cc: Add new user variables for tuning memory usage sql/table.cc: Add new user variables for tuning memory usage --- sql/opt_range.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'sql/opt_range.h') diff --git a/sql/opt_range.h b/sql/opt_range.h index 6a6b5ae3810..cda8ad51c3f 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -80,7 +80,7 @@ public: ha_rows records; double read_time; - QUICK_SELECT(TABLE *table,uint index_arg,bool no_alloc=0); + QUICK_SELECT(THD *thd, TABLE *table,uint index_arg,bool no_alloc=0); virtual ~QUICK_SELECT(); void reset(void) { next=0; it.rewind(); } int init() { return error=file->index_init(index); } @@ -124,13 +124,15 @@ class SQL_SELECT :public Sql_alloc { SQL_SELECT(); ~SQL_SELECT(); - bool check_quick(bool force_quick_range=0, ha_rows limit = HA_POS_ERROR) - { return test_quick_select(~0L,0,limit, force_quick_range) < 0; } + bool check_quick(THD *thd, bool force_quick_range= 0, + ha_rows limit= HA_POS_ERROR) + { return test_quick_select(thd, ~0L,0,limit, force_quick_range) < 0; } inline bool skipp_record() { return cond ? cond->val_int() == 0 : 0; } - int test_quick_select(key_map keys,table_map prev_tables,ha_rows limit, - bool force_quick_range=0); + int test_quick_select(THD *thd, key_map keys, table_map prev_tables, + ha_rows limit, bool force_quick_range=0); }; -QUICK_SELECT *get_quick_select_for_ref(TABLE *table, struct st_table_ref *ref); +QUICK_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table, + struct st_table_ref *ref); #endif -- cgit v1.2.1