diff options
author | unknown <ingo@mysql.com> | 2006-01-23 19:12:29 +0100 |
---|---|---|
committer | unknown <ingo@mysql.com> | 2006-01-23 19:12:29 +0100 |
commit | 15ecf9228a3ba5e65f39cf87f941d0d997683dc6 (patch) | |
tree | 71007ca518f63cab8214fe281a3bc3abbaef3c1a /sql/table.h | |
parent | 2845da017e9a570b04d26ceaeb0c33d0fbe6fbd7 (diff) | |
download | mariadb-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.h | 3 |
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 */ |