Skip to content

Commit 6f6c74b

Browse files
committed
Merge branch '10.2' into 10.3
2 parents 4730314 + 5ba7722 commit 6f6c74b

27 files changed

+438
-54
lines changed

mysql-test/lib/My/CoreDump.pm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ sub _gdb {
7878
my ($tmp, $tmp_name) = tempfile();
7979
print $tmp
8080
"bt\n",
81-
"thread apply all bt\n",
81+
"set print sevenbit on\n",
82+
"set print static-members off\n",
83+
"set print frame-arguments all\n",
84+
"thread apply all bt full\n",
8285
"quit\n";
8386
close $tmp or die "Error closing $tmp_name: $!";
8487

mysql-test/main/check_constraint.result

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,63 @@ a b
235235
insert t1 (b) values (1);
236236
ERROR 23000: CONSTRAINT `CONSTRAINT_1` failed for `test`.`t1`
237237
drop table t1;
238+
#
239+
# MDEV-25638 Assertion `!result' failed in convert_const_to_int
240+
#
241+
create table t1 (v1 bigint check (v1 not in ('x' , 'x111'))) ;
242+
Warnings:
243+
Warning 1292 Truncated incorrect DOUBLE value: 'x'
244+
Warning 1292 Truncated incorrect DOUBLE value: 'x111'
245+
select * from t1;
246+
v1
247+
Warnings:
248+
Warning 1292 Truncated incorrect DOUBLE value: 'x'
249+
Warning 1292 Truncated incorrect DOUBLE value: 'x111'
250+
select v1 from t1;
251+
v1
252+
select * from t1;
253+
v1
254+
prepare stmt from "select * from t1";
255+
execute stmt;
256+
v1
257+
execute stmt;
258+
v1
259+
flush tables;
260+
select * from t1;
261+
v1
262+
Warnings:
263+
Warning 1292 Truncated incorrect DOUBLE value: 'x'
264+
Warning 1292 Truncated incorrect DOUBLE value: 'x111'
265+
select * from t1;
266+
v1
267+
deallocate prepare stmt;
268+
drop table t1;
269+
#
270+
# MDEV-26061 MariaDB server crash at Field::set_default
271+
#
272+
create table t1 (v2 date check (v1 like default (v1)), v1 date default (from_days ('x')));
273+
Warnings:
274+
Warning 1292 Truncated incorrect INTEGER value: 'x'
275+
insert ignore into t1 values ( 'x' , 'x' ) ;
276+
Warnings:
277+
Warning 1265 Data truncated for column 'v2' at row 1
278+
Warning 1265 Data truncated for column 'v1' at row 1
279+
Warning 1292 Truncated incorrect INTEGER value: 'x'
280+
drop table t1;
281+
#
282+
# End of 10.2 tests
283+
#
284+
#
285+
# MDEV-26061 MariaDB server crash at Field::set_default
286+
#
287+
create table t1 (d timestamp check (default (d) is true)) as select 1;
288+
show create table t1;
289+
Table Create Table
290+
t1 CREATE TABLE `t1` (
291+
`d` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() CHECK (default(`d`) is true),
292+
`1` int(1) NOT NULL
293+
) ENGINE=MyISAM DEFAULT CHARSET=latin1
294+
drop table t1;
295+
#
296+
# End of 10.3 tests
297+
#

mysql-test/main/check_constraint.test

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,46 @@ select * from t1 where a is null;
176176
--error ER_CONSTRAINT_FAILED
177177
insert t1 (b) values (1);
178178
drop table t1;
179+
180+
--echo #
181+
--echo # MDEV-25638 Assertion `!result' failed in convert_const_to_int
182+
--echo #
183+
184+
--enable_prepare_warnings
185+
create table t1 (v1 bigint check (v1 not in ('x' , 'x111'))) ;
186+
select * from t1;
187+
select v1 from t1;
188+
select * from t1;
189+
prepare stmt from "select * from t1";
190+
execute stmt;
191+
execute stmt;
192+
flush tables;
193+
select * from t1;
194+
select * from t1;
195+
deallocate prepare stmt;
196+
drop table t1;
197+
--disable_prepare_warnings
198+
199+
--echo #
200+
--echo # MDEV-26061 MariaDB server crash at Field::set_default
201+
--echo #
202+
203+
create table t1 (v2 date check (v1 like default (v1)), v1 date default (from_days ('x')));
204+
insert ignore into t1 values ( 'x' , 'x' ) ;
205+
drop table t1;
206+
207+
--echo #
208+
--echo # End of 10.2 tests
209+
--echo #
210+
211+
--echo #
212+
--echo # MDEV-26061 MariaDB server crash at Field::set_default
213+
--echo #
214+
215+
create table t1 (d timestamp check (default (d) is true)) as select 1;
216+
show create table t1;
217+
drop table t1;
218+
219+
--echo #
220+
--echo # End of 10.3 tests
221+
--echo #

mysql-test/main/default.result

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3397,6 +3397,15 @@ ERROR 01000: Expression for field `a` is referring to uninitialized field `a`
33973397
show warnings;
33983398
Level Code Message
33993399
Error 4029 Expression for field `a` is referring to uninitialized field `a`
3400+
#
3401+
# MDEV-26423: MariaDB server crash in Create_tmp_table::finalize
3402+
#
3403+
CREATE TABLE t1 (pk varchar(36) DEFAULT uuid());
3404+
INSERT INTO t1 VALUES (),();
3405+
SELECT 1 FROM t1 GROUP BY DEFAULT(pk);
3406+
1
3407+
1
3408+
DROP TABLE t1;
34003409
# end of 10.2 test
34013410
#
34023411
# MDEV-22703 DEFAULT() on a BLOB column can overwrite the default

mysql-test/main/default.test

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2116,6 +2116,15 @@ DROP TABLE t1;
21162116
create table t1 (a int as (a));
21172117
show warnings;
21182118

2119+
2120+
--echo #
2121+
--echo # MDEV-26423: MariaDB server crash in Create_tmp_table::finalize
2122+
--echo #
2123+
2124+
CREATE TABLE t1 (pk varchar(36) DEFAULT uuid());
2125+
INSERT INTO t1 VALUES (),();
2126+
SELECT 1 FROM t1 GROUP BY DEFAULT(pk);
2127+
DROP TABLE t1;
21192128
--echo # end of 10.2 test
21202129

21212130
--echo #
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#
2+
# MDEV-26423: MariaDB server crash in Create_tmp_table::finalize
3+
#
4+
CREATE TABLE v0 (
5+
v2 DATE DEFAULT ( v1 MOD 68321183.000000 ) ,
6+
v1 DATETIME NULL ) engine=innodb;
7+
SHOW DATABASES LIKE 'x';
8+
Database (x)
9+
SELECT DISTINCT v2 , v1 , DEFAULT ( v2 ) FROM v0;
10+
v2 v1 DEFAULT ( v2 )
11+
DROP TABLE v0;
12+
CREATE TABLE t1 (v1 DATE, v2 DATE DEFAULT(v1)) engine=innodb;
13+
SELECT DISTINCT DEFAULT(v2) FROM t1 ;
14+
DEFAULT(v2)
15+
DROP TABLE t1;
16+
#
17+
# End of 10.2 tests
18+
#
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
--source include/have_innodb.inc
3+
4+
--echo #
5+
--echo # MDEV-26423: MariaDB server crash in Create_tmp_table::finalize
6+
--echo #
7+
8+
CREATE TABLE v0 (
9+
v2 DATE DEFAULT ( v1 MOD 68321183.000000 ) ,
10+
v1 DATETIME NULL ) engine=innodb;
11+
SHOW DATABASES LIKE 'x';
12+
SELECT DISTINCT v2 , v1 , DEFAULT ( v2 ) FROM v0;
13+
DROP TABLE v0;
14+
15+
CREATE TABLE t1 (v1 DATE, v2 DATE DEFAULT(v1)) engine=innodb;
16+
SELECT DISTINCT DEFAULT(v2) FROM t1 ;
17+
DROP TABLE t1;
18+
19+
20+
--echo #
21+
--echo # End of 10.2 tests
22+
--echo #

mysql-test/main/func_default.result

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,5 +159,48 @@ a
159159
10
160160
DROP TABLE t1;
161161
#
162+
# MDEV-21028 Server crashes in Query_arena::set_query_arena upon SELECT from view
163+
#
164+
create table t1 (a datetime default current_timestamp);
165+
insert into t1 () values (),();
166+
create algorithm=temptable view v1 as select * from t1;
167+
create algorithm=merge view v2 as select * from t1;
168+
select default(a) = now() from v1;
169+
default(a) = now()
170+
NULL
171+
NULL
172+
select default(a) = now() from v2;
173+
default(a) = now()
174+
1
175+
1
176+
select table_name,is_updatable from information_schema.views;
177+
table_name is_updatable
178+
v1 NO
179+
v2 YES
180+
drop view v1, v2;
181+
drop table t1;
182+
create table t1 (v1 timestamp) select 'x';
183+
show create table t1;
184+
Table Create Table
185+
t1 CREATE TABLE `t1` (
186+
`v1` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
187+
`x` varchar(1) NOT NULL
188+
) ENGINE=MyISAM DEFAULT CHARSET=latin1
189+
select default(v1) from (select v1 from t1) dt;
190+
default(v1)
191+
2001-01-01 10:20:30
192+
select default(v1) from (select v1 from t1 group by v1) dt;
193+
default(v1)
194+
0000-00-00 00:00:00
195+
drop table t1;
196+
create table t1 (a text default '');
197+
create algorithm=temptable view v1 as select * from t1;
198+
insert into t1 values ('a');
199+
select default(a) from v1;
200+
default(a)
201+
NULL
202+
drop view v1;
203+
drop table t1;
204+
#
162205
# End of 10.2 tests
163206
#

mysql-test/main/func_default.test

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,33 @@ FROM t1;
139139
SELECT a FROM t1 WHERE CASE WHEN a THEN DEFAULT(a) END IS FALSE;
140140
DROP TABLE t1;
141141

142+
--echo #
143+
--echo # MDEV-21028 Server crashes in Query_arena::set_query_arena upon SELECT from view
144+
--echo #
145+
create table t1 (a datetime default current_timestamp);
146+
insert into t1 () values (),();
147+
create algorithm=temptable view v1 as select * from t1;
148+
create algorithm=merge view v2 as select * from t1;
149+
select default(a) = now() from v1;
150+
select default(a) = now() from v2;
151+
--sorted_result
152+
select table_name,is_updatable from information_schema.views;
153+
drop view v1, v2;
154+
drop table t1;
155+
156+
create table t1 (v1 timestamp) select 'x';
157+
show create table t1;
158+
select default(v1) from (select v1 from t1) dt;
159+
select default(v1) from (select v1 from t1 group by v1) dt;
160+
drop table t1;
161+
162+
create table t1 (a text default '');
163+
create algorithm=temptable view v1 as select * from t1;
164+
insert into t1 values ('a');
165+
select default(a) from v1;
166+
drop view v1;
167+
drop table t1;
168+
142169
--echo #
143170
--echo # End of 10.2 tests
144171
--echo #

mysql-test/main/plugin.result

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,4 +357,13 @@ select * from mysql.plugin WHERE name='unexisting_plugin';
357357
name dl
358358
UNINSTALL PLUGIN unexisting_plugin;
359359
ERROR 42000: PLUGIN unexisting_plugin does not exist
360+
#
361+
# MDEV-26323 use-after-poison issue of MariaDB server
362+
#
363+
INSTALL PLUGIN DEALLOCATE SONAME '';
364+
ERROR HY000: Can't open shared library '.so'
365+
INSTALL PLUGIN DEALLOCATE SONAME 'x';
366+
ERROR HY000: Can't open shared library 'x.so'
367+
INSTALL PLUGIN DEALLOCATE SONAME 'xx';
368+
ERROR HY000: Can't open shared library 'xx.so'
360369
# End of 10.2 tests

0 commit comments

Comments
 (0)