Skip to content

Commit c67ac58

Browse files
committedJan 23, 2012
Merge mysql-trunk --> mysql-trunk-wl5259
2 parents 69f7a98 + 5657e17 commit c67ac58

34 files changed

+799
-268
lines changed
 

‎cmake/build_configurations/mysql_release.cmake

+9-1
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,19 @@ IF(UNIX)
149149
# Default GCC flags
150150
IF(CMAKE_COMPILER_IS_GNUCC)
151151
SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
152+
# Disable inline optimizations for valgrind testing to avoid false positives
153+
IF(WITH_VALGRIND)
154+
SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}")
155+
ENDIF()
152156
SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
153157
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
154158
ENDIF()
155159
IF(CMAKE_COMPILER_IS_GNUCXX)
156160
SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
161+
# Disable inline optimizations for valgrind testing to avoid false positives
162+
IF(WITH_VALGRIND)
163+
SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")
164+
ENDIF()
157165
SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
158166
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
159167
ENDIF()
@@ -166,7 +174,7 @@ IF(UNIX)
166174
SET(COMMON_CXX_FLAGS "+DSitanium2 -mt -Aa")
167175
SET(CMAKE_C_FLAGS_DEBUG "+O0 -g ${COMMON_C_FLAGS}")
168176
SET(CMAKE_CXX_FLAGS_DEBUG "+O0 -g ${COMMON_CXX_FLAGS}")
169-
# We have seen compiler bugs with optimisation and -g, so disabled for now
177+
# We have seen compiler bugs with optimisation and -g, so disabled for now
170178
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_C_FLAGS}")
171179
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_CXX_FLAGS}")
172180
ENDIF()

‎include/m_ctype.h

+3
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ typedef struct unicase_info_st
7373

7474
extern MY_UNICASE_INFO my_unicase_default;
7575
extern MY_UNICASE_INFO my_unicase_turkish;
76+
extern MY_UNICASE_INFO my_unicase_mysql500;
7677
extern MY_UNICASE_INFO my_unicase_unicode520;
7778

7879
#define MY_UCA_MAX_CONTRACTION 6
@@ -454,6 +455,7 @@ extern CHARSET_INFO my_charset_tis620_bin;
454455
extern CHARSET_INFO my_charset_ucs2_general_ci;
455456
extern CHARSET_INFO my_charset_ucs2_bin;
456457
extern CHARSET_INFO my_charset_ucs2_unicode_ci;
458+
extern CHARSET_INFO my_charset_ucs2_general_mysql500_ci;
457459
extern CHARSET_INFO my_charset_ujis_japanese_ci;
458460
extern CHARSET_INFO my_charset_ujis_bin;
459461
extern CHARSET_INFO my_charset_utf16_bin;
@@ -469,6 +471,7 @@ extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_utf8_general_ci;
469471
extern CHARSET_INFO my_charset_utf8_tolower_ci;
470472
extern CHARSET_INFO my_charset_utf8_unicode_ci;
471473
extern CHARSET_INFO my_charset_utf8_bin;
474+
extern CHARSET_INFO my_charset_utf8_general_mysql500_ci;
472475
extern CHARSET_INFO my_charset_utf8mb4_bin;
473476
extern CHARSET_INFO my_charset_utf8mb4_general_ci;
474477
extern CHARSET_INFO my_charset_utf8mb4_unicode_ci;

‎mysql-test/include/have_example_plugin.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if (!$EXAMPLE_PLUGIN) {
1515
#
1616
# Check if --plugin-dir was setup for exampledb
1717
#
18-
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$EXAMPLE_PLUGIN_OPT'`) {
18+
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$EXAMPLE_PLUGIN_OPT/'`) {
1919
--skip Example plugin requires that --plugin-dir is set to the example plugin dir (either the .opt file does not contain \$EXAMPLE_PLUGIN_OPT or another plugin is in use)
2020
}
2121
enable_query_log;

‎mysql-test/include/have_semisync_plugin.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ if (!$SEMISYNC_MASTER_PLUGIN)
1616
#
1717
# Check if --plugin-dir was setup for semisync
1818
#
19-
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SEMISYNC_PLUGIN_OPT'`) {
19+
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SEMISYNC_PLUGIN_OPT/'`) {
2020
--skip SEMISYNC plugin requires that --plugin-dir is set to the semisync plugin dir (either the .opt file does not contain \$SEMISYNC_PLUGIN_OPT or another plugin is in use)
2121
}

