Skip to content

Commit 4e23bfa

Browse files
author
Alexander Barkov
committed
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
2 parents 99c2493 + 143d512 commit 4e23bfa

File tree

101 files changed

+1241
-847
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1241
-847
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ script:
6767
- export MYSQL_BUILD_CC=/usr/bin/gcc-${GCC_VERSION} MYSQL_BUILD_CXX=/usr/bin/g++-${GCC_VERSION}
6868
- ${MYSQL_BUILD_CC} --version ; ${MYSQL_BUILD_CXX} --version
6969
- cd "${TRAVIS_BUILD_DIR}"
70-
- env DEB_BUILD_OPTIONS="parallel=4" debian/autobake-deb.sh;
70+
- env DEB_BUILD_OPTIONS="parallel=3" debian/autobake-deb.sh;
7171

7272
notifications:
7373
irc:

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
MYSQL_VERSION_MAJOR=10
22
MYSQL_VERSION_MINOR=2
3-
MYSQL_VERSION_PATCH=3
3+
MYSQL_VERSION_PATCH=4

debian/libmariadb-dev.install

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
usr/bin/mysql_config
2-
usr/include/mariadb
32
usr/include/mysql/*.h
43
usr/include/mysql/psi/*.h
54
usr/lib/*/libmariadb.so

