summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <guilhem@gbichot3.local>2007-03-22 15:07:32 +0100
committerunknown <guilhem@gbichot3.local>2007-03-22 15:07:32 +0100
commit685d21b72f201a2eb16718e73c76e62ee708458d (patch)
tree2fab2e8f25684992b9059e3791afe031a12940db
parent24c0048ed00963c1e0f573f7ff94e0c150daea9a (diff)
downloadmariadb-git-685d21b72f201a2eb16718e73c76e62ee708458d.tar.gz
- renaming TMP_TABLE to NON_TRANSACTIONAL_TMP_TABLE because this is
what it actually means (Monty approved the renaming) - correcting description of transaction_alloc command-line options (our manual is correct) - fix for a failure of rpl_trigger. mysql-test/t/rpl_misc_functions.test: test was cleaning up only on slave, but it's also needed on master, otherwise it influences rpl_trigger.test sql/lock.cc: clearer name sql/mysqld.cc: I checked the code that those two variables are not about binlogging but about the size of the transaction's memroot which is used to create savepoint structures and to store list of tables to be invalidated (for NDB). The manual has a correct description, no need to fix it. sql/sql_base.cc: clearer name sql/sql_derived.cc: clearer name sql/sql_select.cc: clearer name sql/table.h: clearer name: TMP_TABLE is used for non-transactional tables.
-rw-r--r--mysql-test/t/rpl_misc_functions.test2
-rw-r--r--sql/lock.cc8
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/sql_base.cc2
-rw-r--r--sql/sql_derived.cc2
-rw-r--r--sql/sql_select.cc2
-rw-r--r--sql/table.h3
7 files changed, 13 insertions, 10 deletions
diff --git a/mysql-test/t/rpl_misc_functions.test b/mysql-test/t/rpl_misc_functions.test
index 43ce3afc8ad..f00beff583a 100644
--- a/mysql-test/t/rpl_misc_functions.test
+++ b/mysql-test/t/rpl_misc_functions.test
@@ -89,12 +89,14 @@ INSERT INTO t1 VALUES (test_replication_sf());
--exec diff $MYSQLTEST_VARDIR/tmp/rpl_rand_master.sql $MYSQLTEST_VARDIR/tmp/rpl_rand_slave.sql
# Cleanup
+connection master;
--disable_warnings
DROP PROCEDURE IF EXISTS test_replication_sp1;
DROP PROCEDURE IF EXISTS test_replication_sp2;
DROP FUNCTION IF EXISTS test_replication_sf;
DROP TABLE IF EXISTS t1;
--enable_warnings
+--sync_slave_with_master
# If all is good, when can cleanup our dump files.
--system rm $MYSQLTEST_VARDIR/tmp/rpl_rand_master.sql
diff --git a/sql/lock.cc b/sql/lock.cc
index bf1512b754c..233d12d9cc4 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -544,7 +544,7 @@ TABLE_LIST *mysql_lock_have_duplicate(THD *thd, TABLE_LIST *needle,
goto end;
/* A temporary table does not have locks. */
- if (table->s->tmp_table == TMP_TABLE)
+ if (table->s->tmp_table == NON_TRANSACTIONAL_TMP_TABLE)
goto end;
/* Get command lock or LOCK TABLES lock. Maybe empty for INSERT DELAYED. */
@@ -569,7 +569,7 @@ TABLE_LIST *mysql_lock_have_duplicate(THD *thd, TABLE_LIST *needle,
if (haystack->placeholder())
continue;
table2= haystack->table;
- if (table2->s->tmp_table == TMP_TABLE)
+ if (table2->s->tmp_table == NON_TRANSACTIONAL_TMP_TABLE)
continue;
/* All tables in list must be in lock. */
@@ -655,7 +655,7 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
*write_lock_used=0;
for (i=tables=lock_count=0 ; i < count ; i++)
{
- if (table_ptr[i]->s->tmp_table != TMP_TABLE)
+ if (table_ptr[i]->s->tmp_table != NON_TRANSACTIONAL_TMP_TABLE)
{
tables+=table_ptr[i]->file->lock_count();
lock_count++;
@@ -697,7 +697,7 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
TABLE *table;
enum thr_lock_type lock_type;
- if ((table=table_ptr[i])->s->tmp_table == TMP_TABLE)
+ if ((table=table_ptr[i])->s->tmp_table == NON_TRANSACTIONAL_TMP_TABLE)
continue;
lock_type= table->reginfo.lock_type;
if (lock_type >= TL_WRITE_ALLOW_WRITE)
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 9a7928b214f..0237ed144e8 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -6120,12 +6120,12 @@ The minimum value for this variable is 4096.",
(gptr*) &max_system_variables.tmp_table_size, 0, GET_ULL,
REQUIRED_ARG, 32*1024*1024L, 1024, MAX_MEM_TABLE_SIZE, 0, 1, 0},
{"transaction_alloc_block_size", OPT_TRANS_ALLOC_BLOCK_SIZE,
- "Allocation block size for transactions to be stored in binary log",
+ "Allocation block size for various transaction-related structures",
(gptr*) &global_system_variables.trans_alloc_block_size,
(gptr*) &max_system_variables.trans_alloc_block_size, 0, GET_ULONG,
REQUIRED_ARG, QUERY_ALLOC_BLOCK_SIZE, 1024, ~0L, 0, 1024, 0},
{"transaction_prealloc_size", OPT_TRANS_PREALLOC_SIZE,
- "Persistent buffer for transactions to be stored in binary log",
+ "Persistent buffer for various transaction-related structures",
(gptr*) &global_system_variables.trans_prealloc_size,
(gptr*) &max_system_variables.trans_prealloc_size, 0, GET_ULONG,
REQUIRED_ARG, TRANS_ALLOC_PREALLOC_SIZE, 1024, ~0L, 0, 1024, 0},
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 77bb1d9642b..e8cb3ae675d 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -2950,7 +2950,7 @@ TABLE *open_temporary_table(THD *thd, const char *path, const char *db,
share= tmp_table->s;
tmp_table->reginfo.lock_type=TL_WRITE; // Simulate locked
share->tmp_table= (tmp_table->file->has_transactions() ?
- TRANSACTIONAL_TMP_TABLE : TMP_TABLE);
+ TRANSACTIONAL_TMP_TABLE : NON_TRANSACTIONAL_TMP_TABLE);
share->table_cache_key= (char*) (tmp_table+1);
share->db= share->table_cache_key;
share->key_length= (uint) (strmov(((char*) (share->table_name=
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index cd46f3bcc0e..84622398f6f 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -179,7 +179,7 @@ exit:
orig_table_list->table_name= (char*) table->s->table_name;
orig_table_list->table_name_length= strlen((char*)table->s->table_name);
table->derived_select_number= first_select->select_number;
- table->s->tmp_table= TMP_TABLE;
+ table->s->tmp_table= NON_TRANSACTIONAL_TMP_TABLE;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
if (orig_table_list->referencing_view)
table->grant= orig_table_list->grant;
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 9fe92d63da3..433aef68e25 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -9165,7 +9165,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
table->s->table_name= table->s->path= tmpname;
table->s->db= "";
table->s->blob_ptr_size= mi_portable_sizeof_char_ptr;
- table->s->tmp_table= TMP_TABLE;
+ table->s->tmp_table= NON_TRANSACTIONAL_TMP_TABLE;
table->s->db_low_byte_first=1; // True for HEAP and MyISAM
table->s->table_charset= param->table_charset;
table->s->keys_for_keyread.init();
diff --git a/sql/table.h b/sql/table.h
index e2bd5ba0a7d..5fc73b22d2d 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -55,7 +55,8 @@ typedef struct st_grant_info
ulong orig_want_privilege;
} GRANT_INFO;
-enum tmp_table_type {NO_TMP_TABLE=0, TMP_TABLE=1, TRANSACTIONAL_TMP_TABLE=2,
+enum tmp_table_type {NO_TMP_TABLE=0,
+ NON_TRANSACTIONAL_TMP_TABLE=1, TRANSACTIONAL_TMP_TABLE=2,
SYSTEM_TMP_TABLE=3};
enum frm_type_enum