mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
5.5 merge
This commit is contained in:
@@ -4837,6 +4837,8 @@ sub extract_warning_lines ($$) {
|
||||
qr|Plugin 'FEEDBACK' registration as a INFORMATION SCHEMA failed|,
|
||||
qr|'log-bin-use-v1-row-events' is MySQL 5.6 compatible option|,
|
||||
qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind
|
||||
qr|Failed to setup SSL|,
|
||||
qr|SSL error: Failed to set ciphers to use|,
|
||||
);
|
||||
|
||||
my $matched_lines= [];
|
||||
|
@@ -2609,5 +2609,52 @@ a b
|
||||
1 1
|
||||
unlock tables;
|
||||
drop table t1,t2;
|
||||
#
|
||||
# MDEV-6179: dynamic columns functions/cast()/convert() doesn't
|
||||
# play nice with CREATE/ALTER TABLE
|
||||
#
|
||||
create table t1 (
|
||||
color char(32) as (COLUMN_GET(dynamic_cols, 1 as char)) persistent,
|
||||
cl char(32) as (COLUMN_GET(COLUMN_ADD(COLUMN_CREATE(1 , 'blue' as char), 2, 'ttt'), i as char)) persistent,
|
||||
item_name varchar(32) primary key, -- A common attribute for all items
|
||||
i int,
|
||||
dynamic_cols blob -- Dynamic columns will be stored here
|
||||
);
|
||||
INSERT INTO t1(item_name, dynamic_cols, i) VALUES
|
||||
('MariaDB T-shirt', COLUMN_CREATE(1, 'blue', 2, 'XL'), 1);
|
||||
INSERT INTO t1(item_name, dynamic_cols, i) VALUES
|
||||
('Thinkpad Laptop', COLUMN_CREATE(1, 'black', 3, 500), 2);
|
||||
select item_name, color, cl from t1;
|
||||
item_name color cl
|
||||
MariaDB T-shirt blue blue
|
||||
Thinkpad Laptop black ttt
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`color` char(32) AS (COLUMN_GET(dynamic_cols, 1 as char)) PERSISTENT,
|
||||
`cl` char(32) AS (COLUMN_GET(COLUMN_ADD(COLUMN_CREATE(1 , 'blue' as char), 2, 'ttt'), i as char)) PERSISTENT,
|
||||
`item_name` varchar(32) NOT NULL,
|
||||
`i` int(11) DEFAULT NULL,
|
||||
`dynamic_cols` blob,
|
||||
PRIMARY KEY (`item_name`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
n int,
|
||||
c char(32) as (convert(cast(n as char), char)) persistent
|
||||
);
|
||||
insert into t1(n) values (1),(2),(3);
|
||||
select * from t1;
|
||||
n c
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`n` int(11) DEFAULT NULL,
|
||||
`c` char(32) AS (convert(cast(n as char), char)) PERSISTENT
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1;
|
||||
ERROR 42000: A table must have at least 1 column
|
||||
|
@@ -1573,6 +1573,15 @@ a 512
|
||||
Warnings:
|
||||
Warning 1260 Row 1 was cut by GROUP_CONCAT()
|
||||
#
|
||||
# MDEV-6865 Merge Bug#18935421 RPAD DIES WITH CERTAIN PADSTR INTPUTS..
|
||||
#
|
||||
DO RPAD(_utf16 0x0061 COLLATE utf16_unicode_ci, 10000, 0x0061DE989999);
|
||||
Warnings:
|
||||
Warning 1300 Invalid utf16 character string: 'DE9899'
|
||||
DO LPAD(_utf16 0x0061 COLLATE utf16_unicode_ci, 10000, 0x0061DE989999);
|
||||
Warnings:
|
||||
Warning 1300 Invalid utf16 character string: 'DE9899'
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
#
|
||||
|
@@ -147,3 +147,11 @@ DROP TABLE t1;
|
||||
#
|
||||
# End of 5.3 tests
|
||||
#
|
||||
SELECT UNCOMPRESS(CAST(0 AS BINARY(5)));
|
||||
UNCOMPRESS(CAST(0 AS BINARY(5)))
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1259 ZLIB: Input data corrupted
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@@ -1557,6 +1557,12 @@ Warnings:
|
||||
Warning 1300 Invalid utf8 character string: 'E043'
|
||||
Warning 1300 Invalid utf8 character string: 'E043'
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6883 ST_WITHIN crashes server if (0,0) is matched to POLYGON((0 0))
|
||||
#
|
||||
select st_within(GeomFromText('Polygon((0 0))'), Point(0,0));
|
||||
st_within(GeomFromText('Polygon((0 0))'), Point(0,0))
|
||||
1
|
||||
End of 5.3 tests
|
||||
#
|
||||
# Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE
|
||||
|
25
mysql-test/r/openssl-poodle_6975,sslv3.result
Normal file
25
mysql-test/r/openssl-poodle_6975,sslv3.result
Normal file
@@ -0,0 +1,25 @@
|
||||
grant select on test.* to ssl_sslv3@localhost require cipher "RC4-SHA";
|
||||
grant select on test.* to ssl_tls12@localhost require cipher "AES128-SHA256";
|
||||
TLS1.2 ciphers: user is ok with any cipher
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
TLS1.2 ciphers: user requires SSLv3 cipher RC4-SHA
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
TLS1.2 ciphers: user requires TLSv1.2 cipher AES128-SHA256
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
SSLv3 ciphers: user is ok with any cipher
|
||||
Variable_name Value
|
||||
Ssl_cipher RC4-SHA
|
||||
Variable_name Value
|
||||
Ssl_cipher DHE-RSA-AES256-SHA
|
||||
SSLv3 ciphers: user requires SSLv3 cipher RC4-SHA
|
||||
Variable_name Value
|
||||
Ssl_cipher RC4-SHA
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_sslv3'@'localhost' (using password: NO)
|
||||
SSLv3 ciphers: user requires TLSv1.2 cipher AES128-SHA256
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_tls12'@'localhost' (using password: NO)
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_tls12'@'localhost' (using password: NO)
|
||||
drop user ssl_sslv3@localhost;
|
||||
drop user ssl_tls12@localhost;
|
25
mysql-test/r/openssl-poodle_6975,tlsv12.result
Normal file
25
mysql-test/r/openssl-poodle_6975,tlsv12.result
Normal file
@@ -0,0 +1,25 @@
|
||||
grant select on test.* to ssl_sslv3@localhost require cipher "RC4-SHA";
|
||||
grant select on test.* to ssl_tls12@localhost require cipher "AES128-SHA256";
|
||||
TLS1.2 ciphers: user is ok with any cipher
|
||||
Variable_name Value
|
||||
Ssl_cipher AES128-SHA256
|
||||
Variable_name Value
|
||||
Ssl_cipher DHE-RSA-AES256-GCM-SHA384
|
||||
TLS1.2 ciphers: user requires SSLv3 cipher RC4-SHA
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_sslv3'@'localhost' (using password: NO)
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_sslv3'@'localhost' (using password: NO)
|
||||
TLS1.2 ciphers: user requires TLSv1.2 cipher AES128-SHA256
|
||||
Variable_name Value
|
||||
Ssl_cipher AES128-SHA256
|
||||
ERROR 1045 (28000): Access denied for user 'ssl_tls12'@'localhost' (using password: NO)
|
||||
SSLv3 ciphers: user is ok with any cipher
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
SSLv3 ciphers: user requires SSLv3 cipher RC4-SHA
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
SSLv3 ciphers: user requires TLSv1.2 cipher AES128-SHA256
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
ERROR 2026 (HY000): SSL connection error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
drop user ssl_sslv3@localhost;
|
||||
drop user ssl_tls12@localhost;
|
@@ -7,6 +7,8 @@ grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA
|
||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
connect(localhost,ssl_user2,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'ssl_user2'@'localhost' (using password: NO)
|
||||
connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'ssl_user5'@'localhost' (using password: NO)
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
@@ -1764,6 +1764,11 @@ PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
create table t1 (a int) partition by list (values(a) div 1) (partition p0 values in (0), partition p1 values in (1));
|
||||
ERROR HY000: This partition function is not allowed
|
||||
create table t1 (a int) partition by list (uuid_short()) (partition p0 values in (0), partition p1 values in (1));
|
||||
ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ') (partition p0 values in (0), partition p1 values in (1))' at line 1
|
||||
End of 5.5 tests
|
||||
CREATE TABLE t1 (a INT)
|
||||
PARTITION BY LIST (a)
|
||||
SUBPARTITION BY HASH (a) SUBPARTITIONS 2
|
||||
|
@@ -1935,3 +1935,23 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
3 UNION t1 ALL NULL NULL NULL NULL 4
|
||||
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6868:MariaDB server crash ( select with union and order by
|
||||
# with subquery )
|
||||
#
|
||||
CREATE TABLE t1 ( id INTEGER, sample_name1 VARCHAR(100), sample_name2 VARCHAR(100), PRIMARY KEY(id) );
|
||||
INSERT INTO t1 ( id, sample_name1, sample_name2 ) VALUES ( 1, 'aaaa', 'bbbb' ), ( 2, 'cccc', 'dddd' );
|
||||
(
|
||||
SELECT sample_name1 AS testname FROM t1
|
||||
)
|
||||
UNION
|
||||
(
|
||||
SELECT sample_name2 AS testname FROM t1 C ORDER BY (SELECT T.sample_name1 FROM t1 T WHERE T.id = C.id)
|
||||
)
|
||||
;
|
||||
testname
|
||||
aaaa
|
||||
cccc
|
||||
bbbb
|
||||
dddd
|
||||
drop table t1;
|
||||
|
@@ -52,6 +52,9 @@ sub skip_combinations {
|
||||
}
|
||||
$skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok();
|
||||
|
||||
$skip{'t/openssl-poodle_6975.test'} = 'no or too old openssl'
|
||||
unless ! IS_WINDOWS and ! system "openssl ciphers TLSv1.2 2>&1 >/dev/null";
|
||||
|
||||
%skip;
|
||||
}
|
||||
|
||||
|
24
mysql-test/suite/binlog/r/load_data_stm_view.result
Normal file
24
mysql-test/suite/binlog/r/load_data_stm_view.result
Normal file
@@ -0,0 +1,24 @@
|
||||
create table t1 (i int, j int);
|
||||
create view v1 as select i from t1;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' INTO TABLE v1 (i);
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' INTO TABLE v1;
|
||||
select * from v1;
|
||||
i
|
||||
1
|
||||
1
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (i int, j int)
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select i from t1
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' IGNORE INTO TABLE `v1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`i`) ;file_id=#
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' IGNORE INTO TABLE `v1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`i`) ;file_id=#
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
drop view v1;
|
||||
drop table t1;
|
20
mysql-test/suite/binlog/t/load_data_stm_view.test
Normal file
20
mysql-test/suite/binlog/t/load_data_stm_view.test
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# MDEV-3940 Server crash or assertion `item->type() == Item::STRING_ITEM' failure on LOAD DATA through a view with statement binary logging
|
||||
#
|
||||
|
||||
--source include/have_binlog_format_statement.inc
|
||||
|
||||
--write_file $MYSQLTEST_VARDIR/3940.data
|
||||
1
|
||||
EOF
|
||||
|
||||
create table t1 (i int, j int);
|
||||
create view v1 as select i from t1;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/3940.data' INTO TABLE v1 (i)
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/3940.data' INTO TABLE v1
|
||||
select * from v1;
|
||||
--source include/show_binlog_events.inc
|
||||
drop view v1;
|
||||
drop table t1;
|
@@ -12,11 +12,14 @@ eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
|
||||
--echo # with named user
|
||||
--echo #
|
||||
|
||||
--replace_result $USER USER
|
||||
--let $replace=create user $USER
|
||||
--replace_result $replace "create user USER"
|
||||
eval create user $USER identified via unix_socket;
|
||||
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/peercred_test.txt
|
||||
--replace_result $USER USER
|
||||
--let $replace1=$USER@localhost
|
||||
--let $replace2=$USER@%
|
||||
--replace_result $replace1 "USER@localhost" $replace2 "USER@%"
|
||||
select user(), current_user(), database();
|
||||
EOF
|
||||
|
||||
@@ -31,7 +34,8 @@ EOF
|
||||
--error 1
|
||||
--exec $MYSQL_TEST -u foobar --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
|
||||
|
||||
--replace_result $USER USER
|
||||
--let $replace=drop user $USER
|
||||
--replace_result $replace "drop user USER"
|
||||
eval drop user $USER;
|
||||
|
||||
--echo #
|
||||
|
@@ -7,7 +7,6 @@ SHOW BINLOG EVENTS;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR on_show_binlog_events';
|
||||
FLUSH LOGS;
|
||||
SET DEBUG_SYNC= 'now SIGNAL end';
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
[connection slave]
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
include/rpl_end.inc
|
||||
|
@@ -22,7 +22,6 @@ SET DEBUG_SYNC= 'after_show_binlog_events SIGNAL on_show_binlog_events WAIT_FOR
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR on_show_binlog_events';
|
||||
FLUSH LOGS;
|
||||
SET DEBUG_SYNC= 'now SIGNAL end';
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
|
||||
--echo [connection slave]
|
||||
--connection slave
|
||||
|
@@ -56,10 +56,14 @@ XA PREPARE 'xa2';
|
||||
--connection default
|
||||
--enable_reconnect
|
||||
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
wait
|
||||
EOF
|
||||
--shutdown_server 0
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
--source include/wait_until_connected_again.inc
|
||||
XA RECOVER;
|
||||
XA ROLLBACK 'xa1';
|
||||
|
67
mysql-test/suite/vcol/r/not_supported.result
Normal file
67
mysql-test/suite/vcol/r/not_supported.result
Normal file
@@ -0,0 +1,67 @@
|
||||
set lc_time_names = 'es_MX';
|
||||
set time_zone='+10:00';
|
||||
set div_precision_increment=20;
|
||||
create table t1 (a int, b int, v decimal(20,19) as (a/3));
|
||||
create table t2 (a int, b int, v int as (a+@a));
|
||||
ERROR HY000: Function or expression is not allowed for column 'v'
|
||||
create table t3 (a int, b int, v int as (a+@@error_count));
|
||||
ERROR HY000: Function or expression is not allowed for column 'v'
|
||||
create table t4 (a int, b int, v int as (@a:=a));
|
||||
ERROR HY000: Function or expression is not allowed for column 'v'
|
||||
create table t5 (a int, b int, v varchar(100) as (monthname(a)));
|
||||
create table t6 (a int, b int, v varchar(100) as (dayname(a)));
|
||||
create table t7 (a int, b int, v varchar(100) as (date_format(a, '%W %a %M %b')));
|
||||
create table t8 (a int, b int, v varchar(100) as (from_unixtime(a)));
|
||||
insert t1 (a,b) values (1,2);
|
||||
insert t5 (a,b) values (20141010,2);
|
||||
insert t6 (a,b) values (20141010,2);
|
||||
insert t7 (a,b) values (20141010,2);
|
||||
insert t8 (a,b) values (1234567890,2);
|
||||
select * from t1;
|
||||
a b v
|
||||
1 2 0.3333333333333333333
|
||||
select * from t5;
|
||||
a b v
|
||||
20141010 2 octubre
|
||||
select * from t6;
|
||||
a b v
|
||||
20141010 2 viernes
|
||||
select * from t7;
|
||||
a b v
|
||||
20141010 2 viernes vie octubre oct
|
||||
select * from t8;
|
||||
a b v
|
||||
1234567890 2 2009-02-14 09:31:30
|
||||
set time_zone='+1:00';
|
||||
select * from t1;
|
||||
a b v
|
||||
1 2 0.3333333333333333333
|
||||
select * from t5;
|
||||
a b v
|
||||
20141010 2 octubre
|
||||
select * from t6;
|
||||
a b v
|
||||
20141010 2 viernes
|
||||
select * from t7;
|
||||
a b v
|
||||
20141010 2 viernes vie octubre oct
|
||||
select * from t8;
|
||||
a b v
|
||||
1234567890 2 2009-02-14 09:31:30
|
||||
flush tables;
|
||||
select * from t1;
|
||||
a b v
|
||||
1 2 0.3333333330000000000
|
||||
select * from t5;
|
||||
a b v
|
||||
20141010 2 October
|
||||
select * from t6;
|
||||
a b v
|
||||
20141010 2 Friday
|
||||
select * from t7;
|
||||
a b v
|
||||
20141010 2 Friday Fri October Oct
|
||||
select * from t8;
|
||||
a b v
|
||||
1234567890 2 2009-02-14 00:31:30
|
||||
drop table t1, t5, t6, t7, t8;
|
58
mysql-test/suite/vcol/t/not_supported.test
Normal file
58
mysql-test/suite/vcol/t/not_supported.test
Normal file
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# MDEV-7113 difference between check_vcol_func_processor and check_partition_func_processor
|
||||
#
|
||||
|
||||
# the following functions must not be supported in virtual columns.
|
||||
# but for compatibility reasons it won't be done in a GA version,
|
||||
# we'll only fix most critical issues (inconsistent results, crashes)
|
||||
|
||||
connect (con1, localhost, root);
|
||||
|
||||
set lc_time_names = 'es_MX';
|
||||
set time_zone='+10:00';
|
||||
set div_precision_increment=20;
|
||||
|
||||
create table t1 (a int, b int, v decimal(20,19) as (a/3));
|
||||
--error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
|
||||
create table t2 (a int, b int, v int as (a+@a));
|
||||
--error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
|
||||
create table t3 (a int, b int, v int as (a+@@error_count));
|
||||
--error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
|
||||
create table t4 (a int, b int, v int as (@a:=a));
|
||||
create table t5 (a int, b int, v varchar(100) as (monthname(a)));
|
||||
create table t6 (a int, b int, v varchar(100) as (dayname(a)));
|
||||
create table t7 (a int, b int, v varchar(100) as (date_format(a, '%W %a %M %b')));
|
||||
create table t8 (a int, b int, v varchar(100) as (from_unixtime(a)));
|
||||
|
||||
insert t1 (a,b) values (1,2);
|
||||
insert t5 (a,b) values (20141010,2);
|
||||
insert t6 (a,b) values (20141010,2);
|
||||
insert t7 (a,b) values (20141010,2);
|
||||
insert t8 (a,b) values (1234567890,2);
|
||||
|
||||
select * from t1;
|
||||
select * from t5;
|
||||
select * from t6;
|
||||
select * from t7;
|
||||
select * from t8;
|
||||
|
||||
disconnect con1;
|
||||
connection default;
|
||||
set time_zone='+1:00';
|
||||
|
||||
select * from t1;
|
||||
select * from t5;
|
||||
select * from t6;
|
||||
select * from t7;
|
||||
select * from t8;
|
||||
|
||||
flush tables;
|
||||
|
||||
select * from t1;
|
||||
select * from t5;
|
||||
select * from t6;
|
||||
select * from t7;
|
||||
select * from t8;
|
||||
|
||||
drop table t1, t5, t6, t7, t8;
|
||||
|
@@ -2022,9 +2022,40 @@ select * from t1;
|
||||
unlock tables;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6179: dynamic columns functions/cast()/convert() doesn't
|
||||
--echo # play nice with CREATE/ALTER TABLE
|
||||
--echo #
|
||||
create table t1 (
|
||||
color char(32) as (COLUMN_GET(dynamic_cols, 1 as char)) persistent,
|
||||
cl char(32) as (COLUMN_GET(COLUMN_ADD(COLUMN_CREATE(1 , 'blue' as char), 2, 'ttt'), i as char)) persistent,
|
||||
item_name varchar(32) primary key, -- A common attribute for all items
|
||||
i int,
|
||||
dynamic_cols blob -- Dynamic columns will be stored here
|
||||
);
|
||||
INSERT INTO t1(item_name, dynamic_cols, i) VALUES
|
||||
('MariaDB T-shirt', COLUMN_CREATE(1, 'blue', 2, 'XL'), 1);
|
||||
INSERT INTO t1(item_name, dynamic_cols, i) VALUES
|
||||
('Thinkpad Laptop', COLUMN_CREATE(1, 'black', 3, 500), 2);
|
||||
|
||||
select item_name, color, cl from t1;
|
||||
show create table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (
|
||||
n int,
|
||||
c char(32) as (convert(cast(n as char), char)) persistent
|
||||
);
|
||||
insert into t1(n) values (1),(2),(3);
|
||||
|
||||
select * from t1;
|
||||
show create table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS
|
||||
#
|
||||
--error ER_TABLE_MUST_HAVE_COLUMNS
|
||||
create table t1;
|
||||
|
||||
|
@@ -787,6 +787,12 @@ SELECT 'a' AS id, REPEAT('bla bla', 100) AS body) t1;
|
||||
## TODO: add tests for all engines
|
||||
#
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6865 Merge Bug#18935421 RPAD DIES WITH CERTAIN PADSTR INTPUTS..
|
||||
--echo #
|
||||
DO RPAD(_utf16 0x0061 COLLATE utf16_unicode_ci, 10000, 0x0061DE989999);
|
||||
DO LPAD(_utf16 0x0061 COLLATE utf16_unicode_ci, 10000, 0x0061DE989999);
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.5 tests
|
||||
--echo #
|
||||
|
@@ -16,11 +16,17 @@ change_user $USER;
|
||||
|
||||
eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $USER USER
|
||||
# Make sure that the replace works, even if $USER is 'user' or something else
|
||||
# that matches other parts of the error message.
|
||||
--echo connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
--let $replace=Access denied for user '$USER'
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $replace "Access denied for user 'USER'"
|
||||
--disable_query_log
|
||||
--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
|
||||
connect (fail,localhost,$USER);
|
||||
--enable_query_log
|
||||
|
||||
--replace_result $USER USER
|
||||
--replace_result $replace "Access denied for user 'USER'"
|
||||
--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
|
||||
change_user $USER;
|
||||
|
||||
|
@@ -136,3 +136,12 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # End of 5.3 tests
|
||||
--echo #
|
||||
|
||||
#
|
||||
# MDEV-4513 Valgrind warnings (Conditional jump or move depends on uninitialised value) in inflate on UNCOMPRESS
|
||||
#
|
||||
SELECT UNCOMPRESS(CAST(0 AS BINARY(5)));
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.5 tests
|
||||
--echo #
|
||||
|
@@ -1413,6 +1413,11 @@ insert into t1 values(geomfromtext("POINT(0 9.2233720368548e18)"));
|
||||
select equals(`a`,convert(`a` using utf8)) from `t1`;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6883 ST_WITHIN crashes server if (0,0) is matched to POLYGON((0 0))
|
||||
--echo #
|
||||
select st_within(GeomFromText('Polygon((0 0))'), Point(0,0));
|
||||
|
||||
--echo End of 5.3 tests
|
||||
|
||||
--echo #
|
||||
|
6
mysql-test/t/openssl-poodle_6975.combinations
Normal file
6
mysql-test/t/openssl-poodle_6975.combinations
Normal file
@@ -0,0 +1,6 @@
|
||||
[tlsv12]
|
||||
loose-ssl-cipher=TLSv1.2
|
||||
|
||||
[sslv3]
|
||||
loose-ssl-cipher=SSLv3
|
||||
|
38
mysql-test/t/openssl-poodle_6975.test
Normal file
38
mysql-test/t/openssl-poodle_6975.test
Normal file
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# MDEV-6975 Implement TLS protocol
|
||||
#
|
||||
# test SSLv3 and TLSv1.2 ciphers when OpenSSL is restricted to SSLv3 or TLSv1.2
|
||||
#
|
||||
source include/have_ssl_communication.inc;
|
||||
|
||||
# this is OpenSSL test.
|
||||
|
||||
grant select on test.* to ssl_sslv3@localhost require cipher "RC4-SHA";
|
||||
grant select on test.* to ssl_tls12@localhost require cipher "AES128-SHA256";
|
||||
|
||||
let $mysql=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
|
||||
|
||||
disable_abort_on_error;
|
||||
echo TLS1.2 ciphers: user is ok with any cipher;
|
||||
exec $mysql --ssl-cipher=AES128-SHA256;
|
||||
exec $mysql --ssl-cipher=TLSv1.2;
|
||||
echo TLS1.2 ciphers: user requires SSLv3 cipher RC4-SHA;
|
||||
exec $mysql --user ssl_sslv3 --ssl-cipher=AES128-SHA256;
|
||||
exec $mysql --user ssl_sslv3 --ssl-cipher=TLSv1.2;
|
||||
echo TLS1.2 ciphers: user requires TLSv1.2 cipher AES128-SHA256;
|
||||
exec $mysql --user ssl_tls12 --ssl-cipher=AES128-SHA256;
|
||||
exec $mysql --user ssl_tls12 --ssl-cipher=TLSv1.2;
|
||||
|
||||
echo SSLv3 ciphers: user is ok with any cipher;
|
||||
exec $mysql --ssl-cipher=RC4-SHA;
|
||||
exec $mysql --ssl-cipher=SSLv3;
|
||||
echo SSLv3 ciphers: user requires SSLv3 cipher RC4-SHA;
|
||||
exec $mysql --user ssl_sslv3 --ssl-cipher=RC4-SHA;
|
||||
exec $mysql --user ssl_sslv3 --ssl-cipher=SSLv3;
|
||||
echo SSLv3 ciphers: user requires TLSv1.2 cipher AES128-SHA256;
|
||||
exec $mysql --user ssl_tls12 --ssl-cipher=RC4-SHA;
|
||||
exec $mysql --user ssl_tls12 --ssl-cipher=SSLv3;
|
||||
|
||||
drop user ssl_sslv3@localhost;
|
||||
drop user ssl_tls12@localhost;
|
||||
|
@@ -20,13 +20,16 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
|
||||
connect (con1,localhost,ssl_user1,,,,,SSL);
|
||||
connect (con2,localhost,ssl_user2,,,,,SSL);
|
||||
connect (con3,localhost,ssl_user3,,,,,SSL);
|
||||
connect (con4,localhost,ssl_user4,,,,,SSL);
|
||||
connect (con1,localhost,ssl_user1,,,,,SSL-CIPHER=DHE-RSA-AES256-SHA);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
connect (con5,localhost,ssl_user5,,,,,SSL);
|
||||
connect (con2,localhost,ssl_user2,,,,,SSL-CIPHER=RC4-SHA);
|
||||
connect (con2,localhost,ssl_user2,,,,,SSL-CIPHER=DHE-RSA-AES256-SHA);
|
||||
connect (con3,localhost,ssl_user3,,,,,SSL-CIPHER=DHE-RSA-AES256-SHA);
|
||||
connect (con4,localhost,ssl_user4,,,,,SSL-CIPHER=DHE-RSA-AES256-SHA);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
connect (con5,localhost,ssl_user5,,,,,SSL-CIPHER=DHE-RSA-AES256-SHA);
|
||||
|
||||
connection con1;
|
||||
# Check ssl turned on
|
||||
@@ -129,6 +132,7 @@ drop table t1;
|
||||
# verification of servers certificate by setting both ca certificate
|
||||
# and ca path to NULL
|
||||
#
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
--echo End of 5.0 tests
|
||||
|
||||
@@ -255,6 +259,7 @@ select 'is still running; no cipher request crashed the server' as result from d
|
||||
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
|
||||
FLUSH PRIVILEGES;
|
||||
connect(con1,localhost,bug42158,,,,,SSL);
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
disconnect con1;
|
||||
connection default;
|
||||
|
@@ -2017,6 +2017,17 @@ DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
#
|
||||
# MDEV-7113 difference between check_vcol_func_processor and check_partition_func_processor
|
||||
#
|
||||
--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
|
||||
create table t1 (a int) partition by list (values(a) div 1) (partition p0 values in (0), partition p1 values in (1));
|
||||
|
||||
--error ER_PARSE_ERROR
|
||||
create table t1 (a int) partition by list (uuid_short()) (partition p0 values in (0), partition p1 values in (1));
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
||||
CREATE TABLE t1 (a INT)
|
||||
PARTITION BY LIST (a)
|
||||
SUBPARTITION BY HASH (a) SUBPARTITIONS 2
|
||||
|
@@ -11,6 +11,7 @@
|
||||
connect (ssl_con,localhost,root,,,,,SSL);
|
||||
|
||||
# Check ssl turned on
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check ssl expiration
|
||||
@@ -21,6 +22,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after';
|
||||
-- source include/common-tests.inc
|
||||
|
||||
# Check ssl turned on
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
connection default;
|
||||
|
@@ -1 +1,3 @@
|
||||
--ssl-key=$MYSQL_TEST_DIR/std_data/server8k-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/server8k-cert.pem
|
||||
--loose-ssl-key=$MYSQL_TEST_DIR/std_data/server8k-key.pem
|
||||
--loose-ssl-cert=$MYSQL_TEST_DIR/std_data/server8k-cert.pem
|
||||
--loose-ssl-cipher=DHE-RSA-AES256-SHA
|
||||
|
@@ -11,6 +11,7 @@
|
||||
connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
|
||||
# Check ssl turned on
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check compression turned on
|
||||
@@ -20,6 +21,7 @@ SHOW STATUS LIKE 'Compression';
|
||||
-- source include/common-tests.inc
|
||||
|
||||
# Check ssl turned on
|
||||
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check compression turned on
|
||||
|
@@ -1330,3 +1330,23 @@ create table t1 (a int);
|
||||
insert t1 values (1),(2),(3),(1);
|
||||
explain select 1 from dual where exists (select max(a) from t1 group by a union select a+2 from t1);
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6868:MariaDB server crash ( select with union and order by
|
||||
--echo # with subquery )
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 ( id INTEGER, sample_name1 VARCHAR(100), sample_name2 VARCHAR(100), PRIMARY KEY(id) );
|
||||
|
||||
INSERT INTO t1 ( id, sample_name1, sample_name2 ) VALUES ( 1, 'aaaa', 'bbbb' ), ( 2, 'cccc', 'dddd' );
|
||||
|
||||
(
|
||||
SELECT sample_name1 AS testname FROM t1
|
||||
)
|
||||
UNION
|
||||
(
|
||||
SELECT sample_name2 AS testname FROM t1 C ORDER BY (SELECT T.sample_name1 FROM t1 T WHERE T.id = C.id)
|
||||
)
|
||||
;
|
||||
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user