####
#### 1. When binlog_expire_logs_seconds == 0 and expire_logs_days == 0
####    no purge should happen
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0;
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=0
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.1: binlog_expire_logs_seconds > 0 and expire_logs_days > 0
####      expire_logs_days=1.5 and binlog_expire_logs_seconds=86400
####      Since binlog_expire_logs_seconds is set later
####      expire_logs_days value will be overridden should be
####      '0.000347222'
####
Testing with smaller values of binlog_expire_logs_seconds
SET GLOBAL expire_logs_days= 1.5;
SET GLOBAL binlog_expire_logs_seconds= 30 ;
SELECT @@expire_logs_days as 'Expected_0.000347222';
Expected_0.000347222
0.000347
SELECT @@binlog_expire_logs_seconds as Expected_30;
Expected_30
30
FLUSH LOGS;
FLUSH LOGS;
FLUSH LOGS;
RESET MASTER;
####
#### 2.2: binlog_expire_logs_seconds = 43200  and expire_logs_days = 0
####
SET GLOBAL expire_logs_days=0;
SET GLOBAL binlog_expire_logs_seconds=43200;
SELECT @@expire_logs_days as 'Expected_0.5';
Expected_0.5
0.500000
SELECT @@binlog_expire_logs_seconds as Expected_43200;
Expected_43200
43200
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=43200
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.3: binlog_expire_logs_seconds == 0 and expire_logs_days > 0
####
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 1;
SELECT @@expire_logs_days as Expected_1;
Expected_1
1.000000
SELECT @@binlog_expire_logs_seconds as Expected_86400;
Expected_86400
86400
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=86400
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.4: binlog_expire_logs_seconds = 1
####
SET GLOBAL binlog_expire_logs_seconds= 1;
SELECT @@expire_logs_days;
@@expire_logs_days
0.000012
SELECT @@binlog_expire_logs_seconds as Expected_1;
Expected_1
1
####
#### 2.5. binlog_expire_logs_seconds = 8553600, testing max value 99days
####
SET GLOBAL binlog_expire_logs_seconds= 8553600;
SELECT @@expire_logs_days;
@@expire_logs_days
99.000000
SELECT @@binlog_expire_logs_seconds as Expected_8553600;
Expected_8553600
8553600
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0.000000;
