mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
2a001d5389
If a binlog file is manually replaced with a namesake directory the internal purging did not handle the error of deleting the file so that eventually a post-execution guards fires an assert. Fixed with reusing a snippet of code for bug@18199 to tolerate lack of the file but no other error at an attempt to delete it. The same applied to the index file deletion. The cset carries pieces of manual merging. mysql-test/r/binlog_index.result: new results mysql-test/r/ctype_big5.result: results changed mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result: new results mysql-test/suite/binlog/r/binlog_stm_blackhole.result: new results mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test: cleanup. still todo: to let the test run multiple times w/o restarting the server (just ./mtr test) mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: results changed mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: guarding the test with statement format condition as the logics of the test requires sql/log.cc: two changes. One for the bug, other manual merge. The bug change needs MYF(0) to pass to my_delete because not all error out of the function are critical. The finer check is done on the caller of my_delete similarly how it was implemented for bug@18199 fixes. Non-existance of a file is not a critical error. sql/sql_class.cc: manual merge, removing extra automatically brought hunk.
197 lines
8 KiB
Text
197 lines
8 KiB
Text
drop table if exists t1,t2;
|
|
CREATE TABLE t1 (
|
|
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
|
|
Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
|
|
) ENGINE=blackhole;
|
|
INSERT INTO t1 VALUES (9410,9412);
|
|
select period from t1;
|
|
period
|
|
select * from t1;
|
|
Period Varor_period
|
|
select t1.* from t1;
|
|
Period Varor_period
|
|
CREATE TABLE t2 (
|
|
auto int NOT NULL auto_increment,
|
|
fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
|
|
companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
|
|
fld3 char(30) DEFAULT '' NOT NULL,
|
|
fld4 char(35) DEFAULT '' NOT NULL,
|
|
fld5 char(35) DEFAULT '' NOT NULL,
|
|
fld6 char(4) DEFAULT '' NOT NULL,
|
|
primary key (auto)
|
|
) ENGINE=blackhole;
|
|
INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
|
|
INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
|
|
select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
|
|
fld3
|
|
select fld3 from t2 where fld3 like "%cultivation" ;
|
|
fld3
|
|
select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
|
|
fld3 companynr
|
|
select fld3,companynr from t2 where companynr = 58 order by fld3;
|
|
fld3 companynr
|
|
select fld3 from t2 order by fld3 desc limit 10;
|
|
fld3
|
|
select fld3 from t2 order by fld3 desc limit 5;
|
|
fld3
|
|
select fld3 from t2 order by fld3 desc limit 5,5;
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 = 'honeysuckle';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'h%le';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
|
|
fld3
|
|
select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
|
|
fld3
|
|
select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
|
|
fld1 fld3
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
|
|
INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
|
|
('Full-text indexes', 'are called collections'),
|
|
('Only MyISAM tables','support collections'),
|
|
('Function MATCH ... AGAINST()','is used to do a search'),
|
|
('Full-text search in MySQL', 'implements vector space model');
|
|
SHOW INDEX FROM t1;
|
|
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
|
t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
|
|
t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
|
|
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
|
a b
|
|
Only MyISAM tables support collections
|
|
Full-text indexes are called collections
|
|
explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
|
|
Warnings:
|
|
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('collections'))
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
|
a b
|
|
Full-text indexes are called collections
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
|
|
a b
|
|
Full-text indexes are called collections
|
|
Only MyISAM tables support collections
|
|
select * from t1 where MATCH(a,b) AGAINST ("only");
|
|
a b
|
|
reset master;
|
|
drop table t1,t2;
|
|
create table t1 (a int) engine=blackhole;
|
|
delete from t1 where a=10;
|
|
update t1 set a=11 where a=15;
|
|
insert into t1 values(1);
|
|
insert ignore into t1 values(1);
|
|
replace into t1 values(100);
|
|
create table t2 (a varchar(200)) engine=blackhole;
|
|
load data infile '../std_data_ln/words.dat' into table t2;
|
|
alter table t1 add b int;
|
|
alter table t1 drop b;
|
|
create table t3 like t1;
|
|
insert into t1 select * from t3;
|
|
replace into t1 select * from t3;
|
|
select * from t1;
|
|
a
|
|
select * from t2;
|
|
a
|
|
select * from t3;
|
|
a
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Format_desc # # Server ver: VERSION, Binlog ver: 4
|
|
master-bin.000001 # Query # # use `test`; drop table t1,t2
|
|
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; delete from t1 where a=10
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; update t1 set a=11 where a=15
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(1)
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; replace into t1 values(100)
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=581
|
|
master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=#
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; alter table t1 add b int
|
|
master-bin.000001 # Query # # use `test`; alter table t1 drop b
|
|
master-bin.000001 # Query # # use `test`; create table t3 like t1
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert into t1 select * from t3
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; replace into t1 select * from t3
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
drop table t1,t2,t3;
|
|
CREATE TABLE t1(a INT) ENGINE=BLACKHOLE;
|
|
INSERT DELAYED INTO t1 VALUES(1);
|
|
ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
|
|
DELETE FROM t1 WHERE a=10;
|
|
ALTER TABLE t1 ADD INDEX(a);
|
|
DELETE FROM t1 WHERE a=10;
|
|
ALTER TABLE t1 DROP INDEX a;
|
|
ALTER TABLE t1 ADD UNIQUE INDEX(a);
|
|
DELETE FROM t1 WHERE a=10;
|
|
ALTER TABLE t1 DROP INDEX a;
|
|
ALTER TABLE t1 ADD PRIMARY KEY(a);
|
|
DELETE FROM t1 WHERE a=10;
|
|
DROP TABLE t1;
|
|
reset master;
|
|
create table t1 (a int) engine=blackhole;
|
|
set autocommit=0;
|
|
start transaction;
|
|
insert into t1 values(1);
|
|
commit;
|
|
start transaction;
|
|
insert into t1 values(2);
|
|
rollback;
|
|
set autocommit=1;
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Format_desc # # Server ver: VERSION, Binlog ver: 4
|
|
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
|
|
master-bin.000001 # Query # # use `test`; BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
|
|
master-bin.000001 # Query # # use `test`; COMMIT
|
|
drop table if exists t1;
|
|
reset master;
|
|
create table t1 (a int auto_increment, primary key (a)) engine=blackhole;
|
|
insert into t1 values (11), (NULL), (NULL), (NULL);
|
|
set insert_id= 3;
|
|
insert into t1 values (NULL), (33), (NULL);
|
|
set insert_id= 5;
|
|
insert into t1 values (55), (NULL);
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (a int auto_increment, primary key (a)) engine=blackhole
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Intvar 1 # INSERT_ID=1
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (11), (NULL), (NULL), (NULL)
|
|
master-bin.000001 # Query 1 # use `test`; COMMIT
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Intvar 1 # INSERT_ID=3
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL), (33), (NULL)
|
|
master-bin.000001 # Query 1 # use `test`; COMMIT
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Intvar 1 # INSERT_ID=5
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (55), (NULL)
|
|
master-bin.000001 # Query 1 # use `test`; COMMIT
|
|
drop table t1;
|