debian/libmariadb3.install

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
usr/lib/*/libmariadbclient.so.*
22
usr/lib/*/libmysqlclient.so.*
3-
usr/lib/mariadb/libmariadb.so.*
3+
usr/lib/*/libmariadb.so.*
44
usr/lib/mysql/plugin/dialog.so
55
usr/lib/mysql/plugin/mysql_clear_password.so

debian/rules

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,12 @@ override_dh_auto_install:
158158
install -D -m 644 debian/mariadb-server-10.2.py $(TMP)/usr/share/apport/package-hooks/source_mariadb-10.2.py
159159

160160
# Install libmariadbclient18 compatibility links
161-
ln -s /usr/lib/mariadb/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadbclient.so.18
161+
ln -s $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadbclient.so.18
162162

163163
# Install libmysqlclientclientXX compatibility links
164-
ln -s /usr/lib/mariadb/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.18
165-
ln -s /usr/lib/mariadb/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.19
166-
ln -s /usr/lib/mariadb/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.20
164+
ln -s $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.18
165+
ln -s $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.19
166+
ln -s $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.20
167167

168168
touch $@
169169

libmariadb

mysql-test/include/mix1.inc

Lines changed: 110 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,15 @@ create table t2i (a int);
236236
insert into t2m values (5);
237237
insert into t2i values (5);
238238

239+
-- disable_query_log
240+
-- disable_result_log
241+
analyze table t1i;
242+
analyze table t1m;
243+
analyze table t2i;
244+
analyze table t2m;
245+
-- enable_result_log
246+
-- enable_query_log
247+
239248
# test with $engine_type
240249
select min(a) from t1i;
241250
select min(7) from t1i;
@@ -411,6 +420,13 @@ if ($test_foreign_keys)
411420
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
412421
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
413422

423+
-- disable_query_log
424+
-- disable_result_log
425+
ANALYZE TABLE t1;
426+
ANALYZE TABLE t2;
427+
-- enable_result_log
428+
-- enable_query_log
429+
414430
EXPLAIN
415431
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
416432
WHERE t1.name LIKE 'A%';
@@ -572,12 +588,22 @@ OPTIMIZE TABLE t1;
572588
SELECT COUNT(*) FROM t1;
573589
SELECT COUNT(*) FROM t1 WHERE acct_id=785;
574590

591+
-- disable_query_log
592+
-- disable_result_log
593+
ANALYZE TABLE t1;
594+
-- enable_result_log
595+
-- enable_query_log
596+
575597
EXPLAIN SELECT COUNT(*) FROM t1 WHERE stat_id IN (1,3) AND acct_id=785;
576598

577599
INSERT INTO t2 SELECT * FROM t1;
578600
OPTIMIZE TABLE t2;
579601

580-
EXPLAIN SELECT COUNT(*) FROM t2 WHERE stat_id IN (1,3) AND acct_id=785;
602+
-- disable_query_log
603+
-- disable_result_log
604+
ANALYZE TABLE t2;
605+
-- enable_result_log
606+
-- enable_query_log
581607

582608
DROP TABLE t1,t2;
583609

@@ -654,9 +680,11 @@ INSERT INTO t2 VALUES (1);
654680

655681
CONNECTION c2;
656682
SET AUTOCOMMIT=0;
683+
SET @old_lock_wait_timeout= @@lock_wait_timeout;
684+
SET lock_wait_timeout= 1;
657685
--error ER_LOCK_WAIT_TIMEOUT
658686
LOCK TABLES t1 READ, t2 READ;
659-
687+
SET @@lock_wait_timeout= @old_lock_wait_timeout;
660688
CONNECTION c1;
661689
COMMIT;
662690
INSERT INTO t1 VALUES (1);
@@ -702,6 +730,13 @@ INSERT INTO t1(b,c) SELECT b,c FROM t2;
702730
UPDATE t2 SET c='2007-01-03';
703731
INSERT INTO t1(b,c) SELECT b,c FROM t2;
704732

733+
-- disable_query_log
734+
-- disable_result_log
735+
ANALYZE TABLE t1;
736+
ANALYZE TABLE t2;
737+
-- enable_result_log
738+
-- enable_query_log
739+
705740
set @@sort_buffer_size=8192;
706741

707742
SELECT COUNT(*) FROM t1;
@@ -791,6 +826,12 @@ INSERT INTO t1 SELECT a + 16, MOD(a + 16, 20), 1 FROM t1;
791826
INSERT INTO t1 SELECT a + 32, MOD(a + 32, 20), 1 FROM t1;
792827
INSERT INTO t1 SELECT a + 64, MOD(a + 64, 20), 1 FROM t1;
793828

829+
-- disable_query_log
830+
-- disable_result_log
831+
ANALYZE TABLE t1;
832+
-- enable_result_log
833+
-- enable_query_log
834+
794835
EXPLAIN SELECT b, SUM(c) FROM t1 GROUP BY b;
795836
EXPLAIN SELECT SQL_BIG_RESULT b, SUM(c) FROM t1 GROUP BY b;
796837
DROP TABLE t1;
@@ -853,6 +894,11 @@ CREATE TABLE t1 (a int, b int, PRIMARY KEY (a), KEY bkey (b)) ENGINE=InnoDB;
853894
INSERT INTO t1 VALUES (1,2),(3,2),(2,2),(4,2),(5,2),(6,2),(7,2),(8,2);
854895
INSERT INTO t1 SELECT a + 8, 2 FROM t1;
855896
INSERT INTO t1 SELECT a + 16, 1 FROM t1;
897+
-- disable_query_log
898+
-- disable_result_log
899+
ANALYZE TABLE t1;
900+
-- enable_result_log
901+
-- enable_query_log
856902
query_vertical EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a;
857903
SELECT * FROM t1 WHERE b=2 ORDER BY a;
858904
query_vertical EXPLAIN SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a;
@@ -866,6 +912,12 @@ INSERT INTO t2 VALUES (1,1,1),(3,1,1),(2,1,1),(4,1,1);
866912
INSERT INTO t2 SELECT a + 4, 1, 1 FROM t2;
867913
INSERT INTO t2 SELECT a + 8, 1, 1 FROM t2;
868914

915+
-- disable_query_log
916+
-- disable_result_log
917+
ANALYZE TABLE t2;
918+
-- enable_result_log
919+
-- enable_query_log
920+
869921
query_vertical EXPLAIN SELECT * FROM t2 WHERE b=1 ORDER BY a;
870922
SELECT * FROM t2 WHERE b=1 ORDER BY a;
871923
query_vertical EXPLAIN SELECT * FROM t2 WHERE b=1 AND c=1 ORDER BY a;
@@ -957,7 +1009,7 @@ SELECT * FROM t1 WHERE b=20 FOR UPDATE;
9571009

9581010
--connect (conn2, localhost, root,,test)
9591011

960-
# This statement gives a "failed: 1205: Lock wait timeout exceeded; try
1012+
# This statement gives a "failed: 1205: Lock wait timeout exceeded; try
9611013
# restarting transaction" message when the bug is present.
9621014
START TRANSACTION;
9631015
SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
@@ -982,6 +1034,12 @@ CREATE TABLE t1(
9821034

9831035
INSERT INTO t1 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
9841036

1037+
-- disable_query_log
1038+
-- disable_result_log
1039+
ANALYZE TABLE t1;
1040+
-- enable_result_log
1041+
-- enable_query_log
1042+
9851043
EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d;
9861044
SELECT c,b,d FROM t1 GROUP BY c,b,d;
9871045
EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
@@ -1002,6 +1060,12 @@ DROP TABLE t1;
10021060
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), INDEX b (b)) ENGINE=InnoDB;
10031061
INSERT INTO t1(a,b) VALUES (1,1), (2,2), (3,2);
10041062

1063+
-- disable_query_log
1064+
-- disable_result_log
1065+
ANALYZE TABLE t1;
1066+
-- enable_result_log
1067+
-- enable_query_log
1068+
10051069
#The two queries below should produce different results, but they don't.
10061070
query_vertical EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
10071071
SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
@@ -1085,6 +1149,12 @@ CREATE TABLE t1 (id int, type char(6), d int, INDEX idx(id,d)) ENGINE=InnoDB;
10851149
INSERT INTO t1 VALUES
10861150
(191, 'member', 1), (NULL, 'member', 3), (NULL, 'member', 4), (201, 'member', 2);
10871151

1152+
-- disable_query_log
1153+
-- disable_result_log
1154+
ANALYZE TABLE t1;
1155+
-- enable_result_log
1156+
-- enable_query_log
1157+
10881158
EXPLAIN SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
10891159
SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
10901160

@@ -1113,12 +1183,13 @@ CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY (a), KEY t1_b (b))
11131183
INSERT INTO t1 (a,b,c) VALUES (1,1,1), (2,1,1), (3,1,1), (4,1,1);
11141184
INSERT INTO t1 (a,b,c) SELECT a+4,b,c FROM t1;
11151185

1116-
# should be range access
1186+
-- disable_query_log
1187+
-- disable_result_log
1188+
ANALYZE TABLE t1;
1189+
-- enable_result_log
1190+
-- enable_query_log
11171191

1118-
#
1119-
# InnoDB uses "where", while xtradb "index condition"
1120-
#
1121-
--replace_regex /where/index condition/
1192+
# should be range access
11221193
EXPLAIN SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5;
11231194

11241195
# should produce '8 7 6 5 4' for a
@@ -1512,6 +1583,12 @@ INSERT INTO t1 VALUES
15121583
(4,1,3,'pk',NULL),(5,1,3,'c2',NULL),
15131584
(2,1,4,'c_extra',NULL),(3,1,4,'c_extra',NULL);
15141585

1586+
-- disable_query_log
1587+
-- disable_result_log
1588+
ANALYZE TABLE t1;
1589+
-- enable_result_log
1590+
-- enable_query_log
1591+
15151592
EXPLAIN SELECT * FROM t1 FORCE INDEX (PRIMARY) WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
15161593

15171594
SELECT * FROM t1 FORCE INDEX (PRIMARY) WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
@@ -1529,6 +1606,12 @@ CREATE TABLE t1 (c1 INT, c2 INT, c3 INT, KEY (c3), KEY (c2, c3))
15291606
ENGINE=$engine_type;
15301607
INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
15311608

1609+
-- disable_query_log
1610+
-- disable_result_log
1611+
ANALYZE TABLE t1;
1612+
-- enable_result_log
1613+
-- enable_query_log
1614+
15321615
SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
15331616
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
15341617
EXPLAIN
@@ -1542,6 +1625,12 @@ CREATE TABLE t1 (c1 REAL, c2 REAL, c3 REAL, KEY (c3), KEY (c2, c3))
15421625
ENGINE=$engine_type;
15431626
INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
15441627

1628+
-- disable_query_log
1629+
-- disable_result_log
1630+
ANALYZE TABLE t1;
1631+
-- enable_result_log
1632+
-- enable_query_log
1633+
15451634
SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
15461635
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
15471636
EXPLAIN
@@ -1556,6 +1645,12 @@ CREATE TABLE t1 (c1 DECIMAL(12,2), c2 DECIMAL(12,2), c3 DECIMAL(12,2),
15561645
ENGINE=$engine_type;
15571646
INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
15581647

1648+
-- disable_query_log
1649+
-- disable_result_log
1650+
ANALYZE TABLE t1;
1651+
-- enable_result_log
1652+
-- enable_query_log
1653+
15591654
SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
15601655
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
15611656
EXPLAIN
@@ -1583,6 +1678,13 @@ CREATE TABLE t2 (
15831678
insert into t1 values (0),(1),(2),(3),(4);
15841679
insert into t2 select A.a + 10 *B.a, 1, 'filler' from t1 A, t1 B;
15851680

1681+
-- disable_query_log
1682+
-- disable_result_log
1683+
analyze table t1;
1684+
analyze table t2;
1685+
-- enable_result_log
1686+
-- enable_query_log
1687+
15861688
explain select * from t1, t2 where t2.a=t1.a and t2.b + 1;
15871689
select * from t1, t2 where t2.a=t1.a and t2.b + 1;
15881690

mysql-test/r/debug_sync.result

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,17 +265,31 @@ connection default;
265265
DROP TABLE t1;
266266
SET DEBUG_SYNC= 'RESET';
267267
DROP TABLE IF EXISTS t1;
268-
CREATE TABLE t1 (c1 INT);
269-
LOCK TABLE t1 READ;
268+
CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
269+
INSERT INTO t1 VALUES (1);
270+
SELECT GET_LOCK('mysqltest_lock', 100);
271+
GET_LOCK('mysqltest_lock', 100)
272+
1
270273
connect con1,localhost,root,,;
274+
# Sending:
275+
UPDATE t1 SET c1=GET_LOCK('mysqltest_lock', 100);;
276+
connect con2,localhost,root,,;
271277
SET DEBUG_SYNC= 'wait_for_lock SIGNAL locked EXECUTE 2';
272278
INSERT INTO t1 VALUES (1);
273279
connection default;
274280
SET DEBUG_SYNC= 'now WAIT_FOR locked';
275-
UNLOCK TABLES;
281+
SELECT RELEASE_LOCK('mysqltest_lock');
282+
RELEASE_LOCK('mysqltest_lock')
283+
1
276284
connection con1;
285+
# Reaping UPDATE
286+
SELECT RELEASE_LOCK('mysqltest_lock');
287+
RELEASE_LOCK('mysqltest_lock')
288+
1
289+
connection con2;
277290
retrieve INSERT result.
278291
disconnect con1;
292+
disconnect con2;
279293
connection default;
280294
DROP TABLE t1;
281295
SET DEBUG_SYNC= 'RESET';

0 commit comments

Comments
 (0)