‎mysql-test/include/have_simple_parser.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ if (!$SIMPLE_PARSER) {
1515
#
1616
# Check if --plugin-dir was setup for simple parser
1717
#
18-
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SIMPLE_PARSER_OPT'`) {
18+
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SIMPLE_PARSER_OPT/'`) {
1919
--skip simple parser requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
2020
}

‎mysql-test/include/have_udf.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ if (!$UDF_EXAMPLE_LIB) {
1515
#
1616
# Check if --plugin-dir was setup for udf
1717
#
18-
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$UDF_EXAMPLE_LIB_OPT'`) {
18+
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$UDF_EXAMPLE_LIB_OPT/'`) {
1919
--skip UDF requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
2020
}

‎mysql-test/r/ctype_utf8.result

+24
Original file line numberDiff line numberDiff line change
@@ -2019,6 +2019,30 @@ D120
20192019
SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
20202020
HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20))
20212021
D120D18E
2022+
#
2023+
# Bug#11752408 - 43593: DUMP/BACKUP/RESTORE/UPGRADE TOOLS FAILS BECAUSE OF UTF8_GENERAL_CI
2024+
#
2025+
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci);
2026+
INSERT INTO t1 VALUES ('a'),('r'),('s'),(_latin1 0xDF),(_latin1 0xF7),('t'),('z');
2027+
SELECT * FROM t1 ORDER BY a;
2028+
a
2029+
a
2030+
r
2031+
s
2032+
t
2033+
z
2034+
ß
2035+
÷
2036+
SELECT a, COUNT(*) FROM t1 GROUP BY a;
2037+
a COUNT(*)
2038+
a 1
2039+
r 1
2040+
s 1
2041+
t 1
2042+
z 1
2043+
ß 1
2044+
÷ 1
2045+
DROP TABLE t1;
20222046
End of 5.1 tests
20232047
Start of 5.4 tests
20242048
SET NAMES utf8mb3;

‎mysql-test/r/partition_binlog_stmt.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ name TINYBLOB NOT NULL,
88
modified TIMESTAMP DEFAULT '0000-00-00 00:00:00',
99
INDEX namelocs (name(255))) ENGINE = MyISAM
1010
PARTITION BY HASH(id) PARTITIONS 2;
11-
LOAD DATA LOCAL INFILE 'init_file.txt'
11+
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/init_file.txt'
1212
INTO TABLE t1 (name);
1313
DROP TABLE t1;

‎mysql-test/r/partition_explicit_prune.result

