mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '10.0' into 10.1
This commit is contained in:
3
CREDITS
3
CREDITS
@ -5,15 +5,14 @@ The current main sponsors of the MariaDB Foundation are:
|
|||||||
|
|
||||||
Alibaba Cloud https://www.alibabacloud.com/ (2017)
|
Alibaba Cloud https://www.alibabacloud.com/ (2017)
|
||||||
Booking.com https://www.booking.com (2013)
|
Booking.com https://www.booking.com (2013)
|
||||||
|
MariaDB Corporation https://www.mariadb.com (2013)
|
||||||
Microsoft https://microsoft.com/ (2017)
|
Microsoft https://microsoft.com/ (2017)
|
||||||
Tencent Cloud https://cloud.tencent.com (2017)
|
Tencent Cloud https://cloud.tencent.com (2017)
|
||||||
Development Bank of Singapore https://dbs.com (2016)
|
Development Bank of Singapore https://dbs.com (2016)
|
||||||
IBM https://www.ibm.com (2017)
|
IBM https://www.ibm.com (2017)
|
||||||
MariaDB Corporation https://www.mariadb.com (2013)
|
|
||||||
Visma https://visma.com (2015)
|
Visma https://visma.com (2015)
|
||||||
Acronis http://acronis.com (2016)
|
Acronis http://acronis.com (2016)
|
||||||
Nexedi https://www.nexedi.com (2016)
|
Nexedi https://www.nexedi.com (2016)
|
||||||
Automattic https://automattic.com (2014)
|
|
||||||
Tencent Game DBA http://tencentdba.com/about (2016)
|
Tencent Game DBA http://tencentdba.com/about (2016)
|
||||||
Tencent TDSQL http://tdsql.org (2016)
|
Tencent TDSQL http://tdsql.org (2016)
|
||||||
Verkkokauppa.com https://www.verkkokauppa.com (2015)
|
Verkkokauppa.com https://www.verkkokauppa.com (2015)
|
||||||
|
@ -4,13 +4,12 @@ Booking.com https://www.booking.com Founding member, Platinum Sponsor of the Mar
|
|||||||
Alibaba Cloud https://www.alibabacloud.com/ Platinum Sponsor of the MariaDB Foundation
|
Alibaba Cloud https://www.alibabacloud.com/ Platinum Sponsor of the MariaDB Foundation
|
||||||
Tencent Cloud https://cloud.tencent.com Platinum Sponsor of the MariaDB Foundation
|
Tencent Cloud https://cloud.tencent.com Platinum Sponsor of the MariaDB Foundation
|
||||||
Microsoft https://microsoft.com/ Platinum Sponsor of the MariaDB Foundation
|
Microsoft https://microsoft.com/ Platinum Sponsor of the MariaDB Foundation
|
||||||
MariaDB Corporation https://mariadb.com Founding member, Gold Sponsor of the MariaDB Foundation
|
MariaDB Corporation https://mariadb.com Founding member, Platinum Sponsor of the MariaDB Foundation
|
||||||
Visma https://visma.com Gold Sponsor of the MariaDB Foundation
|
Visma https://visma.com Gold Sponsor of the MariaDB Foundation
|
||||||
DBS https://dbs.com Gold Sponsor of the MariaDB Foundation
|
DBS https://dbs.com Gold Sponsor of the MariaDB Foundation
|
||||||
IBM https://www.ibm.com Gold Sponsor of the MariaDB Foundation
|
IBM https://www.ibm.com Gold Sponsor of the MariaDB Foundation
|
||||||
Nexedi https://www.nexedi.com Silver Sponsor of the MariaDB Foundation
|
Nexedi https://www.nexedi.com Silver Sponsor of the MariaDB Foundation
|
||||||
Acronis http://www.acronis.com Silver Sponsor of the MariaDB Foundation
|
Acronis http://www.acronis.com Silver Sponsor of the MariaDB Foundation
|
||||||
Auttomattic https://automattic.com Bronze Sponsor of the MariaDB Foundation
|
|
||||||
Verkkokauppa.com https://www.verkkokauppa.com Bronze Sponsor of the MariaDB Foundation
|
Verkkokauppa.com https://www.verkkokauppa.com Bronze Sponsor of the MariaDB Foundation
|
||||||
Virtuozzo https://virtuozzo.com Bronze Sponsor of the MariaDB Foundation
|
Virtuozzo https://virtuozzo.com Bronze Sponsor of the MariaDB Foundation
|
||||||
Tencent Game DBA http://tencentdba.com/about Bronze Sponsor of the MariaDB Foundation
|
Tencent Game DBA http://tencentdba.com/about Bronze Sponsor of the MariaDB Foundation
|
||||||
|
@ -578,6 +578,17 @@ SELECT NAME_CONST('a', -(1)) OR 1;
|
|||||||
NAME_CONST('a', -(1)) OR 1
|
NAME_CONST('a', -(1)) OR 1
|
||||||
1
|
1
|
||||||
#
|
#
|
||||||
|
# MDEV-15630 uuid() function evaluates at wrong time in query
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (id INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
SELECT COUNT(1), UUID() as uid FROM t1 GROUP BY uid;
|
||||||
|
COUNT(1) uid
|
||||||
|
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||||
|
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||||
|
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# End of 5.5 tests
|
# End of 5.5 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -4568,6 +4568,43 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select char(0xdf) AS `CHAR(0xDF)`
|
Note 1003 select char(0xdf) AS `CHAR(0xDF)`
|
||||||
#
|
#
|
||||||
|
# MDEV-15619 using CONVERT() inside AES_ENCRYPT() in an UPDATE corrupts data
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL,
|
||||||
|
session_id varchar(255) DEFAULT NULL,
|
||||||
|
directory mediumtext,
|
||||||
|
checksum int(10) DEFAULT NULL,
|
||||||
|
last_update datetime DEFAULT NULL,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
KEY lastupdate (last_update)
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,'',NULL,38391,'2017-06-24 07:35:28');
|
||||||
|
UPDATE t1 SET directory = AES_ENCRYPT(CONVERT('test stringrererejrjerjehrjekhrjkehrjkehrkjehrjkerhkjehrjekrhkjehrkjerhjkehrkjehrkjehrjkehrjkehrjkehrjkerjkehrjkehrjkehrjke rekjhrejrejhrjehgrehjgrhjerjhegrjherejhgrjhegrjehgrjhegrejhrgjehgrjhegrjhegrjhergjhegrjhegrhjegrjerhthkjjkdhjkgdfjkgjkdgdjkfjkhgjkfdhjgjkfdghkjdfghkjfdghfjkdghkdjfghdkjfghfjkdghfkjdghkjfdghfkjdghfkdjghfkjdghfdjkghjkdfhgdfjkghfjkdghfjkdghfjdkghfjkdghkfjdghfkjdghfkjdghkjdfghfjdkghjkfdghkjdfhgjkdfhgjkfdhgkjfdghkfjdhgkjfdgdjkejktjherjthkjrethkjrethjkerthjkerhtjkerhtkjerhtjkerhtjkerhtjkrehtkjerhtkjrehtjkrehtkjrehtkjerhtkjerhtjkrehtkjrehtjkrehtkjrethjkrethkjrehtkjethjkerhtjkrehtjkretkjerhtkjrehtjkerhtjkrehtjrehtkjrekjtrfgdsfgdhjsghjgfdhjsfhjdfgdhjshjdshjfghjdsfgjhsfgjhsdfgjhdsfgjdhsfgsjhfgjhsdfgsdjhfgjdhsfdjshfgdsjhfgjsdhfdjshfgdjhsfgdjshfgjdhsfgjhsdfgjhsdgfjhsdgfjhdsgfjhsgfjhsdgfjhdsgfhjsdehkjthrkjethjkre' USING latin1), '95F5A1F52A554'), last_update= NOW();
|
||||||
|
SELECT directory IS NULL FROM t1;
|
||||||
|
directory IS NULL
|
||||||
|
0
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL PRIMARY KEY,
|
||||||
|
directory mediumtext
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,AES_ENCRYPT(CONVERT(REPEAT('a',800) USING latin1),'95F5A1F52A554'));
|
||||||
|
SELECT AES_DECRYPT(directory,'95F5A1F52A554') FROM t1;
|
||||||
|
AES_DECRYPT(directory,'95F5A1F52A554')
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET @enc=AES_ENCRYPT(REPEAT(_latin1'a',800),'95F5A1F52A554');
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL PRIMARY KEY,
|
||||||
|
directory mediumtext
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,AES_DECRYPT(CONVERT(@enc USING binary),'95F5A1F52A554'));
|
||||||
|
SELECT * FROM t1;
|
||||||
|
id directory
|
||||||
|
1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# Start of 10.1 tests
|
# Start of 10.1 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -673,6 +673,13 @@ PREPARE stmt FROM 'CREATE TRIGGER tr AFTER DELETE ON t1 FOR EACH ROW SET @a = 1\
|
|||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\' at line 1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-15620 Crash when using "SET @@NEW.a=expr" inside a trigger
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @@NEW.a=0;
|
||||||
|
ERROR HY000: Unknown system variable 'NEW'
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# MDEV-7792 - SQL Parsing Error - UNION AND ORDER BY WITH JOIN
|
# MDEV-7792 - SQL Parsing Error - UNION AND ORDER BY WITH JOIN
|
||||||
#
|
#
|
||||||
CREATE TABLE t1(a INT);
|
CREATE TABLE t1(a INT);
|
||||||
|
@ -3,4 +3,4 @@ MySQL error code 1062 (ER_DUP_ENTRY): Duplicate entry '%-.192s' for key %d
|
|||||||
MySQL error code 1408 (ER_STARTUP): %s: ready for connections.
|
MySQL error code 1408 (ER_STARTUP): %s: ready for connections.
|
||||||
Version: '%s' socket: '%s' port: %d %s
|
Version: '%s' socket: '%s' port: %d %s
|
||||||
MySQL error code 1459 (ER_TABLE_NEEDS_UPGRADE): Upgrade required. Please do "REPAIR %s %`s" or dump/reload to fix it!
|
MySQL error code 1459 (ER_TABLE_NEEDS_UPGRADE): Upgrade required. Please do "REPAIR %s %`s" or dump/reload to fix it!
|
||||||
MySQL error code 1461 (ER_MAX_PREPARED_STMT_COUNT_REACHED): Can't create more than max_prepared_stmt_count statements (current value: %lu)
|
MySQL error code 1461 (ER_MAX_PREPARED_STMT_COUNT_REACHED): Can't create more than max_prepared_stmt_count statements (current value: %u)
|
||||||
|
@ -821,7 +821,7 @@ Warnings:
|
|||||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '10000000000000000'
|
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '10000000000000000'
|
||||||
select @@max_prepared_stmt_count;
|
select @@max_prepared_stmt_count;
|
||||||
@@max_prepared_stmt_count
|
@@max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
set global max_prepared_stmt_count=default;
|
set global max_prepared_stmt_count=default;
|
||||||
select @@max_prepared_stmt_count;
|
select @@max_prepared_stmt_count;
|
||||||
@@max_prepared_stmt_count
|
@@max_prepared_stmt_count
|
||||||
|
@ -1664,6 +1664,24 @@ db_name table_name column_name HEX(min_value) HEX(max_value) nulls_ratio avg_fre
|
|||||||
test t1 a D879626AF872675F73E662F8 D879626AF872675F73E662F8 0.0000 1.0000 0 NULL NULL
|
test t1 a D879626AF872675F73E662F8 D879626AF872675F73E662F8 0.0000 1.0000 0 NULL NULL
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
#
|
||||||
|
# MDEB-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
|
||||||
|
# Encountered illegal value '' when converting to DECIMAL
|
||||||
|
#
|
||||||
|
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
|
||||||
|
set optimizer_use_condition_selectivity=3, use_stat_tables=preferably;
|
||||||
|
create table t1 (id int(10),cost decimal(9,2)) engine=innodb;
|
||||||
|
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 analyze status Engine-independent statistics collected
|
||||||
|
test.t1 analyze status OK
|
||||||
|
create temporary table t2 (id int);
|
||||||
|
insert into t2 (id) select id from t1 where cost > 0;
|
||||||
|
select * from t2;
|
||||||
|
id
|
||||||
|
set use_stat_tables=@save_use_stat_tables;
|
||||||
|
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||||
|
drop table t1,t2;
|
||||||
|
#
|
||||||
# MDEV-9590: Always print "Engine-independent statistic" warnings and
|
# MDEV-9590: Always print "Engine-independent statistic" warnings and
|
||||||
# might be filtering columns unintentionally from engines
|
# might be filtering columns unintentionally from engines
|
||||||
#
|
#
|
||||||
|
@ -5568,6 +5568,203 @@ View Create View character_set_client collation_connection
|
|||||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select group_concat(`t1`.`str` separator '\\') AS `GROUP_CONCAT(str SEPARATOR '\\')` from `t1` latin1 latin1_swedish_ci
|
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select group_concat(`t1`.`str` separator '\\') AS `GROUP_CONCAT(str SEPARATOR '\\')` from `t1` latin1 latin1_swedish_ci
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE IF NOT EXISTS t0 (f0 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t1 (f1 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t2 (f2 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t3 (f3 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t4 (f4 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t5 (f5 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t6 (f6 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t7 (f7 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t8 (f8 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t9 (f9 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t10 (f10 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t11 (f11 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t12 (f12 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t13 (f13 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t14 (f14 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t15 (f15 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t16 (f16 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t17 (f17 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t18 (f18 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t19 (f19 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t20 (f20 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t21 (f21 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t22 (f22 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t23 (f23 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t24 (f24 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t25 (f25 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t26 (f26 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t27 (f27 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t28 (f28 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t29 (f29 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t30 (f30 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t31 (f31 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t32 (f32 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t33 (f33 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t34 (f34 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t35 (f35 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t36 (f36 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t37 (f37 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t38 (f38 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t39 (f39 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t40 (f40 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t41 (f41 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t42 (f42 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t43 (f43 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t44 (f44 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t45 (f45 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t46 (f46 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t47 (f47 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t48 (f48 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t49 (f49 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t50 (f50 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t51 (f51 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t52 (f52 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t53 (f53 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t54 (f54 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t55 (f55 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t56 (f56 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t57 (f57 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t58 (f58 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t59 (f59 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t60 (f60 INT);
|
||||||
|
CREATE OR REPLACE VIEW v60 AS SELECT * FROM t60;
|
||||||
|
EXPLAIN
|
||||||
|
SELECT t0.*
|
||||||
|
FROM t0
|
||||||
|
JOIN t1
|
||||||
|
ON t1.f1 = t0.f0
|
||||||
|
LEFT JOIN t2
|
||||||
|
ON t0.f0 = t2.f2
|
||||||
|
LEFT JOIN t3
|
||||||
|
ON t0.f0 = t3.f3
|
||||||
|
LEFT JOIN t4
|
||||||
|
ON t0.f0 = t4.f4
|
||||||
|
LEFT JOIN t5
|
||||||
|
ON t4.f4 = t5.f5
|
||||||
|
LEFT JOIN t6
|
||||||
|
ON t0.f0 = t6.f6
|
||||||
|
LEFT JOIN t7
|
||||||
|
ON t0.f0 = t7.f7
|
||||||
|
LEFT JOIN t8
|
||||||
|
ON t0.f0 = t8.f8
|
||||||
|
LEFT JOIN t9
|
||||||
|
ON t0.f0 = t9.f9
|
||||||
|
LEFT JOIN t10
|
||||||
|
ON t0.f0 = t10.f10
|
||||||
|
LEFT JOIN t11
|
||||||
|
ON t0.f0 = t11.f11
|
||||||
|
LEFT JOIN t12
|
||||||
|
ON t0.f0 = t12.f12
|
||||||
|
LEFT JOIN t13
|
||||||
|
ON t0.f0 = t13.f13
|
||||||
|
LEFT JOIN t14
|
||||||
|
ON t0.f0 = t14.f14
|
||||||
|
LEFT JOIN t15
|
||||||
|
ON t0.f0 = t15.f15
|
||||||
|
LEFT JOIN t16
|
||||||
|
ON t0.f0 = t16.f16
|
||||||
|
LEFT JOIN t17
|
||||||
|
ON t0.f0 = t17.f17
|
||||||
|
LEFT JOIN t18
|
||||||
|
ON t0.f0 = t18.f18
|
||||||
|
LEFT JOIN t19
|
||||||
|
ON t18.f18 = t19.f19
|
||||||
|
LEFT JOIN t20
|
||||||
|
ON t20.f20 = t19.f19
|
||||||
|
LEFT JOIN t21
|
||||||
|
ON t20.f20 = t21.f21
|
||||||
|
LEFT JOIN t22
|
||||||
|
ON t19.f19 = t22.f22
|
||||||
|
LEFT JOIN t23
|
||||||
|
ON t23.f23 = t0.f0
|
||||||
|
LEFT JOIN t24
|
||||||
|
ON t24.f24 = t23.f23
|
||||||
|
LEFT JOIN t25
|
||||||
|
ON t0.f0 = t25.f25
|
||||||
|
LEFT JOIN t26
|
||||||
|
ON t26.f26 = t0.f0
|
||||||
|
LEFT JOIN t27
|
||||||
|
ON t27.f27 = t0.f0
|
||||||
|
LEFT JOIN t28
|
||||||
|
ON t0.f0 = t28.f28
|
||||||
|
LEFT JOIN t29
|
||||||
|
ON t0.f0 = t29.f29
|
||||||
|
LEFT JOIN t30
|
||||||
|
ON t30.f30 = t0.f0
|
||||||
|
LEFT JOIN t31
|
||||||
|
ON t0.f0 = t31.f31
|
||||||
|
LEFT JOIN t32
|
||||||
|
ON t32.f32 = t31.f31
|
||||||
|
LEFT JOIN t33
|
||||||
|
ON t33.f33 = t0.f0
|
||||||
|
LEFT JOIN t34
|
||||||
|
ON t33.f33 = t34.f34
|
||||||
|
LEFT JOIN t35
|
||||||
|
ON t33.f33 = t35.f35
|
||||||
|
LEFT JOIN t36
|
||||||
|
ON t36.f36 = t0.f0
|
||||||
|
LEFT JOIN t37
|
||||||
|
ON t32.f32 = t37.f37
|
||||||
|
LEFT JOIN t38
|
||||||
|
ON t31.f31 = t38.f38
|
||||||
|
LEFT JOIN t39
|
||||||
|
ON t39.f39 = t0.f0
|
||||||
|
LEFT JOIN t40
|
||||||
|
ON t40.f40 = t39.f39
|
||||||
|
LEFT JOIN t41
|
||||||
|
ON t41.f41 = t0.f0
|
||||||
|
LEFT JOIN t42
|
||||||
|
ON t42.f42 = t41.f41
|
||||||
|
LEFT JOIN t43
|
||||||
|
ON t43.f43 = t41.f41
|
||||||
|
LEFT JOIN t44
|
||||||
|
ON t44.f44 = t0.f0
|
||||||
|
LEFT JOIN t45
|
||||||
|
ON t45.f45 = t0.f0
|
||||||
|
LEFT JOIN t46
|
||||||
|
ON t46.f46 = t0.f0
|
||||||
|
LEFT JOIN t47
|
||||||
|
ON t47.f47 = t0.f0
|
||||||
|
LEFT JOIN t48
|
||||||
|
ON t48.f48 = t0.f0
|
||||||
|
LEFT JOIN t49
|
||||||
|
ON t0.f0 = t49.f49
|
||||||
|
LEFT JOIN t50
|
||||||
|
ON t0.f0 = t50.f50
|
||||||
|
LEFT JOIN t51
|
||||||
|
ON t0.f0 = t51.f51
|
||||||
|
LEFT JOIN t52
|
||||||
|
ON t52.f52 = t0.f0
|
||||||
|
LEFT JOIN t53
|
||||||
|
ON t53.f53 = t0.f0
|
||||||
|
LEFT JOIN t54
|
||||||
|
ON t54.f54 = t0.f0
|
||||||
|
LEFT JOIN t55
|
||||||
|
ON t55.f55 = t0.f0
|
||||||
|
LEFT JOIN t56
|
||||||
|
ON t56.f56 = t0.f0
|
||||||
|
LEFT JOIN t57
|
||||||
|
ON t57.f57 = t0.f0
|
||||||
|
LEFT JOIN t58
|
||||||
|
ON t58.f58 = t57.f57
|
||||||
|
LEFT JOIN t59
|
||||||
|
ON t36.f36 = t59.f59
|
||||||
|
LEFT JOIN v60
|
||||||
|
ON t36.f36 = v60.f60
|
||||||
|
;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
|
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||||
|
drop table t0, t1, t2, t3, t4, t5, t6, t7, t8, t9,
|
||||||
|
t10, t11, t12, t13, t14, t15, t16, t17, t18,
|
||||||
|
t19, t20, t21, t22, t23, t24, t25, t26, t27,
|
||||||
|
t28, t29, t30, t31, t32, t33, t34, t35, t36,
|
||||||
|
t37, t38, t39, t40, t41, t42, t43, t44, t45,
|
||||||
|
t46, t47, t48, t49, t50, t51, t52, t53, t54,
|
||||||
|
t55, t56, t57, t58, t59,t60;
|
||||||
|
drop view v60;
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
# -- End of 5.5 tests.
|
# -- End of 5.5 tests.
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
@ -46,40 +46,40 @@ Warnings:
|
|||||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '100000000000'
|
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '100000000000'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
SET @@global.max_prepared_stmt_count = 10000.01;
|
SET @@global.max_prepared_stmt_count = 10000.01;
|
||||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
SET @@global.max_prepared_stmt_count = -1024;
|
SET @@global.max_prepared_stmt_count = -1024;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '-1024'
|
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '-1024'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
0
|
0
|
||||||
SET @@global.max_prepared_stmt_count = 1048577;
|
SET @@global.max_prepared_stmt_count = 4294967296;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '1048577'
|
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4294967296'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
SET @@global.max_prepared_stmt_count = 104857612;
|
SET @@global.max_prepared_stmt_count = 4294967295*1024;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '104857612'
|
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4398046510080'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
SET @@global.max_prepared_stmt_count = ON;
|
SET @@global.max_prepared_stmt_count = ON;
|
||||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
SET @@global.max_prepared_stmt_count = 'test';
|
SET @@global.max_prepared_stmt_count = 'test';
|
||||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
@@global.max_prepared_stmt_count
|
@@global.max_prepared_stmt_count
|
||||||
1048576
|
4294967295
|
||||||
'#-------------------FN_DYNVARS_081_05----------------------------#'
|
'#-------------------FN_DYNVARS_081_05----------------------------#'
|
||||||
SET @@session.max_prepared_stmt_count = 4096;
|
SET @@session.max_prepared_stmt_count = 4096;
|
||||||
ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL
|
ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL
|
||||||
|
@ -1975,10 +1975,10 @@ GLOBAL_VALUE 16382
|
|||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16382
|
DEFAULT_VALUE 16382
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE BIGINT UNSIGNED
|
VARIABLE_TYPE INT UNSIGNED
|
||||||
VARIABLE_COMMENT Maximum number of prepared statements in the server
|
VARIABLE_COMMENT Maximum number of prepared statements in the server
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1048576
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
NUMERIC_BLOCK_SIZE 1
|
NUMERIC_BLOCK_SIZE 1
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
|
@ -2157,10 +2157,10 @@ GLOBAL_VALUE 16382
|
|||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16382
|
DEFAULT_VALUE 16382
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE BIGINT UNSIGNED
|
VARIABLE_TYPE INT UNSIGNED
|
||||||
VARIABLE_COMMENT Maximum number of prepared statements in the server
|
VARIABLE_COMMENT Maximum number of prepared statements in the server
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1048576
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
NUMERIC_BLOCK_SIZE 1
|
NUMERIC_BLOCK_SIZE 1
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
|
@ -92,9 +92,9 @@ SET @@global.max_prepared_stmt_count = 10000.01;
|
|||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
SET @@global.max_prepared_stmt_count = -1024;
|
SET @@global.max_prepared_stmt_count = -1024;
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
SET @@global.max_prepared_stmt_count = 1048577;
|
SET @@global.max_prepared_stmt_count = 4294967296;
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
SET @@global.max_prepared_stmt_count = 104857612;
|
SET @@global.max_prepared_stmt_count = 4294967295*1024;
|
||||||
SELECT @@global.max_prepared_stmt_count;
|
SELECT @@global.max_prepared_stmt_count;
|
||||||
|
|
||||||
--Error ER_WRONG_TYPE_FOR_VAR
|
--Error ER_WRONG_TYPE_FOR_VAR
|
||||||
|
@ -606,6 +606,17 @@ SELECT NAME_CONST('a', -(1 OR 2)) OR 1;
|
|||||||
SELECT NAME_CONST('a', -(1 AND 2)) OR 1;
|
SELECT NAME_CONST('a', -(1 AND 2)) OR 1;
|
||||||
SELECT NAME_CONST('a', -(1)) OR 1;
|
SELECT NAME_CONST('a', -(1)) OR 1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-15630 uuid() function evaluates at wrong time in query
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (id INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
--replace_column 2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||||
|
SELECT COUNT(1), UUID() as uid FROM t1 GROUP BY uid;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 5.5 tests
|
--echo # End of 5.5 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -1768,6 +1768,41 @@ EXPLAIN EXTENDED SELECT CHAR(0xDF USING latin1);
|
|||||||
EXPLAIN EXTENDED SELECT CHAR(0xDF USING `binary`);
|
EXPLAIN EXTENDED SELECT CHAR(0xDF USING `binary`);
|
||||||
EXPLAIN EXTENDED SELECT CHAR(0xDF);
|
EXPLAIN EXTENDED SELECT CHAR(0xDF);
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-15619 using CONVERT() inside AES_ENCRYPT() in an UPDATE corrupts data
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL,
|
||||||
|
session_id varchar(255) DEFAULT NULL,
|
||||||
|
directory mediumtext,
|
||||||
|
checksum int(10) DEFAULT NULL,
|
||||||
|
last_update datetime DEFAULT NULL,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
KEY lastupdate (last_update)
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,'',NULL,38391,'2017-06-24 07:35:28');
|
||||||
|
UPDATE t1 SET directory = AES_ENCRYPT(CONVERT('test stringrererejrjerjehrjekhrjkehrjkehrkjehrjkerhkjehrjekrhkjehrkjerhjkehrkjehrkjehrjkehrjkehrjkehrjkerjkehrjkehrjkehrjke rekjhrejrejhrjehgrehjgrhjerjhegrjherejhgrjhegrjehgrjhegrejhrgjehgrjhegrjhegrjhergjhegrjhegrhjegrjerhthkjjkdhjkgdfjkgjkdgdjkfjkhgjkfdhjgjkfdghkjdfghkjfdghfjkdghkdjfghdkjfghfjkdghfkjdghkjfdghfkjdghfkdjghfkjdghfdjkghjkdfhgdfjkghfjkdghfjkdghfjdkghfjkdghkfjdghfkjdghfkjdghkjdfghfjdkghjkfdghkjdfhgjkdfhgjkfdhgkjfdghkfjdhgkjfdgdjkejktjherjthkjrethkjrethjkerthjkerhtjkerhtkjerhtjkerhtjkerhtjkrehtkjerhtkjrehtjkrehtkjrehtkjerhtkjerhtjkrehtkjrehtjkrehtkjrethjkrethkjrehtkjethjkerhtjkrehtjkretkjerhtkjrehtjkerhtjkrehtjrehtkjrekjtrfgdsfgdhjsghjgfdhjsfhjdfgdhjshjdshjfghjdsfgjhsfgjhsdfgjhdsfgjdhsfgsjhfgjhsdfgsdjhfgjdhsfdjshfgdsjhfgjsdhfdjshfgdjhsfgdjshfgjdhsfgjhsdfgjhsdgfjhsdgfjhdsgfjhsgfjhsdgfjhdsgfhjsdehkjthrkjethjkre' USING latin1), '95F5A1F52A554'), last_update= NOW();
|
||||||
|
SELECT directory IS NULL FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL PRIMARY KEY,
|
||||||
|
directory mediumtext
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,AES_ENCRYPT(CONVERT(REPEAT('a',800) USING latin1),'95F5A1F52A554'));
|
||||||
|
SELECT AES_DECRYPT(directory,'95F5A1F52A554') FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET @enc=AES_ENCRYPT(REPEAT(_latin1'a',800),'95F5A1F52A554');
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
id int(11) NOT NULL PRIMARY KEY,
|
||||||
|
directory mediumtext
|
||||||
|
) DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES (1,AES_DECRYPT(CONVERT(@enc USING binary),'95F5A1F52A554'));
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Start of 10.1 tests
|
--echo # Start of 10.1 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -781,6 +781,15 @@ CREATE TRIGGER tr AFTER DELETE ON t1 FOR EACH ROW SET @a = 1\;
|
|||||||
PREPARE stmt FROM 'CREATE TRIGGER tr AFTER DELETE ON t1 FOR EACH ROW SET @a = 1\\';
|
PREPARE stmt FROM 'CREATE TRIGGER tr AFTER DELETE ON t1 FOR EACH ROW SET @a = 1\\';
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-15620 Crash when using "SET @@NEW.a=expr" inside a trigger
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
--error ER_UNKNOWN_SYSTEM_VARIABLE
|
||||||
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @@NEW.a=0;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# start of 10.1 tests
|
# start of 10.1 tests
|
||||||
#
|
#
|
||||||
|
@ -729,6 +729,25 @@ select db_name, table_name, column_name,
|
|||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEB-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
|
||||||
|
--echo # Encountered illegal value '' when converting to DECIMAL
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
|
||||||
|
set optimizer_use_condition_selectivity=3, use_stat_tables=preferably;
|
||||||
|
|
||||||
|
create table t1 (id int(10),cost decimal(9,2)) engine=innodb;
|
||||||
|
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||||
|
|
||||||
|
create temporary table t2 (id int);
|
||||||
|
insert into t2 (id) select id from t1 where cost > 0;
|
||||||
|
select * from t2;
|
||||||
|
|
||||||
|
set use_stat_tables=@save_use_stat_tables;
|
||||||
|
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||||
|
drop table t1,t2;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-9590: Always print "Engine-independent statistic" warnings and
|
--echo # MDEV-9590: Always print "Engine-independent statistic" warnings and
|
||||||
--echo # might be filtering columns unintentionally from engines
|
--echo # might be filtering columns unintentionally from engines
|
||||||
|
@ -5491,6 +5491,202 @@ SHOW CREATE VIEW v1;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS t0 (f0 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t1 (f1 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t2 (f2 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t3 (f3 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t4 (f4 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t5 (f5 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t6 (f6 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t7 (f7 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t8 (f8 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t9 (f9 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t10 (f10 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t11 (f11 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t12 (f12 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t13 (f13 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t14 (f14 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t15 (f15 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t16 (f16 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t17 (f17 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t18 (f18 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t19 (f19 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t20 (f20 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t21 (f21 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t22 (f22 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t23 (f23 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t24 (f24 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t25 (f25 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t26 (f26 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t27 (f27 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t28 (f28 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t29 (f29 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t30 (f30 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t31 (f31 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t32 (f32 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t33 (f33 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t34 (f34 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t35 (f35 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t36 (f36 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t37 (f37 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t38 (f38 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t39 (f39 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t40 (f40 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t41 (f41 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t42 (f42 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t43 (f43 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t44 (f44 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t45 (f45 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t46 (f46 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t47 (f47 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t48 (f48 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t49 (f49 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t50 (f50 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t51 (f51 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t52 (f52 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t53 (f53 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t54 (f54 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t55 (f55 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t56 (f56 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t57 (f57 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t58 (f58 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t59 (f59 INT);
|
||||||
|
CREATE TABLE IF NOT EXISTS t60 (f60 INT);
|
||||||
|
CREATE OR REPLACE VIEW v60 AS SELECT * FROM t60;
|
||||||
|
|
||||||
|
EXPLAIN
|
||||||
|
SELECT t0.*
|
||||||
|
FROM t0
|
||||||
|
JOIN t1
|
||||||
|
ON t1.f1 = t0.f0
|
||||||
|
LEFT JOIN t2
|
||||||
|
ON t0.f0 = t2.f2
|
||||||
|
LEFT JOIN t3
|
||||||
|
ON t0.f0 = t3.f3
|
||||||
|
LEFT JOIN t4
|
||||||
|
ON t0.f0 = t4.f4
|
||||||
|
LEFT JOIN t5
|
||||||
|
ON t4.f4 = t5.f5
|
||||||
|
LEFT JOIN t6
|
||||||
|
ON t0.f0 = t6.f6
|
||||||
|
LEFT JOIN t7
|
||||||
|
ON t0.f0 = t7.f7
|
||||||
|
LEFT JOIN t8
|
||||||
|
ON t0.f0 = t8.f8
|
||||||
|
LEFT JOIN t9
|
||||||
|
ON t0.f0 = t9.f9
|
||||||
|
LEFT JOIN t10
|
||||||
|
ON t0.f0 = t10.f10
|
||||||
|
LEFT JOIN t11
|
||||||
|
ON t0.f0 = t11.f11
|
||||||
|
LEFT JOIN t12
|
||||||
|
ON t0.f0 = t12.f12
|
||||||
|
LEFT JOIN t13
|
||||||
|
ON t0.f0 = t13.f13
|
||||||
|
LEFT JOIN t14
|
||||||
|
ON t0.f0 = t14.f14
|
||||||
|
LEFT JOIN t15
|
||||||
|
ON t0.f0 = t15.f15
|
||||||
|
LEFT JOIN t16
|
||||||
|
ON t0.f0 = t16.f16
|
||||||
|
LEFT JOIN t17
|
||||||
|
ON t0.f0 = t17.f17
|
||||||
|
LEFT JOIN t18
|
||||||
|
ON t0.f0 = t18.f18
|
||||||
|
LEFT JOIN t19
|
||||||
|
ON t18.f18 = t19.f19
|
||||||
|
LEFT JOIN t20
|
||||||
|
ON t20.f20 = t19.f19
|
||||||
|
LEFT JOIN t21
|
||||||
|
ON t20.f20 = t21.f21
|
||||||
|
LEFT JOIN t22
|
||||||
|
ON t19.f19 = t22.f22
|
||||||
|
LEFT JOIN t23
|
||||||
|
ON t23.f23 = t0.f0
|
||||||
|
LEFT JOIN t24
|
||||||
|
ON t24.f24 = t23.f23
|
||||||
|
LEFT JOIN t25
|
||||||
|
ON t0.f0 = t25.f25
|
||||||
|
LEFT JOIN t26
|
||||||
|
ON t26.f26 = t0.f0
|
||||||
|
LEFT JOIN t27
|
||||||
|
ON t27.f27 = t0.f0
|
||||||
|
LEFT JOIN t28
|
||||||
|
ON t0.f0 = t28.f28
|
||||||
|
LEFT JOIN t29
|
||||||
|
ON t0.f0 = t29.f29
|
||||||
|
LEFT JOIN t30
|
||||||
|
ON t30.f30 = t0.f0
|
||||||
|
LEFT JOIN t31
|
||||||
|
ON t0.f0 = t31.f31
|
||||||
|
LEFT JOIN t32
|
||||||
|
ON t32.f32 = t31.f31
|
||||||
|
LEFT JOIN t33
|
||||||
|
ON t33.f33 = t0.f0
|
||||||
|
LEFT JOIN t34
|
||||||
|
ON t33.f33 = t34.f34
|
||||||
|
LEFT JOIN t35
|
||||||
|
ON t33.f33 = t35.f35
|
||||||
|
LEFT JOIN t36
|
||||||
|
ON t36.f36 = t0.f0
|
||||||
|
LEFT JOIN t37
|
||||||
|
ON t32.f32 = t37.f37
|
||||||
|
LEFT JOIN t38
|
||||||
|
ON t31.f31 = t38.f38
|
||||||
|
LEFT JOIN t39
|
||||||
|
ON t39.f39 = t0.f0
|
||||||
|
LEFT JOIN t40
|
||||||
|
ON t40.f40 = t39.f39
|
||||||
|
LEFT JOIN t41
|
||||||
|
ON t41.f41 = t0.f0
|
||||||
|
LEFT JOIN t42
|
||||||
|
ON t42.f42 = t41.f41
|
||||||
|
LEFT JOIN t43
|
||||||
|
ON t43.f43 = t41.f41
|
||||||
|
LEFT JOIN t44
|
||||||
|
ON t44.f44 = t0.f0
|
||||||
|
LEFT JOIN t45
|
||||||
|
ON t45.f45 = t0.f0
|
||||||
|
LEFT JOIN t46
|
||||||
|
ON t46.f46 = t0.f0
|
||||||
|
LEFT JOIN t47
|
||||||
|
ON t47.f47 = t0.f0
|
||||||
|
LEFT JOIN t48
|
||||||
|
ON t48.f48 = t0.f0
|
||||||
|
LEFT JOIN t49
|
||||||
|
ON t0.f0 = t49.f49
|
||||||
|
LEFT JOIN t50
|
||||||
|
ON t0.f0 = t50.f50
|
||||||
|
LEFT JOIN t51
|
||||||
|
ON t0.f0 = t51.f51
|
||||||
|
LEFT JOIN t52
|
||||||
|
ON t52.f52 = t0.f0
|
||||||
|
LEFT JOIN t53
|
||||||
|
ON t53.f53 = t0.f0
|
||||||
|
LEFT JOIN t54
|
||||||
|
ON t54.f54 = t0.f0
|
||||||
|
LEFT JOIN t55
|
||||||
|
ON t55.f55 = t0.f0
|
||||||
|
LEFT JOIN t56
|
||||||
|
ON t56.f56 = t0.f0
|
||||||
|
LEFT JOIN t57
|
||||||
|
ON t57.f57 = t0.f0
|
||||||
|
LEFT JOIN t58
|
||||||
|
ON t58.f58 = t57.f57
|
||||||
|
LEFT JOIN t59
|
||||||
|
ON t36.f36 = t59.f59
|
||||||
|
LEFT JOIN v60
|
||||||
|
ON t36.f36 = v60.f60
|
||||||
|
;
|
||||||
|
drop table t0, t1, t2, t3, t4, t5, t6, t7, t8, t9,
|
||||||
|
t10, t11, t12, t13, t14, t15, t16, t17, t18,
|
||||||
|
t19, t20, t21, t22, t23, t24, t25, t26, t27,
|
||||||
|
t28, t29, t30, t31, t32, t33, t34, t35, t36,
|
||||||
|
t37, t38, t39, t40, t41, t42, t43, t44, t45,
|
||||||
|
t46, t47, t48, t49, t50, t51, t52, t53, t54,
|
||||||
|
t55, t56, t57, t58, t59,t60;
|
||||||
|
drop view v60;
|
||||||
|
|
||||||
--echo # -----------------------------------------------------------------
|
--echo # -----------------------------------------------------------------
|
||||||
--echo # -- End of 5.5 tests.
|
--echo # -- End of 5.5 tests.
|
||||||
--echo # -----------------------------------------------------------------
|
--echo # -----------------------------------------------------------------
|
||||||
|
@ -214,7 +214,7 @@ int my_addr_resolve(void *ptr, my_addr_loc *loc)
|
|||||||
strnmov(addr2line_binary, info.dli_fname, sizeof(addr2line_binary));
|
strnmov(addr2line_binary, info.dli_fname, sizeof(addr2line_binary));
|
||||||
}
|
}
|
||||||
offset = info.dli_fbase;
|
offset = info.dli_fbase;
|
||||||
len= my_snprintf(input, sizeof(input), "%p\n", ptr - offset);
|
len= my_snprintf(input, sizeof(input), "%08x\n", (ulonglong)(ptr - offset));
|
||||||
if (write(in[1], input, len) <= 0)
|
if (write(in[1], input, len) <= 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -2512,10 +2512,10 @@ static int send_client_reply_packet(MCPVIO_EXT *mpvio,
|
|||||||
if (mysql->client_flag & CLIENT_MULTI_STATEMENTS)
|
if (mysql->client_flag & CLIENT_MULTI_STATEMENTS)
|
||||||
mysql->client_flag|= CLIENT_MULTI_RESULTS;
|
mysql->client_flag|= CLIENT_MULTI_RESULTS;
|
||||||
|
|
||||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
#ifdef HAVE_OPENSSL
|
||||||
if (mysql->options.use_ssl)
|
if (mysql->options.use_ssl)
|
||||||
mysql->client_flag|= CLIENT_SSL;
|
mysql->client_flag|= CLIENT_SSL;
|
||||||
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY*/
|
#endif /* HAVE_OPENSSL */
|
||||||
|
|
||||||
if (mpvio->db)
|
if (mpvio->db)
|
||||||
mysql->client_flag|= CLIENT_CONNECT_WITH_DB;
|
mysql->client_flag|= CLIENT_CONNECT_WITH_DB;
|
||||||
|
@ -41,13 +41,12 @@ struct show_table_contributors_st show_table_contributors[]= {
|
|||||||
{"Alibaba Cloud", "https://www.alibabacloud.com/", "Platinum Sponsor of the MariaDB Foundation"},
|
{"Alibaba Cloud", "https://www.alibabacloud.com/", "Platinum Sponsor of the MariaDB Foundation"},
|
||||||
{"Tencent Cloud", "https://cloud.tencent.com", "Platinum Sponsor of the MariaDB Foundation"},
|
{"Tencent Cloud", "https://cloud.tencent.com", "Platinum Sponsor of the MariaDB Foundation"},
|
||||||
{"Microsoft", "https://microsoft.com/", "Platinum Sponsor of the MariaDB Foundation"},
|
{"Microsoft", "https://microsoft.com/", "Platinum Sponsor of the MariaDB Foundation"},
|
||||||
{"MariaDB Corporation", "https://mariadb.com", "Founding member, Gold Sponsor of the MariaDB Foundation"},
|
{"MariaDB Corporation", "https://mariadb.com", "Founding member, Platinum Sponsor of the MariaDB Foundation"},
|
||||||
{"Visma", "https://visma.com", "Gold Sponsor of the MariaDB Foundation"},
|
{"Visma", "https://visma.com", "Gold Sponsor of the MariaDB Foundation"},
|
||||||
{"DBS", "https://dbs.com", "Gold Sponsor of the MariaDB Foundation"},
|
{"DBS", "https://dbs.com", "Gold Sponsor of the MariaDB Foundation"},
|
||||||
{"IBM", "https://www.ibm.com", "Gold Sponsor of the MariaDB Foundation"},
|
{"IBM", "https://www.ibm.com", "Gold Sponsor of the MariaDB Foundation"},
|
||||||
{"Nexedi", "https://www.nexedi.com", "Silver Sponsor of the MariaDB Foundation"},
|
{"Nexedi", "https://www.nexedi.com", "Silver Sponsor of the MariaDB Foundation"},
|
||||||
{"Acronis", "http://www.acronis.com", "Silver Sponsor of the MariaDB Foundation"},
|
{"Acronis", "http://www.acronis.com", "Silver Sponsor of the MariaDB Foundation"},
|
||||||
{"Auttomattic", "https://automattic.com", "Bronze Sponsor of the MariaDB Foundation"},
|
|
||||||
{"Verkkokauppa.com", "https://www.verkkokauppa.com", "Bronze Sponsor of the MariaDB Foundation"},
|
{"Verkkokauppa.com", "https://www.verkkokauppa.com", "Bronze Sponsor of the MariaDB Foundation"},
|
||||||
{"Virtuozzo", "https://virtuozzo.com", "Bronze Sponsor of the MariaDB Foundation"},
|
{"Virtuozzo", "https://virtuozzo.com", "Bronze Sponsor of the MariaDB Foundation"},
|
||||||
{"Tencent Game DBA", "http://tencentdba.com/about", "Bronze Sponsor of the MariaDB Foundation"},
|
{"Tencent Game DBA", "http://tencentdba.com/about", "Bronze Sponsor of the MariaDB Foundation"},
|
||||||
|
@ -318,7 +318,7 @@ String *Item_aes_crypt::val_str(String *str2)
|
|||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
StringBuffer<80> user_key_buf;
|
StringBuffer<80> user_key_buf;
|
||||||
String *sptr= args[0]->val_str(&str_value);
|
String *sptr= args[0]->val_str(&tmp_value);
|
||||||
String *user_key= args[1]->val_str(&user_key_buf);
|
String *user_key= args[1]->val_str(&user_key_buf);
|
||||||
uint32 aes_length;
|
uint32 aes_length;
|
||||||
|
|
||||||
|
@ -202,6 +202,7 @@ class Item_aes_crypt :public Item_str_binary_checksum_func
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
int what;
|
int what;
|
||||||
|
String tmp_value;
|
||||||
public:
|
public:
|
||||||
Item_aes_crypt(THD *thd, Item *a, Item *b)
|
Item_aes_crypt(THD *thd, Item *a, Item *b)
|
||||||
:Item_str_binary_checksum_func(thd, a, b) {}
|
:Item_str_binary_checksum_func(thd, a, b) {}
|
||||||
@ -211,8 +212,8 @@ public:
|
|||||||
class Item_func_aes_encrypt :public Item_aes_crypt
|
class Item_func_aes_encrypt :public Item_aes_crypt
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Item_func_aes_encrypt(THD *thd, Item *a, Item *b):
|
Item_func_aes_encrypt(THD *thd, Item *a, Item *b)
|
||||||
Item_aes_crypt(thd, a, b) {}
|
:Item_aes_crypt(thd, a, b) {}
|
||||||
void fix_length_and_dec();
|
void fix_length_and_dec();
|
||||||
const char *func_name() const { return "aes_encrypt"; }
|
const char *func_name() const { return "aes_encrypt"; }
|
||||||
};
|
};
|
||||||
@ -1241,6 +1242,7 @@ public:
|
|||||||
DERIVATION_COERCIBLE, MY_REPERTOIRE_ASCII);
|
DERIVATION_COERCIBLE, MY_REPERTOIRE_ASCII);
|
||||||
fix_char_length(MY_UUID_STRING_LENGTH);
|
fix_char_length(MY_UUID_STRING_LENGTH);
|
||||||
}
|
}
|
||||||
|
table_map used_tables() const { return RAND_TABLE_BIT; }
|
||||||
const char *func_name() const{ return "uuid"; }
|
const char *func_name() const{ return "uuid"; }
|
||||||
String *val_str(String *);
|
String *val_str(String *);
|
||||||
bool check_vcol_func_processor(uchar *int_arg)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
|
@ -540,7 +540,7 @@ bool max_user_connections_checking=0;
|
|||||||
Limit of the total number of prepared statements in the server.
|
Limit of the total number of prepared statements in the server.
|
||||||
Is necessary to protect the server against out-of-memory attacks.
|
Is necessary to protect the server against out-of-memory attacks.
|
||||||
*/
|
*/
|
||||||
ulong max_prepared_stmt_count;
|
uint max_prepared_stmt_count;
|
||||||
/**
|
/**
|
||||||
Current total number of prepared statements in the server. This number
|
Current total number of prepared statements in the server. This number
|
||||||
is exact, and therefore may not be equal to the difference between
|
is exact, and therefore may not be equal to the difference between
|
||||||
@ -551,7 +551,7 @@ ulong max_prepared_stmt_count;
|
|||||||
two different connections, this counts as two distinct prepared
|
two different connections, this counts as two distinct prepared
|
||||||
statements.
|
statements.
|
||||||
*/
|
*/
|
||||||
ulong prepared_stmt_count=0;
|
uint prepared_stmt_count=0;
|
||||||
ulong thread_id=1L,current_pid;
|
ulong thread_id=1L,current_pid;
|
||||||
ulong slow_launch_threads = 0;
|
ulong slow_launch_threads = 0;
|
||||||
uint sync_binlog_period= 0, sync_relaylog_period= 0,
|
uint sync_binlog_period= 0, sync_relaylog_period= 0,
|
||||||
|
@ -200,7 +200,7 @@ extern ulong slave_trans_retries;
|
|||||||
extern uint slave_net_timeout;
|
extern uint slave_net_timeout;
|
||||||
extern int max_user_connections;
|
extern int max_user_connections;
|
||||||
extern ulong what_to_log,flush_time;
|
extern ulong what_to_log,flush_time;
|
||||||
extern ulong max_prepared_stmt_count, prepared_stmt_count;
|
extern uint max_prepared_stmt_count, prepared_stmt_count;
|
||||||
extern ulong open_files_limit;
|
extern ulong open_files_limit;
|
||||||
extern ulonglong binlog_cache_size, binlog_stmt_cache_size;
|
extern ulonglong binlog_cache_size, binlog_stmt_cache_size;
|
||||||
extern ulonglong max_binlog_cache_size, max_binlog_stmt_cache_size;
|
extern ulonglong max_binlog_cache_size, max_binlog_stmt_cache_size;
|
||||||
|
@ -5577,8 +5577,8 @@ ER_SP_NO_AGGREGATE 42000
|
|||||||
eng "AGGREGATE is not supported for stored functions"
|
eng "AGGREGATE is not supported for stored functions"
|
||||||
ger "AGGREGATE wird bei gespeicherten Funktionen nicht unterstützt"
|
ger "AGGREGATE wird bei gespeicherten Funktionen nicht unterstützt"
|
||||||
ER_MAX_PREPARED_STMT_COUNT_REACHED 42000
|
ER_MAX_PREPARED_STMT_COUNT_REACHED 42000
|
||||||
eng "Can't create more than max_prepared_stmt_count statements (current value: %lu)"
|
eng "Can't create more than max_prepared_stmt_count statements (current value: %u)"
|
||||||
ger "Kann nicht mehr Anweisungen als max_prepared_stmt_count erzeugen (aktueller Wert: %lu)"
|
ger "Kann nicht mehr Anweisungen als max_prepared_stmt_count erzeugen (aktueller Wert: %u)"
|
||||||
ER_VIEW_RECURSIVE
|
ER_VIEW_RECURSIVE
|
||||||
eng "`%-.192s`.`%-.192s` contains view recursion"
|
eng "`%-.192s`.`%-.192s` contains view recursion"
|
||||||
ger "`%-.192s`.`%-.192s` enthält View-Rekursion"
|
ger "`%-.192s`.`%-.192s` enthält View-Rekursion"
|
||||||
|
@ -3083,18 +3083,19 @@ bool statistics_for_tables_is_needed(THD *thd, TABLE_LIST *tables)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Do not read statistics for any query over non-user tables.
|
Do not read statistics for any query that explicity involves
|
||||||
If the query references some statistical tables, but not all
|
statistical tables, failure to to do so we may end up
|
||||||
of them, reading the statistics may lead to a deadlock
|
in a deadlock.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (TABLE_LIST *tl= tables; tl; tl= tl->next_global)
|
for (TABLE_LIST *tl= tables; tl; tl= tl->next_global)
|
||||||
{
|
{
|
||||||
if (!tl->is_view_or_derived() && tl->table)
|
if (!tl->is_view_or_derived() && tl->table)
|
||||||
{
|
{
|
||||||
TABLE_SHARE *table_share= tl->table->s;
|
TABLE_SHARE *table_share= tl->table->s;
|
||||||
if (table_share &&
|
if (table_share &&
|
||||||
(table_share->table_category != TABLE_CATEGORY_USER ||
|
table_share->table_category != TABLE_CATEGORY_USER
|
||||||
table_share->tmp_table != NO_TMP_TABLE))
|
&& is_stat_table(tl->db, tl->alias))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3767,6 +3768,15 @@ double get_column_range_cardinality(Field *field,
|
|||||||
|
|
||||||
if (!col_stats)
|
if (!col_stats)
|
||||||
return tab_records;
|
return tab_records;
|
||||||
|
/*
|
||||||
|
Use statistics for a table only when we have actually read
|
||||||
|
the statistics from the stat tables. For example due to
|
||||||
|
chances of getting a deadlock we disable reading statistics for
|
||||||
|
a table.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!table->stats_is_read)
|
||||||
|
return tab_records;
|
||||||
|
|
||||||
double col_nulls= tab_records * col_stats->get_nulls_ratio();
|
double col_nulls= tab_records * col_stats->get_nulls_ratio();
|
||||||
|
|
||||||
@ -3990,4 +4000,3 @@ bool is_stat_table(const char *db, const char *table)
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14503,6 +14503,11 @@ option_value_no_option_type:
|
|||||||
| '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default
|
| '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default
|
||||||
{
|
{
|
||||||
struct sys_var_with_base tmp= $4;
|
struct sys_var_with_base tmp= $4;
|
||||||
|
if (tmp.var == trg_new_row_fake_var)
|
||||||
|
{
|
||||||
|
my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), "NEW");
|
||||||
|
MYSQL_YYABORT;
|
||||||
|
}
|
||||||
/* Lookup if necessary: must be a system variable. */
|
/* Lookup if necessary: must be a system variable. */
|
||||||
if (tmp.var == NULL)
|
if (tmp.var == NULL)
|
||||||
{
|
{
|
||||||
|
@ -2111,11 +2111,11 @@ static Sys_var_ulong Sys_max_long_data_size(
|
|||||||
BLOCK_SIZE(1));
|
BLOCK_SIZE(1));
|
||||||
|
|
||||||
static PolyLock_mutex PLock_prepared_stmt_count(&LOCK_prepared_stmt_count);
|
static PolyLock_mutex PLock_prepared_stmt_count(&LOCK_prepared_stmt_count);
|
||||||
static Sys_var_ulong Sys_max_prepared_stmt_count(
|
static Sys_var_uint Sys_max_prepared_stmt_count(
|
||||||
"max_prepared_stmt_count",
|
"max_prepared_stmt_count",
|
||||||
"Maximum number of prepared statements in the server",
|
"Maximum number of prepared statements in the server",
|
||||||
GLOBAL_VAR(max_prepared_stmt_count), CMD_LINE(REQUIRED_ARG),
|
GLOBAL_VAR(max_prepared_stmt_count), CMD_LINE(REQUIRED_ARG),
|
||||||
VALID_RANGE(0, 1024*1024), DEFAULT(16382), BLOCK_SIZE(1),
|
VALID_RANGE(0, UINT_MAX32), DEFAULT(16382), BLOCK_SIZE(1),
|
||||||
&PLock_prepared_stmt_count);
|
&PLock_prepared_stmt_count);
|
||||||
|
|
||||||
static Sys_var_ulong Sys_max_sort_length(
|
static Sys_var_ulong Sys_max_sort_length(
|
||||||
|
@ -2305,6 +2305,7 @@ struct TABLE_LIST
|
|||||||
DBUG_PRINT("enter", ("Alias: '%s' Unit: %p",
|
DBUG_PRINT("enter", ("Alias: '%s' Unit: %p",
|
||||||
(alias ? alias : "<NULL>"),
|
(alias ? alias : "<NULL>"),
|
||||||
get_unit()));
|
get_unit()));
|
||||||
|
derived= get_unit();
|
||||||
derived_type= ((derived_type & (derived ? DTYPE_MASK : DTYPE_VIEW)) |
|
derived_type= ((derived_type & (derived ? DTYPE_MASK : DTYPE_VIEW)) |
|
||||||
DTYPE_TABLE | DTYPE_MATERIALIZE);
|
DTYPE_TABLE | DTYPE_MATERIALIZE);
|
||||||
set_check_materialized();
|
set_check_materialized();
|
||||||
|
@ -22,6 +22,5 @@
|
|||||||
======================================================================
|
======================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "graphcore-config.h"
|
|
||||||
#include "graphcore-graph.h"
|
#include "graphcore-graph.h"
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
#include "graphcore-config.h"
|
|
||||||
#include "graphcore-graph.h"
|
#include "graphcore-graph.h"
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "oqgraph_thunk.h"
|
|
||||||
#include "oqgraph_judy.h"
|
#include "oqgraph_judy.h"
|
||||||
|
#include "oqgraph_thunk.h"
|
||||||
|
|
||||||
#define BOOST_NO_HASH 1
|
#define BOOST_NO_HASH 1
|
||||||
#define BOOST_NO_SLIST 1
|
#define BOOST_NO_SLIST 1
|
||||||
|
Reference in New Issue
Block a user