Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b7a63ac9
Commit
b7a63ac9
authored
Mar 01, 2010
by
Georgi Kodinov
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
85e47d03
9715539e
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
344 additions
and
76 deletions
+344
-76
include/my_sys.h
include/my_sys.h
+1
-1
libmysql/libmysql.c
libmysql/libmysql.c
+1
-0
mysql-test/include/test_fieldsize.inc
mysql-test/include/test_fieldsize.inc
+1
-1
mysql-test/r/explain.result
mysql-test/r/explain.result
+15
-0
mysql-test/r/func_str.result
mysql-test/r/func_str.result
+2
-2
mysql-test/r/having.result
mysql-test/r/having.result
+1
-1
mysql-test/r/log_tables_upgrade.result
mysql-test/r/log_tables_upgrade.result
+47
-0
mysql-test/r/myisam.result
mysql-test/r/myisam.result
+17
-0
mysql-test/r/select.result
mysql-test/r/select.result
+5
-5
mysql-test/r/subselect.result
mysql-test/r/subselect.result
+4
-4
mysql-test/r/union.result
mysql-test/r/union.result
+1
-1
mysql-test/std_data/bug49823.CSM
mysql-test/std_data/bug49823.CSM
+0
-0
mysql-test/std_data/bug49823.CSV
mysql-test/std_data/bug49823.CSV
+1
-0
mysql-test/std_data/bug49823.frm
mysql-test/std_data/bug49823.frm
+0
-0
mysql-test/suite/rpl/r/rpl_row_create_table.result
mysql-test/suite/rpl/r/rpl_row_create_table.result
+6
-22
mysql-test/suite/rpl/r/rpl_show_slave_running.result
mysql-test/suite/rpl/r/rpl_show_slave_running.result
+42
-0
mysql-test/suite/rpl/t/disabled.def
mysql-test/suite/rpl/t/disabled.def
+1
-1
mysql-test/suite/rpl/t/rpl_row_create_table.test
mysql-test/suite/rpl/t/rpl_row_create_table.test
+3
-15
mysql-test/suite/rpl/t/rpl_show_slave_running.test
mysql-test/suite/rpl/t/rpl_show_slave_running.test
+76
-0
mysql-test/t/explain.test
mysql-test/t/explain.test
+12
-0
mysql-test/t/log_tables_upgrade.test
mysql-test/t/log_tables_upgrade.test
+32
-0
mysql-test/t/myisam.test
mysql-test/t/myisam.test
+16
-1
mysql-test/t/mysql_upgrade.test
mysql-test/t/mysql_upgrade.test
+1
-1
mysys/charset.c
mysys/charset.c
+6
-0
mysys/my_init.c
mysys/my_init.c
+1
-0
scripts/mysql_system_tables_fix.sql
scripts/mysql_system_tables_fix.sql
+19
-2
sql/item.cc
sql/item.cc
+8
-3
sql/mysqld.cc
sql/mysqld.cc
+3
-1
sql/slave.cc
sql/slave.cc
+1
-0
sql/sql_table.cc
sql/sql_table.cc
+21
-15
No files found.
include/my_sys.h
View file @
b7a63ac9
...
...
@@ -950,7 +950,7 @@ extern my_bool resolve_charset(const char *cs_name,
extern
my_bool
resolve_collation
(
const
char
*
cl_name
,
CHARSET_INFO
*
default_cl
,
CHARSET_INFO
**
cl
);
extern
void
free_charsets
(
void
);
extern
char
*
get_charsets_dir
(
char
*
buf
);
extern
my_bool
my_charset_same
(
CHARSET_INFO
*
cs1
,
CHARSET_INFO
*
cs2
);
extern
my_bool
init_compiled_charsets
(
myf
flags
);
...
...
libmysql/libmysql.c
View file @
b7a63ac9
...
...
@@ -211,6 +211,7 @@ void STDCALL mysql_server_end()
}
else
{
free_charsets
();
mysql_thread_end
();
}
...
...
mysql-test/include/test_fieldsize.inc
View file @
b7a63ac9
...
...
@@ -22,7 +22,7 @@ eval $test_insert;
connection
slave
;
START
SLAVE
;
wait_for_slave_to_stop
;
--
source
include
/
wait_for_slave_sql_to_stop
.
inc
--
replace_result
$MASTER_MYPORT
MASTER_PORT
--
replace_column
1
# 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--
query_vertical
SHOW
SLAVE
STATUS
...
...
mysql-test/r/explain.result
View file @
b7a63ac9
...
...
@@ -210,4 +210,19 @@ Error 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP colum
Note 1003 select 1 AS `1` from `test`.`t1` where <not>(<exists>(...))
SET SESSION sql_mode=@old_sql_mode;
DROP TABLE t1;
#
# Bug#47669: Query showed by EXPLAIN EXTENDED gives different result from original query
#
CREATE TABLE t1 (c int);
INSERT INTO t1 VALUES (NULL);
CREATE TABLE t2 (d int);
INSERT INTO t2 VALUES (NULL), (0);
EXPLAIN EXTENDED SELECT (SELECT 1 FROM t2 WHERE d = c) FROM t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t1.c' of SELECT #2 was resolved in SELECT #1
Note 1003 select (select 1 AS `1` from `test`.`t2` where (`test`.`t2`.`d` = NULL)) AS `(SELECT 1 FROM t2 WHERE d = c)` from `test`.`t1`
DROP TABLE t1, t2;
End of 5.1 tests.
mysql-test/r/func_str.result
View file @
b7a63ac9
...
...
@@ -1307,12 +1307,12 @@ explain extended select encode(f1,'zxcv') as 'enc' from t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select encode(
''
,'zxcv') AS `enc` from `test`.`t1`
Note 1003 select encode(
NULL
,'zxcv') AS `enc` from `test`.`t1`
explain extended select decode(f1,'zxcv') as 'enc' from t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select decode(
''
,'zxcv') AS `enc` from `test`.`t1`
Note 1003 select decode(
NULL
,'zxcv') AS `enc` from `test`.`t1`
drop table t1;
create table t1 (a bigint not null)engine=myisam;
insert into t1 set a = 1024*1024*1024*4;
...
...
mysql-test/r/having.result
View file @
b7a63ac9
...
...
@@ -12,7 +12,7 @@ explain extended select count(a) as b from t1 where a=0 having b >=0;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
Warnings:
Note 1003 select count(
'0'
) AS `b` from `test`.`t1` where 0 having (`b` >= 0)
Note 1003 select count(
NULL
) AS `b` from `test`.`t1` where 0 having (`b` >= 0)
drop table t1;
CREATE TABLE t1 (
raw_id int(10) NOT NULL default '0',
...
...
mysql-test/r/log_tables_upgrade.result
0 → 100644
View file @
b7a63ac9
#
# Bug#49823: mysql_upgrade fatal error due to general_log / slow_low CSV NULL
#
USE test;
SET @saved_general_log = @@GLOBAL.general_log;
SET GLOBAL general_log = OFF;
USE mysql;
FLUSH TABLES;
REPAIR TABLE test.bug49823;
Table Op Msg_type Msg_text
test.bug49823 repair status OK
RENAME TABLE general_log TO renamed_general_log;
RENAME TABLE test.bug49823 TO general_log;
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.general_log
Error : You can't use locks with log tables.
status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.renamed_general_log OK
mysql.servers OK
mysql.slow_log
Error : You can't use locks with log tables.
status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
DROP TABLE general_log;
RENAME TABLE renamed_general_log TO general_log;
SET GLOBAL general_log = @saved_general_log;
USE test;
mysql-test/r/myisam.result
View file @
b7a63ac9
...
...
@@ -2339,4 +2339,21 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
#
# Bug#51304: checksum table gives different results
#
for same data when using bit fields
#
CREATE TABLE t1(a INT, b BIT(1));
INSERT INTO t1 VALUES(1, 0), (2, 1);
CREATE TABLE t2 SELECT * FROM t1;
CHECKSUM TABLE t1 EXTENDED;
Table Checksum
test.t1 3775188275
CHECKSUM TABLE t2 EXTENDED;
Table Checksum
test.t2 3775188275
CHECKSUM TABLE t3 EXTENDED;
Table Checksum
test.t3 3775188275
DROP TABLE t1, t2, t3;
End of 5.1 tests
mysql-test/r/select.result
View file @
b7a63ac9
...
...
@@ -4050,10 +4050,10 @@ join_0.c1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
Warnings:
Note 1003 select
'0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
Note 1003 select
NULL AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by NULL,NULL,NULL,NULL,NULL
SHOW WARNINGS;
Level Code Message
Note 1003 select
'0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
Note 1003 select
NULL AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by NULL,NULL,NULL,NULL,NULL
DROP TABLE t1;
SELECT 1 AS ` `;
...
...
@@ -4648,17 +4648,17 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE (a=a AND b=b AND c=c) OR b > 20;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select
'0' AS `a`,'0' AS `b`,'0'
AS `c` from `test`.`t1` where 1
Note 1003 select
NULL AS `a`,NULL AS `b`,NULL
AS `c` from `test`.`t1` where 1
EXPLAIN EXTENDED SELECT * FROM t1 WHERE (a=a AND a=a AND b=b) OR b > 20;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select
'0' AS `a`,'0' AS `b`,'0'
AS `c` from `test`.`t1` where 1
Note 1003 select
NULL AS `a`,NULL AS `b`,NULL
AS `c` from `test`.`t1` where 1
EXPLAIN EXTENDED SELECT * FROM t1 WHERE (a=a AND b=b AND a=a) OR b > 20;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select
'0' AS `a`,'0' AS `b`,'0'
AS `c` from `test`.`t1` where 1
Note 1003 select
NULL AS `a`,NULL AS `b`,NULL
AS `c` from `test`.`t1` where 1
DROP TABLE t1;
#
# Bug#45266: Uninitialized variable lead to an empty result.
...
...
mysql-test/r/subselect.result
View file @
b7a63ac9
...
...
@@ -1496,7 +1496,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < (select max(
'0'
) from `test`.`t2`)))
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < (select max(
NULL
) from `test`.`t2`)))
select * from t3 where a >= some (select b from t2);
a
explain extended select * from t3 where a >= some (select b from t2);
...
...
@@ -1504,7 +1504,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= (select min(
'0'
) from `test`.`t2`)))
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= (select min(
NULL
) from `test`.`t2`)))
select * from t3 where a >= all (select b from t2 group by 1);
a
6
...
...
@@ -1515,7 +1515,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < <max>(select
'0'
AS `b` from `test`.`t2` group by 1)))
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < <max>(select
NULL
AS `b` from `test`.`t2` group by 1)))
select * from t3 where a >= some (select b from t2 group by 1);
a
explain extended select * from t3 where a >= some (select b from t2 group by 1);
...
...
@@ -1523,7 +1523,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= <min>(select
'0'
AS `b` from `test`.`t2` group by 1)))
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= <min>(select
NULL
AS `b` from `test`.`t2` group by 1)))
select * from t3 where NULL >= any (select b from t2);
a
explain extended select * from t3 where NULL >= any (select b from t2);
...
...
mysql-test/r/union.result
View file @
b7a63ac9
...
...
@@ -1585,7 +1585,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
2 UNION t1 system NULL NULL NULL NULL 0 0.00 const row not found
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
Warnings:
Note 1003 select
'0' AS `a` from `test`.`t1` union select '0'
AS `a` from `test`.`t1` order by `a`
Note 1003 select
NULL AS `a` from `test`.`t1` union select NULL
AS `a` from `test`.`t1` order by `a`
DROP TABLE t1;
End of 5.0 tests
#
...
...
mysql-test/std_data/bug49823.CSM
0 → 100644
View file @
b7a63ac9
File added
mysql-test/std_data/bug49823.CSV
0 → 100644
View file @
b7a63ac9
"2010-02-26 13:32:26","root[root] @ localhost []",2,1,"Query","SELECT 1"
mysql-test/std_data/bug49823.frm
0 → 100644
View file @
b7a63ac9
File added
mysql-test/suite/rpl/r/rpl_row_create_table.result
View file @
b7a63ac9
...
...
@@ -241,10 +241,12 @@ STOP SLAVE;
SET GLOBAL storage_engine=@storage_engine;
START SLAVE;
================ BUG#22864 ================
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
SET AUTOCOMMIT=0;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
...
...
@@ -264,15 +266,6 @@ t1
t2
t3
t4
SELECT TABLE_NAME,ENGINE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 't_'
ORDER BY TABLE_NAME;
TABLE_NAME ENGINE
t1 MyISAM
t2 InnoDB
t3 InnoDB
t4 InnoDB
SELECT * FROM t1 ORDER BY a;
a
1
...
...
@@ -334,15 +327,6 @@ t1
t2
t3
t4
SELECT TABLE_NAME,ENGINE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 't_'
ORDER BY TABLE_NAME;
TABLE_NAME ENGINE
t1 MyISAM
t2 InnoDB
t3 InnoDB
t4 InnoDB
SELECT * FROM t1 ORDER BY a;
a
1
...
...
mysql-test/suite/rpl/r/rpl_show_slave_running.result
0 → 100644
View file @
b7a63ac9
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
include/stop_slave.inc
SELECT GET_LOCK("debug_lock.before_get_running_status_yes", 1000);
GET_LOCK("debug_lock.before_get_running_status_yes", 1000)
1
set global debug= 'd,debug_lock.before_get_running_status_yes';
Slave_running, Slave_IO_Running, Slave_SQL_Running, must be OFF, NO, NO in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
Slave_running OFF
Slave_IO_Running= No
Slave_SQL_Running= No
start slave io_thread;
Slave_running, Slave_IO_Running, Slave_SQL_Running must be OFF NO NO in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
Slave_running OFF
Slave_IO_Running= No
Slave_SQL_Running= No
SELECT RELEASE_LOCK("debug_lock.before_get_running_status_yes");
RELEASE_LOCK("debug_lock.before_get_running_status_yes")
1
Slave_running, Slave_IO_Running, Slave_SQL_Running must be OFF YES NO in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
Slave_running OFF
Slave_IO_Running= Yes
Slave_SQL_Running= No
start slave sql_thread;
Slave_running, Slave_IO_Running, Slave_SQL_Running must be ON, YES, YES in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
Slave_running ON
Slave_IO_Running= Yes
Slave_SQL_Running= Yes
set global debug= '';
End of tests
mysql-test/suite/rpl/t/disabled.def
View file @
b7a63ac9
...
...
@@ -10,4 +10,4 @@
#
##############################################################################
rpl_row_create_table
: Bug#45576 2009-12-01 joro rpl_row_create_table fails on PB2
rpl_row_create_table
: Bug#51574 Feb 27 2010 andrei failed different way than earlier with bug#45576
mysql-test/suite/rpl/t/rpl_row_create_table.test
View file @
b7a63ac9
...
...
@@ -136,13 +136,9 @@ START SLAVE;
# BUG#22864 (Rollback following CREATE ... SELECT discards 'CREATE
# table' from log):
--
echo
================
BUG
#22864 ================
connection
slave
;
STOP
SLAVE
;
RESET
SLAVE
;
connection
master
;
RESET
MASTER
;
connection
slave
;
START
SLAVE
;
--
source
include
/
master
-
slave
-
reset
.
inc
connection
master
;
SET
AUTOCOMMIT
=
0
;
CREATE
TABLE
t1
(
a
INT
);
...
...
@@ -160,10 +156,6 @@ INSERT INTO t1 VALUES (4),(5),(6);
ROLLBACK
;
SHOW
TABLES
;
SELECT
TABLE_NAME
,
ENGINE
FROM
INFORMATION_SCHEMA
.
TABLES
WHERE
TABLE_NAME
LIKE
't_'
ORDER
BY
TABLE_NAME
;
SELECT
*
FROM
t1
ORDER
BY
a
;
SELECT
*
FROM
t2
ORDER
BY
a
;
SELECT
*
FROM
t3
ORDER
BY
a
;
...
...
@@ -173,10 +165,6 @@ SELECT * FROM t4 ORDER BY a;
SHOW
BINLOG
EVENTS
FROM
106
;
sync_slave_with_master
;
SHOW
TABLES
;
SELECT
TABLE_NAME
,
ENGINE
FROM
INFORMATION_SCHEMA
.
TABLES
WHERE
TABLE_NAME
LIKE
't_'
ORDER
BY
TABLE_NAME
;
SELECT
*
FROM
t1
ORDER
BY
a
;
SELECT
*
FROM
t2
ORDER
BY
a
;
SELECT
*
FROM
t3
ORDER
BY
a
;
...
...
mysql-test/suite/rpl/t/rpl_show_slave_running.test
0 → 100644
View file @
b7a63ac9
#
# Bug #30703 SHOW STATUS LIKE 'Slave_running' is not compatible with `SHOW SLAVE STATUS'
# The test verifies that SHOW STATUS LIKE 'Slave_running' displays ON
# if and only if `SHOW SLAVE STATUS' displays YES for Slave_IO_Running and Slave_SQL_Running
#
source
include
/
master
-
slave
.
inc
;
source
include
/
have_debug
.
inc
;
connection
slave
;
source
include
/
stop_slave
.
inc
;
let
$debug_saved
=
`select @@global.debug`
;
let
$debug_lock
=
"debug_lock.before_get_running_status_yes"
;
eval
SELECT
GET_LOCK
(
$debug_lock
,
1000
);
set
global
debug
=
'd,debug_lock.before_get_running_status_yes'
;
# Test 1. Slave is stopped
--
echo
Slave_running
,
Slave_IO_Running
,
Slave_SQL_Running
,
must
be
OFF
,
NO
,
NO
in
three
following
queries
SHOW
STATUS
LIKE
'Slave_running'
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_IO_Running
,
1
);
echo
Slave_IO_Running
=
$status
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_SQL_Running
,
1
);
echo
Slave_SQL_Running
=
$status
;
# Test 2. The slave IO thread is started but not yet got connected to master
# and SQL thread is not started
start
slave
io_thread
;
--
echo
Slave_running
,
Slave_IO_Running
,
Slave_SQL_Running
must
be
OFF
NO
NO
in
three
following
queries
SHOW
STATUS
LIKE
'Slave_running'
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_IO_Running
,
1
);
echo
Slave_IO_Running
=
$status
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_SQL_Running
,
1
);
echo
Slave_SQL_Running
=
$status
;
# Test 3. The slave IO thread is started and got connected to master
# and SQL thread is still not started
eval
SELECT
RELEASE_LOCK
(
$debug_lock
);
let
$slave_param
=
Slave_IO_Running
;
let
$slave_param_value
=
YES
;
source
include
/
wait_for_slave_param
.
inc
;
--
echo
Slave_running
,
Slave_IO_Running
,
Slave_SQL_Running
must
be
OFF
YES
NO
in
three
following
queries
SHOW
STATUS
LIKE
'Slave_running'
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_IO_Running
,
1
);
echo
Slave_IO_Running
=
$status
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_SQL_Running
,
1
);
echo
Slave_SQL_Running
=
$status
;
# Test 4. The slave IO thread is started and got connected to master
# and SQL thread is started
start
slave
sql_thread
;
source
include
/
wait_for_slave_sql_to_start
.
inc
;
--
echo
Slave_running
,
Slave_IO_Running
,
Slave_SQL_Running
must
be
ON
,
YES
,
YES
in
three
following
queries
SHOW
STATUS
LIKE
'Slave_running'
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_IO_Running
,
1
);
echo
Slave_IO_Running
=
$status
;
let
$status
=
query_get_value
(
"show slave status"
,
Slave_SQL_Running
,
1
);
echo
Slave_SQL_Running
=
$status
;
# cleanup
connection
slave
;
eval
set
global
debug
=
'$debug_saved'
;
--
echo
End
of
tests
mysql-test/t/explain.test
View file @
b7a63ac9
...
...
@@ -187,4 +187,16 @@ SET SESSION sql_mode=@old_sql_mode;
DROP
TABLE
t1
;
--
echo
#
--
echo
# Bug#47669: Query showed by EXPLAIN EXTENDED gives different result from original query
--
echo
#
CREATE
TABLE
t1
(
c
int
);
INSERT
INTO
t1
VALUES
(
NULL
);
CREATE
TABLE
t2
(
d
int
);
INSERT
INTO
t2
VALUES
(
NULL
),
(
0
);
EXPLAIN
EXTENDED
SELECT
(
SELECT
1
FROM
t2
WHERE
d
=
c
)
FROM
t1
;
DROP
TABLE
t1
,
t2
;
--
echo
End
of
5.1
tests
.
mysql-test/t/log_tables_upgrade.test
0 → 100644
View file @
b7a63ac9
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_csv
.
inc
# Only run test if "mysql_upgrade" is found
--
require
r
/
have_mysql_upgrade
.
result
--
disable_query_log
select
LENGTH
(
"
$MYSQL_UPGRADE
"
)
>
0
as
have_mysql_upgrade
;
--
enable_query_log
--
echo
#
--
echo
# Bug#49823: mysql_upgrade fatal error due to general_log / slow_low CSV NULL
--
echo
#
USE
test
;
let
$MYSQLD_DATADIR
=
`SELECT @@datadir`
;
copy_file
std_data
/
bug49823
.
frm
$MYSQLD_DATADIR
/
test
/
bug49823
.
frm
;
copy_file
std_data
/
bug49823
.
CSM
$MYSQLD_DATADIR
/
test
/
bug49823
.
CSM
;
copy_file
std_data
/
bug49823
.
CSV
$MYSQLD_DATADIR
/
test
/
bug49823
.
CSV
;
SET
@
saved_general_log
=
@@
GLOBAL
.
general_log
;
SET
GLOBAL
general_log
=
OFF
;
USE
mysql
;
FLUSH
TABLES
;
REPAIR
TABLE
test
.
bug49823
;
RENAME
TABLE
general_log
TO
renamed_general_log
;
RENAME
TABLE
test
.
bug49823
TO
general_log
;
--
exec
$MYSQL_UPGRADE
--
skip
-
verbose
--
force
2
>&
1
DROP
TABLE
general_log
;
RENAME
TABLE
renamed_general_log
TO
general_log
;
SET
GLOBAL
general_log
=
@
saved_general_log
;
USE
test
;
mysql-test/t/myisam.test
View file @
b7a63ac9
...
...
@@ -1587,5 +1587,20 @@ REPLACE INTO t1 VALUES
CHECK
TABLE
t1
;
DROP
TABLE
t1
;
--
echo
End
of
5.1
tests
--
echo
#
--
echo
# Bug#51304: checksum table gives different results
--
echo
# for same data when using bit fields
--
echo
#
CREATE
TABLE
t1
(
a
INT
,
b
BIT
(
1
));
INSERT
INTO
t1
VALUES
(
1
,
0
),
(
2
,
1
);
CREATE
TABLE
t2
SELECT
*
FROM
t1
;
--
copy_file
$MYSQLD_DATADIR
/
test
/
t1
.
frm
$MYSQLD_DATADIR
/
test
/
t3
.
frm
--
copy_file
$MYSQLD_DATADIR
/
test
/
t1
.
MYD
$MYSQLD_DATADIR
/
test
/
t3
.
MYD
--
copy_file
$MYSQLD_DATADIR
/
test
/
t1
.
MYI
$MYSQLD_DATADIR
/
test
/
t3
.
MYI
CHECKSUM
TABLE
t1
EXTENDED
;
CHECKSUM
TABLE
t2
EXTENDED
;
CHECKSUM
TABLE
t3
EXTENDED
;
DROP
TABLE
t1
,
t2
,
t3
;
--
echo
End
of
5.1
tests
mysql-test/t/mysql_upgrade.test
View file @
b7a63ac9
...
...
@@ -32,7 +32,7 @@ if (`SELECT $VALGRIND_TEST`)
# expected binaries it uses.
#
--
echo
Run
mysql_upgrade
once
--
exec
$MYSQL_UPGRADE
--
skip
-
verbose
2
>&
1
--
exec
$MYSQL_UPGRADE
--
skip
-
verbose
--
force
2
>&
1
# It should have created a file in the MySQL Servers datadir
let
$MYSQLD_DATADIR
=
`select @@datadir`
;
...
...
mysys/charset.c
View file @
b7a63ac9
...
...
@@ -400,6 +400,7 @@ static void *cs_alloc(size_t size)
static
my_pthread_once_t
charsets_initialized
=
MY_PTHREAD_ONCE_INIT
;
static
my_pthread_once_t
charsets_template
=
MY_PTHREAD_ONCE_INIT
;
static
void
init_available_charsets
(
void
)
{
...
...
@@ -427,6 +428,11 @@ static void init_available_charsets(void)
}
void
free_charsets
(
void
)
{
charsets_initialized
=
charsets_template
;
}
uint
get_collation_number
(
const
char
*
name
)
{
my_pthread_once
(
&
charsets_initialized
,
init_available_charsets
);
...
...
mysys/my_init.c
View file @
b7a63ac9
...
...
@@ -165,6 +165,7 @@ void my_end(int infoflag)
my_print_open_files
();
}
}
free_charsets
();
my_error_unregister_all
();
my_once_free
();
...
...
scripts/mysql_system_tables_fix.sql
View file @
b7a63ac9
...
...
@@ -221,12 +221,29 @@ ALTER TABLE func
SET
@
old_log_state
=
@@
global
.
general_log
;
SET
GLOBAL
general_log
=
'OFF'
;
ALTER
TABLE
general_log
MODIFY
COLUMN
server_id
INTEGER
UNSIGNED
NOT
NULL
;
ALTER
TABLE
general_log
MODIFY
event_time
TIMESTAMP
NOT
NULL
,
MODIFY
user_host
MEDIUMTEXT
NOT
NULL
,
MODIFY
thread_id
INTEGER
NOT
NULL
,
MODIFY
server_id
INTEGER
UNSIGNED
NOT
NULL
,
MODIFY
command_type
VARCHAR
(
64
)
NOT
NULL
,
MODIFY
argument
MEDIUMTEXT
NOT
NULL
;
SET
GLOBAL
general_log
=
@
old_log_state
;
SET
@
old_log_state
=
@@
global
.
slow_query_log
;
SET
GLOBAL
slow_query_log
=
'OFF'
;
ALTER
TABLE
slow_log
MODIFY
COLUMN
server_id
INTEGER
UNSIGNED
NOT
NULL
;
ALTER
TABLE
slow_log
MODIFY
start_time
TIMESTAMP
NOT
NULL
,
MODIFY
user_host
MEDIUMTEXT
NOT
NULL
,
MODIFY
query_time
TIME
NOT
NULL
,
MODIFY
lock_time
TIME
NOT
NULL
,
MODIFY
rows_sent
INTEGER
NOT
NULL
,
MODIFY
rows_examined
INTEGER
NOT
NULL
,
MODIFY
db
VARCHAR
(
512
)
NOT
NULL
,
MODIFY
last_insert_id
INTEGER
NOT
NULL
,
MODIFY
insert_id
INTEGER
NOT
NULL
,
MODIFY
server_id
INTEGER
UNSIGNED
NOT
NULL
,
MODIFY
sql_text
MEDIUMTEXT
NOT
NULL
;
SET
GLOBAL
slow_query_log
=
@
old_log_state
;
#
...
...
sql/item.cc
View file @
b7a63ac9
...
...
@@ -5690,9 +5690,14 @@ void Item_field::print(String *str, enum_query_type query_type)
char
buff
[
MAX_FIELD_WIDTH
];
String
tmp
(
buff
,
sizeof
(
buff
),
str
->
charset
());
field
->
val_str
(
&
tmp
);
str
->
append
(
'\''
);
str
->
append
(
tmp
);
str
->
append
(
'\''
);
if
(
field
->
is_null
())
str
->
append
(
"NULL"
);
else
{
str
->
append
(
'\''
);
str
->
append
(
tmp
);
str
->
append
(
'\''
);
}
return
;
}
Item_ident
::
print
(
str
,
query_type
);
...
...
sql/mysqld.cc
View file @
b7a63ac9
...
...
@@ -1287,6 +1287,7 @@ void clean_up(bool print_message)
lex_free
();
/* Free some memory */
item_create_cleanup
();
set_var_free
();
free_charsets
();
if
(
!
opt_noacl
)
{
#ifdef HAVE_DLOPEN
...
...
@@ -7162,7 +7163,8 @@ static int show_slave_running(THD *thd, SHOW_VAR *var, char *buff)
var
->
type
=
SHOW_MY_BOOL
;
pthread_mutex_lock
(
&
LOCK_active_mi
);
var
->
value
=
buff
;
*
((
my_bool
*
)
buff
)
=
(
my_bool
)
(
active_mi
&&
active_mi
->
slave_running
&&
*
((
my_bool
*
)
buff
)
=
(
my_bool
)
(
active_mi
&&
active_mi
->
slave_running
==
MYSQL_SLAVE_RUN_CONNECT
&&
active_mi
->
rli
.
slave_running
);
pthread_mutex_unlock
(
&
LOCK_active_mi
);
return
0
;
...
...
sql/slave.cc
View file @
b7a63ac9
...
...
@@ -2557,6 +2557,7 @@ pthread_handler_t handle_slave_io(void *arg)
connected:
DBUG_SYNC_POINT
(
"debug_lock.before_get_running_status_yes"
,
10
);
// TODO: the assignment below should be under mutex (5.0)
mi
->
slave_running
=
MYSQL_SLAVE_RUN_CONNECT
;
thd
->
slave_net
=
&
mysql
->
net
;
...
...
sql/sql_table.cc
View file @
b7a63ac9
...
...
@@ -7934,22 +7934,28 @@ bool mysql_checksum_table(THD *thd, TABLE_LIST *tables,
for
(
uint
i
=
0
;
i
<
t
->
s
->
fields
;
i
++
)
{
Field
*
f
=
t
->
field
[
i
];
enum_field_types
field_type
=
f
->
type
();
/*
BLOB and VARCHAR have pointers in their field, we must convert
to string; GEOMETRY is implemented on top of BLOB.
*/
if
((
field_type
==
MYSQL_TYPE_BLOB
)
||
(
field_type
==
MYSQL_TYPE_VARCHAR
)
||
(
field_type
==
MYSQL_TYPE_GEOMETRY
))
{
String
tmp
;
f
->
val_str
(
&
tmp
);
row_crc
=
my_checksum
(
row_crc
,
(
uchar
*
)
tmp
.
ptr
(),
tmp
.
length
());
/*
BLOB and VARCHAR have pointers in their field, we must convert
to string; GEOMETRY is implemented on top of BLOB.
BIT may store its data among NULL bits, convert as well.
*/
switch
(
f
->
type
())
{
case
MYSQL_TYPE_BLOB
:
case
MYSQL_TYPE_VARCHAR
:
case
MYSQL_TYPE_GEOMETRY
:
case
MYSQL_TYPE_BIT
:
{
String
tmp
;
f
->
val_str
(
&
tmp
);
row_crc
=
my_checksum
(
row_crc
,
(
uchar
*
)
tmp
.
ptr
(),
tmp
.
length
());
break
;
}
default:
row_crc
=
my_checksum
(
row_crc
,
f
->
ptr
,
f
->
pack_length
());
break
;
}
else
row_crc
=
my_checksum
(
row_crc
,
f
->
ptr
,
f
->
pack_length
());
}
crc
+=
row_crc
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment