Loading client/mysqlbinlog.cc +16 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ static int port= 0; static const char* sock= 0; static const char* user = 0; static char* pass = 0; static char *charset= 0; static ulonglong start_position, stop_position; #define start_position_mot ((my_off_t)start_position) Loading Loading @@ -707,6 +708,9 @@ static struct my_option my_long_options[] = "Used to reserve file descriptors for usage by this program", (gptr*) &open_files_limit, (gptr*) &open_files_limit, 0, GET_ULONG, REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0}, {"set-charset", OPT_SET_CHARSET, "Add 'SET NAMES character_set' to the output.", (gptr*) &charset, (gptr*) &charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"short-form", 's', "Just show the queries, no extra info.", (gptr*) &short_form, (gptr*) &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, Loading Loading @@ -1422,6 +1426,12 @@ int main(int argc, char** argv) fprintf(result_file, "/*!32316 SET @OLD_SQL_LOG_BIN=@@SQL_LOG_BIN, SQL_LOG_BIN=0*/;\n"); if (charset) fprintf(result_file, "\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;" "\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;" "\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;" "\n/*!40101 SET NAMES %s */;\n", charset); /* In mysqlbinlog|mysql, don't want mysql to be disconnected after each transaction (which would be the case with GLOBAL.COMPLETION_TYPE==2). Loading Loading @@ -1454,6 +1464,12 @@ int main(int argc, char** argv) if (disable_log_bin) fprintf(result_file, "/*!32316 SET SQL_LOG_BIN=@OLD_SQL_LOG_BIN*/;\n"); if (charset) fprintf(result_file, "/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n" "/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n" "/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n"); if (tmpdir.list) free_tmpdir(&tmpdir); if (result_file != stdout) Loading mysql-test/r/delayed.result +30 −0 Original line number Diff line number Diff line Loading @@ -39,3 +39,33 @@ select * from t1; a 1 drop table t1; CREATE TABLE t1 ( a int(10) NOT NULL auto_increment, PRIMARY KEY (a)); insert delayed into t1 values(null); insert into t1 values(null); insert into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert into t1 values(null); insert into t1 values(null); insert into t1 values(null); delete from t1 where a=6; insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); select * from t1 order by a; a 1 2 3 4 5 7 8 9 10 11 12 13 DROP TABLE t1; mysql-test/r/func_concat.result +14 −0 Original line number Diff line number Diff line Loading @@ -68,3 +68,17 @@ select 'a' union select concat('a', -0.0000); a a a0.0000 select concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) from (select 1 union select 2 ) as t3; concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) ab ab create table t1(f1 varchar(6)) charset=utf8; insert into t1 values ("123456"); select concat(f1, 2) a from t1 union select 'x' a from t1; a 1234562 x drop table t1; mysql-test/r/func_time.result +43 −0 Original line number Diff line number Diff line Loading @@ -751,6 +751,49 @@ select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')), monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m')); monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m')) NULL NULL January NULL create table t1(f1 date, f2 time, f3 datetime); insert into t1 values ("2006-01-01", "12:01:01", "2006-01-01 12:01:01"); insert into t1 values ("2006-01-02", "12:01:02", "2006-01-02 12:01:02"); select f1 from t1 where f1 between "2006-1-1" and 20060101; f1 2006-01-01 select f1 from t1 where f1 between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f1 from t1 where date(f1) between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f2 from t1 where f2 between "12:1:2" and "12:2:2"; f2 12:01:02 select f2 from t1 where time(f2) between "12:1:2" and "12:2:2"; f2 12:01:02 select f3 from t1 where f3 between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f3 from t1 where timestamp(f3) between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f1 from t1 where "2006-1-1" between f1 and f3; f1 2006-01-01 select f1 from t1 where "2006-1-1" between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where "2006-1-1" between f1 and 'zzz'; f1 Warnings: Warning 1292 Incorrect date value: 'zzz' for column 'f1' at row 1 Warning 1292 Truncated incorrect INTEGER value: 'zzz' Warning 1292 Truncated incorrect INTEGER value: 'zzz' select f1 from t1 where makedate(2006,1) between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where makedate(2006,2) between date(f1) and date(f3); f1 2006-01-02 drop table t1; explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1, timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2; id select_type table type possible_keys key key_len ref rows Extra Loading mysql-test/r/replace.result +6 −0 Original line number Diff line number Diff line Loading @@ -24,3 +24,9 @@ a b 63 default_value 127 last drop table t1; CREATE TABLE t1 (f1 INT); CREATE VIEW v1 AS SELECT f1 FROM t1 WHERE f1 = 0 WITH CHECK OPTION; REPLACE INTO v1 (f1) VALUES (1); ERROR HY000: CHECK OPTION failed 'test.v1' DROP TABLE t1; DROP VIEW v1; Loading
client/mysqlbinlog.cc +16 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ static int port= 0; static const char* sock= 0; static const char* user = 0; static char* pass = 0; static char *charset= 0; static ulonglong start_position, stop_position; #define start_position_mot ((my_off_t)start_position) Loading Loading @@ -707,6 +708,9 @@ static struct my_option my_long_options[] = "Used to reserve file descriptors for usage by this program", (gptr*) &open_files_limit, (gptr*) &open_files_limit, 0, GET_ULONG, REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0}, {"set-charset", OPT_SET_CHARSET, "Add 'SET NAMES character_set' to the output.", (gptr*) &charset, (gptr*) &charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"short-form", 's', "Just show the queries, no extra info.", (gptr*) &short_form, (gptr*) &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, Loading Loading @@ -1422,6 +1426,12 @@ int main(int argc, char** argv) fprintf(result_file, "/*!32316 SET @OLD_SQL_LOG_BIN=@@SQL_LOG_BIN, SQL_LOG_BIN=0*/;\n"); if (charset) fprintf(result_file, "\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;" "\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;" "\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;" "\n/*!40101 SET NAMES %s */;\n", charset); /* In mysqlbinlog|mysql, don't want mysql to be disconnected after each transaction (which would be the case with GLOBAL.COMPLETION_TYPE==2). Loading Loading @@ -1454,6 +1464,12 @@ int main(int argc, char** argv) if (disable_log_bin) fprintf(result_file, "/*!32316 SET SQL_LOG_BIN=@OLD_SQL_LOG_BIN*/;\n"); if (charset) fprintf(result_file, "/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n" "/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n" "/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n"); if (tmpdir.list) free_tmpdir(&tmpdir); if (result_file != stdout) Loading
mysql-test/r/delayed.result +30 −0 Original line number Diff line number Diff line Loading @@ -39,3 +39,33 @@ select * from t1; a 1 drop table t1; CREATE TABLE t1 ( a int(10) NOT NULL auto_increment, PRIMARY KEY (a)); insert delayed into t1 values(null); insert into t1 values(null); insert into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert into t1 values(null); insert into t1 values(null); insert into t1 values(null); delete from t1 where a=6; insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); insert delayed into t1 values(null); select * from t1 order by a; a 1 2 3 4 5 7 8 9 10 11 12 13 DROP TABLE t1;
mysql-test/r/func_concat.result +14 −0 Original line number Diff line number Diff line Loading @@ -68,3 +68,17 @@ select 'a' union select concat('a', -0.0000); a a a0.0000 select concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) from (select 1 union select 2 ) as t3; concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) ab ab create table t1(f1 varchar(6)) charset=utf8; insert into t1 values ("123456"); select concat(f1, 2) a from t1 union select 'x' a from t1; a 1234562 x drop table t1;
mysql-test/r/func_time.result +43 −0 Original line number Diff line number Diff line Loading @@ -751,6 +751,49 @@ select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')), monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m')); monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m')) NULL NULL January NULL create table t1(f1 date, f2 time, f3 datetime); insert into t1 values ("2006-01-01", "12:01:01", "2006-01-01 12:01:01"); insert into t1 values ("2006-01-02", "12:01:02", "2006-01-02 12:01:02"); select f1 from t1 where f1 between "2006-1-1" and 20060101; f1 2006-01-01 select f1 from t1 where f1 between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f1 from t1 where date(f1) between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f2 from t1 where f2 between "12:1:2" and "12:2:2"; f2 12:01:02 select f2 from t1 where time(f2) between "12:1:2" and "12:2:2"; f2 12:01:02 select f3 from t1 where f3 between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f3 from t1 where timestamp(f3) between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f1 from t1 where "2006-1-1" between f1 and f3; f1 2006-01-01 select f1 from t1 where "2006-1-1" between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where "2006-1-1" between f1 and 'zzz'; f1 Warnings: Warning 1292 Incorrect date value: 'zzz' for column 'f1' at row 1 Warning 1292 Truncated incorrect INTEGER value: 'zzz' Warning 1292 Truncated incorrect INTEGER value: 'zzz' select f1 from t1 where makedate(2006,1) between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where makedate(2006,2) between date(f1) and date(f3); f1 2006-01-02 drop table t1; explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1, timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2; id select_type table type possible_keys key key_len ref rows Extra Loading
mysql-test/r/replace.result +6 −0 Original line number Diff line number Diff line Loading @@ -24,3 +24,9 @@ a b 63 default_value 127 last drop table t1; CREATE TABLE t1 (f1 INT); CREATE VIEW v1 AS SELECT f1 FROM t1 WHERE f1 = 0 WITH CHECK OPTION; REPLACE INTO v1 (f1) VALUES (1); ERROR HY000: CHECK OPTION failed 'test.v1' DROP TABLE t1; DROP VIEW v1;