summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2006-01-23 19:12:29 +0100
committerunknown <ingo@mysql.com>2006-01-23 19:12:29 +0100
commit15ecf9228a3ba5e65f39cf87f941d0d997683dc6 (patch)
tree71007ca518f63cab8214fe281a3bc3abbaef3c1a /sql/table.h
parent2845da017e9a570b04d26ceaeb0c33d0fbe6fbd7 (diff)
downloadmariadb-git-15ecf9228a3ba5e65f39cf87f941d0d997683dc6.tar.gz
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally implemented by Monty. mysql-test/r/lock.result: BUG#5390 - problems with merge tables After-fix optimizations proposed and finally implemented by Monty. Additional test results. mysql-test/t/lock.test: BUG#5390 - problems with merge tables After-fix optimizations proposed and finally implemented by Monty. Additional tests. sql/lock.cc: BUG#5390 - problems with merge tables After-fix optimizations proposed and finally implemented by Monty. get_lock_data() gets a flag for storing the lock positions in the new TABLE elements. mysql_lock_remove() can now remove a lock faster and more precisely as it has needed info in TABLE now. mysql_unlock_read_tables() and mysql_lock_merge() must now adjust the new elements of TABLE when modifying locks. mysql_lock_have_duplicate() can now work faster on the existing lock as the positions in the lock arrays are known for each table. get_lock_data() assigns the new TABLE elements on request of the new flag. sql/table.h: BUG#5390 - problems with merge tables After-fix optimizations proposed and finally implemented by Monty. Additional elements of TABLE.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 0a1d1893531..610c76e35c2 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -86,6 +86,9 @@ struct st_table {
uint next_number_index;
uint blob_ptr_size; /* 4 or 8 */
uint next_number_key_offset;
+ uint lock_position; /* Position in MYSQL_LOCK.table */
+ uint lock_data_start; /* Start pos. in MYSQL_LOCK.locks */
+ uint lock_count; /* Number of locks */
int current_lock; /* Type of lock on table */
enum tmp_table_type tmp_table;
my_bool copy_blobs; /* copy_blobs when storing */