mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
697cb7b106
BUG#4335 - one name can be handler open'ed many times. Reworked the HANDLER functions and interface. Using a HASH to store information on open tables that survives FLUSH TABLE. HANDLER tables alias names must now be unique, though it is allowed in 4.0 to qualify them with the database name of the base table. mysql-test/r/flush_table.result: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Moved pure handler test results to handler.result. Added the new test results. mysql-test/r/handler.result: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Moved pure handler test results from flush_table.result to here. mysql-test/t/flush_table.test: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Moved pure handler tests to handler.test. Added new tests. mysql-test/t/handler.test: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Moved pure handler tests from flush_table.test to here. sql/mysql_priv.h: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Reworked the handler interface. sql/sql_base.cc: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Replaced mysql_ha_close_list() by the better named function mysql_ha_flush() with readable options. sql/sql_class.cc: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Added initialization for the handler tables hash. Changed the handler tables clean-up code. Unreleted to bug: Changed the order of THD initialization to avoid warning messages on Linux with gcc. sql/sql_class.h: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Added the handler tables HASH to THD. sql/sql_handler.cc: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. Completely reworked the handler functions. Added an introducing comment, describing the new functionality. sql/sql_table.cc: BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). BUG#4335 - one name can be handler open'ed many times. replaced mysql_ha_close() by the better named function mysql_ha_flush() with readable options.
105 lines
1.9 KiB
Text
105 lines
1.9 KiB
Text
drop table if exists t1;
|
|
create table t1 (a int not null auto_increment primary key);
|
|
insert into t1 values(0);
|
|
lock table t1 read;
|
|
flush table t1;
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
drop table t1;
|
|
drop table if exists t1;
|
|
drop table if exists t2;
|
|
create table t1(table_id char(20) primary key);
|
|
create table t2(table_id char(20) primary key);
|
|
insert into t1 values ('test.t1');
|
|
insert into t1 values ('');
|
|
insert into t2 values ('test.t2');
|
|
insert into t2 values ('');
|
|
handler t1 open as a1;
|
|
handler t1 open as a2;
|
|
handler t2 open;
|
|
handler a1 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler a2 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
test.t2
|
|
|
|
flush tables;
|
|
handler a1 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler a2 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
test.t2
|
|
|
|
handler t1 open as a1;
|
|
Not unique table/alias: 'a1'
|
|
handler t1 open as a2;
|
|
Not unique table/alias: 'a2'
|
|
handler t2 open;
|
|
Not unique table/alias: 't2'
|
|
handler a1 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler a2 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
test.t2
|
|
|
|
flush table t1;
|
|
handler a1 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler a2 read first limit 9;
|
|
table_id
|
|
test.t1
|
|
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
test.t2
|
|
|
|
flush table t2;
|
|
handler t2 close;
|
|
drop table t1;
|
|
drop table t2;
|
|
create table t1(table_id char(20) primary key);
|
|
insert into t1 values ('Record-01');
|
|
insert into t1 values ('Record-02');
|
|
insert into t1 values ('Record-03');
|
|
insert into t1 values ('Record-04');
|
|
insert into t1 values ('Record-05');
|
|
handler t1 open;
|
|
handler t1 read first limit 1;
|
|
table_id
|
|
Record-01
|
|
handler t1 read next limit 1;
|
|
table_id
|
|
Record-02
|
|
handler t1 read next limit 1;
|
|
table_id
|
|
Record-03
|
|
flush table t1;
|
|
handler t1 read next limit 1;
|
|
table_id
|
|
Record-01
|
|
handler t1 read next limit 1;
|
|
table_id
|
|
Record-02
|
|
handler t1 close;
|
|
drop table t1;
|