+179
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,182 @@
1+
#
2+
# Bug#13559657: PARTITION SELECTION DOES NOT WORK WITH VIEWS
3+
#
4+
CREATE TABLE t1 (a int)
5+
ENGINE = InnoDB
6+
PARTITION BY HASH (a) PARTITIONS 2;
7+
INSERT INTO t1 VALUES (0), (1), (2), (3);
8+
CREATE VIEW v1 AS SELECT a FROM t1 PARTITION (p0);
9+
SHOW CREATE VIEW v1;
10+
View Create View character_set_client collation_connection
11+
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` PARTITION (`p0`) latin1 latin1_swedish_ci
12+
FLUSH STATUS;
13+
SELECT * FROM v1;
14+
a
15+
0
16+
2
17+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
18+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
19+
VARIABLE_NAME VARIABLE_VALUE
20+
HANDLER_COMMIT 1
21+
HANDLER_EXTERNAL_LOCK 4
22+
HANDLER_READ_FIRST 1
23+
HANDLER_READ_KEY 1
24+
HANDLER_READ_RND_NEXT 3
25+
HANDLER_WRITE 17
26+
# 4 locks (1 table, 1 partition lock/unlock)
27+
FLUSH STATUS;
28+
SELECT a FROM t1 PARTITION (p0);
29+
a
30+
0
31+
2
32+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
33+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
34+
VARIABLE_NAME VARIABLE_VALUE
35+
HANDLER_COMMIT 1
36+
HANDLER_EXTERNAL_LOCK 4
37+
HANDLER_READ_FIRST 1
38+
HANDLER_READ_KEY 1
39+
HANDLER_READ_RND_NEXT 3
40+
HANDLER_WRITE 17
41+
# 4 locks (1 table, 1 partition lock/unlock)
42+
FLUSH STATUS;
43+
INSERT INTO v1 VALUES (10);
44+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
45+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
46+
VARIABLE_NAME VARIABLE_VALUE
47+
HANDLER_COMMIT 1
48+
HANDLER_EXTERNAL_LOCK 4
49+
HANDLER_WRITE 18
50+
# 4 locks (1 table, 1 partition lock/unlock)
51+
FLUSH STATUS;
52+
INSERT INTO v1 VALUES (11);
53+
ERROR HY000: Found a row not matching the given partition set
54+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
55+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
56+
VARIABLE_NAME VARIABLE_VALUE
57+
HANDLER_EXTERNAL_LOCK 4
58+
HANDLER_ROLLBACK 1
59+
HANDLER_WRITE 17
60+
# 4 locks (1 table, 1 partition lock/unlock)
61+
FLUSH STATUS;
62+
SELECT * FROM v1;
63+
a
64+
0
65+
10
66+
2
67+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
68+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
69+
VARIABLE_NAME VARIABLE_VALUE
70+
HANDLER_COMMIT 1
71+
HANDLER_EXTERNAL_LOCK 4
72+
HANDLER_READ_FIRST 1
73+
HANDLER_READ_KEY 1
74+
HANDLER_READ_RND_NEXT 4
75+
HANDLER_WRITE 17
76+
# 4 locks (1 table, 1 partition lock/unlock)
77+
FLUSH STATUS;
78+
SELECT a FROM t1 PARTITION (p0);
79+
a
80+
0
81+
10
82+
2
83+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
84+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
85+
VARIABLE_NAME VARIABLE_VALUE
86+
HANDLER_COMMIT 1
87+
HANDLER_EXTERNAL_LOCK 4
88+
HANDLER_READ_FIRST 1
89+
HANDLER_READ_KEY 1
90+
HANDLER_READ_RND_NEXT 4
91+
HANDLER_WRITE 17
92+
# 4 locks (1 table, 1 partition lock/unlock)
93+
SELECT * FROM t1;
94+
a
95+
0
96+
1
97+
10
98+
2
99+
3
100+
DROP VIEW v1;
101+
CREATE VIEW v1 AS SELECT a FROM t1 PARTITION (p0) WITH CHECK OPTION;
102+
FLUSH STATUS;
103+
INSERT INTO v1 VALUES (20);
104+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
105+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
106+
VARIABLE_NAME VARIABLE_VALUE
107+
HANDLER_COMMIT 1
108+
HANDLER_EXTERNAL_LOCK 4
109+
HANDLER_WRITE 18
110+
# 4 locks (1 table, 1 partition lock/unlock)
111+
FLUSH STATUS;
112+
INSERT INTO v1 VALUES (21);
113+
ERROR HY000: Found a row not matching the given partition set
114+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
115+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
116+
VARIABLE_NAME VARIABLE_VALUE
117+
HANDLER_EXTERNAL_LOCK 4
118+
HANDLER_ROLLBACK 1
119+
HANDLER_WRITE 17
120+
# 4 locks (1 table, 1 partition lock/unlock)
121+
SELECT * FROM v1;
122+
a
123+
0
124+
10
125+
2
126+
20
127+
SELECT * FROM t1;
128+
a
129+
0
130+
1
131+
10
132+
2
133+
20
134+
3
135+
DROP VIEW v1;
136+
CREATE VIEW v1 AS
137+
SELECT a FROM t1 PARTITION (p0) WHERE a = 30 WITH CHECK OPTION;
138+
FLUSH STATUS;
139+
INSERT INTO v1 VALUES (30);
140+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
141+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
142+
VARIABLE_NAME VARIABLE_VALUE
143+
HANDLER_COMMIT 1
144+
HANDLER_EXTERNAL_LOCK 4
145+
HANDLER_WRITE 18
146+
# 4 locks (1 table, 1 partition lock/unlock)
147+
FLUSH STATUS;
148+
INSERT INTO v1 VALUES (31);
149+
ERROR HY000: CHECK OPTION failed 'test.v1'
150+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
151+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
152+
VARIABLE_NAME VARIABLE_VALUE
153+
HANDLER_EXTERNAL_LOCK 4
154+
HANDLER_ROLLBACK 1
155+
HANDLER_WRITE 17
156+
FLUSH STATUS;
157+
INSERT INTO v1 VALUES (32);
158+
ERROR HY000: CHECK OPTION failed 'test.v1'
159+
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
160+
WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0;
161+
VARIABLE_NAME VARIABLE_VALUE
162+
HANDLER_EXTERNAL_LOCK 4
163+
HANDLER_ROLLBACK 1
164+
HANDLER_WRITE 17
165+
# 4 locks (1 table, 1 partition lock/unlock)
166+
SELECT * FROM v1;
167+
a
168+
30
169+
SELECT * FROM t1;
170+
a
171+
0
172+
1
173+
10
174+
2
175+
20
176+
3
177+
30
178+
DROP VIEW v1;
179+
DROP TABLE t1;
1180
# Original tests for WL#5217
2181
# Must have InnoDB as engine to get the same statistics results.
3182
# embedded uses MyISAM as default. CREATE SELECT uses the default engine.

‎mysql-test/r/xa.result

+3-1
Original file line numberDiff line numberDiff line change
@@ -217,12 +217,14 @@ INSERT INTO t2 SELECT a FROM t1;
217217
# Connection default
218218
# Waiting until INSERT ... is blocked
219219
DELETE FROM t1;
220-
COMMIT;
221220
# Connection con2
222221
# Reaping: INSERT INTO t2 SELECT a FROM t1
223222
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
224223
XA COMMIT 'xid1';
225224
ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
225+
# Connection default
226+
COMMIT;
227+
# Connection con2
226228
XA START 'xid1';
227229
XA END 'xid1';
228230
XA PREPARE 'xid1';

‎mysql-test/suite/parts/r/partition-dml-1-9-innodb.result

-24
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,6 @@ SELECT t1.a, t2.b FROM t1 PARTITION (`p0-29`), t2
126126
WHERE t1.a = t2.a;
127127
SELECT * FROM v1;
128128
a b
129-
-3 (pNeg-)subp0
130-
-4 (pNeg-)subp0
131-
-1 (pNeg-)subp0
132-
-2 (pNeg-)subp0
133129
3 (p0-29-)subp3
134130
21 (p0-29-)subp5
135131
24 (p0-29-)subp5
@@ -138,26 +134,6 @@ a b
138134
22 (p0-29-)subp5
139135
2 (p0-29-)subp3
140136
23 (p0-29-)subp5
141-
33 (p30-299-)subp6
142-
231 (p30-299-)subp8
143-
234 (p30-299-)subp8
144-
31 (p30-299-)subp6
145-
34 (p30-299-)subp6
146-
232 (p30-299-)subp8
147-
32 (p30-299-)subp6
148-
233 (p30-299-)subp8
149-
303 (p300-2999-)subp8
150-
301 (p300-2999-)subp8
151-
304 (p300-2999-)subp8
152-
302 (p300-2999-)subp8
153-
3003 (p3000-299999-)subp12
154-
299997 (p3000-299999-)subp14
155-
3001 (p3000-299999-)subp12
156-
3004 (p3000-299999-)subp12
157-
299998 (p3000-299999-)subp14
158-
3002 (p3000-299999-)subp12
159-
299996 (p3000-299999-)subp14
160-
299999 (p3000-299999-)subp14
161137
SELECT * FROM t1 PARTITION (`p0-29`);
162138
a b
163139
1 (p0-29-)subp3

‎mysql-test/suite/parts/r/partition-dml-1-9-myisam.result

-24
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,6 @@ SELECT t1.a, t2.b FROM t1 PARTITION (`p0-29`), t2
126126
WHERE t1.a = t2.a;
127127
SELECT * FROM v1;
128128
a b
129-
-3 (pNeg-)subp0
130-
-4 (pNeg-)subp0
131-
-1 (pNeg-)subp0
132-
-2 (pNeg-)subp0
133129
3 (p0-29-)subp3
134130
21 (p0-29-)subp5
135131
24 (p0-29-)subp5
@@ -138,26 +134,6 @@ a b
138134
22 (p0-29-)subp5
139135
2 (p0-29-)subp3
140136
23 (p0-29-)subp5
141-
33 (p30-299-)subp6
142-
231 (p30-299-)subp8
143-
234 (p30-299-)subp8
144-
31 (p30-299-)subp6
145-
34 (p30-299-)subp6
146-
232 (p30-299-)subp8
147-
32 (p30-299-)subp6
148-
233 (p30-299-)subp8
149-
303 (p300-2999-)subp8
150-
301 (p300-2999-)subp8
151-
304 (p300-2999-)subp8
152-
302 (p300-2999-)subp8
153-
3003 (p3000-299999-)subp12
154-
299997 (p3000-299999-)subp14
155-
3001 (p3000-299999-)subp12
156-
3004 (p3000-299999-)subp12
157-
299998 (p3000-299999-)subp14
158-
3002 (p3000-299999-)subp12
159-
299996 (p3000-299999-)subp14
160-
299999 (p3000-299999-)subp14
161137
SELECT * FROM t1 PARTITION (`p0-29`);
162138
a b
163139
1 (p0-29-)subp3

0 commit comments

Comments
 (0)
Please sign in to comment.