Browse Source
Merge 10.1 into 10.2
Merge 10.1 into 10.2
Temporarily disable a test for
commit 2175bfce3e
because fixing it in 10.2 requires updating libmariadb.
pull/1154/head
96 changed files with 2536 additions and 7269 deletions
-
10CMakeLists.txt
-
7client/mysqltest.cc
-
1cmake/build_configurations/mysql_release.cmake
-
5cmake/ssl.cmake
-
6config.h.cmake
-
4include/my_valgrind.h
-
2include/mysql.h
-
2include/mysql.h.pp
-
1mysql-test/disabled.def
-
1908mysql-test/r/alter_table.test
-
2291mysql-test/r/grant.test
-
124mysql-test/r/lowercase_fs_off.test
-
15mysql-test/r/mysql.result
-
16mysql-test/r/row-checksum-old.result
-
16mysql-test/r/row-checksum.result
-
1069mysql-test/r/sp-security.test
-
22mysql-test/r/subselect2.result
-
16mysql-test/r/subselect_mat.result
-
417mysql-test/r/type_float.test
-
2mysql-test/suite/innodb/r/alter_foreign_crash.result
-
33mysql-test/suite/innodb/r/foreign_key.result
-
31mysql-test/suite/innodb/t/foreign_key.test
-
4mysql-test/suite/perfschema/r/dml_setup_instruments.result
-
5mysql-test/suite/perfschema/t/dml_setup_instruments.test
-
0mysql-test/suite/rpl/r/rpl_set_statement.test
-
4mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff-disabled
-
4mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff-disabled
-
23mysql-test/t/mysql.test
-
17mysql-test/t/row-checksum.test
-
20mysql-test/t/subselect2.test
-
13mysql-test/t/subselect_mat.test
-
7mysys/my_file.c
-
21scripts/mysql_install_db.sh
-
30sql-common/client.c
-
2sql/CMakeLists.txt
-
6sql/log.cc
-
72sql/mysql_install_db.cc
-
3sql/sql_lex.cc
-
6sql/sql_repl.cc
-
69sql/sql_table.cc
-
22sql/sql_yacc.yy
-
6sql/wsrep_mysqld_c.h
-
2storage/connect/mysql-test/connect/r/jdbc_postgresql.result
-
4storage/connect/mysql-test/connect/r/part_table.result
-
2storage/connect/mysql-test/connect/t/part_table.test
-
42storage/connect/tabjson.cpp
-
2storage/connect/tabjson.h
-
279storage/connect/tabxml.cpp
-
1storage/connect/tabxml.h
-
24storage/innobase/buf/buf0buf.cc
-
82storage/innobase/handler/handler0alter.cc
-
6storage/innobase/row/row0ins.cc
-
3storage/innobase/row/row0mysql.cc
-
174storage/tokudb/PerconaFT/COPYING.APACHEv2
-
5storage/tokudb/PerconaFT/README.md
-
4storage/tokudb/PerconaFT/ft/txn/txn_manager.h
-
14storage/tokudb/PerconaFT/locktree/concurrent_tree.cc
-
14storage/tokudb/PerconaFT/locktree/concurrent_tree.h
-
13storage/tokudb/PerconaFT/locktree/keyrange.cc
-
13storage/tokudb/PerconaFT/locktree/keyrange.h
-
13storage/tokudb/PerconaFT/locktree/lock_request.cc
-
13storage/tokudb/PerconaFT/locktree/lock_request.h
-
13storage/tokudb/PerconaFT/locktree/locktree.cc
-
13storage/tokudb/PerconaFT/locktree/locktree.h
-
13storage/tokudb/PerconaFT/locktree/manager.cc
-
13storage/tokudb/PerconaFT/locktree/range_buffer.cc
-
13storage/tokudb/PerconaFT/locktree/range_buffer.h
-
13storage/tokudb/PerconaFT/locktree/treenode.cc
-
13storage/tokudb/PerconaFT/locktree/treenode.h
-
13storage/tokudb/PerconaFT/locktree/txnid_set.cc
-
13storage/tokudb/PerconaFT/locktree/txnid_set.h
-
13storage/tokudb/PerconaFT/locktree/wfg.cc
-
13storage/tokudb/PerconaFT/locktree/wfg.h
-
12storage/tokudb/PerconaFT/portability/toku_instr_mysql.cc
-
11storage/tokudb/PerconaFT/portability/toku_instr_mysql.h
-
78storage/tokudb/PerconaFT/portability/toku_pthread.h
-
13storage/tokudb/PerconaFT/util/growable_array.h
-
2261storage/tokudb/PerconaFT/util/omt.cc
-
13storage/tokudb/PerconaFT/util/omt.h
-
10storage/tokudb/ha_tokudb.cc
-
4storage/tokudb/hatoku_hton.cc
-
1storage/tokudb/hatoku_hton.h
-
2storage/tokudb/mysql-test/tokudb_bugs/r/PS-4979.result
-
13storage/tokudb/mysql-test/tokudb_bugs/t/PS-4979.test
-
4storage/tokudb/tokudb_background.cc
-
14storage/tokudb/tokudb_sysvars.cc
-
4storage/tokudb/tokudb_sysvars.h
-
21storage/xtradb/buf/buf0buf.cc
-
84storage/xtradb/handler/handler0alter.cc
-
4storage/xtradb/include/univ.i
-
41storage/xtradb/log/log0online.cc
-
6storage/xtradb/row/row0ins.cc
-
12storage/xtradb/row/row0mysql.cc
-
6support-files/mysql.server.sh
-
4unittest/mysys/thr_template.c
-
2win/packaging/heidisql.cmake
1908
mysql-test/r/alter_table.test
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2291
mysql-test/r/grant.test
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,124 +0,0 @@ |
|||
# |
|||
# Specific tests for case sensitive file systems |
|||
# i.e. lower_case_filesystem=OFF |
|||
# |
|||
-- source include/have_case_sensitive_file_system.inc |
|||
-- source include/not_embedded.inc |
|||
|
|||
connect (master,localhost,root,,); |
|||
connection master; |
|||
create database d1; |
|||
grant all on d1.* to 'sample'@'localhost' identified by 'password'; |
|||
flush privileges; |
|||
|
|||
connect (sample,localhost,sample,password,d1); |
|||
connection sample; |
|||
select database(); |
|||
--error ER_DBACCESS_DENIED_ERROR |
|||
create database d2; |
|||
--error ER_DBACCESS_DENIED_ERROR |
|||
create database D1; |
|||
disconnect sample; |
|||
--source include/wait_until_disconnected.inc |
|||
|
|||
connection master; |
|||
drop user 'sample'@'localhost'; |
|||
drop database if exists d1; |
|||
disconnect master; |
|||
--source include/wait_until_disconnected.inc |
|||
connection default; |
|||
|
|||
# End of 4.1 tests |
|||
|
|||
# |
|||
# Bug#41049 does syntax "grant" case insensitive? |
|||
# |
|||
CREATE DATABASE d1; |
|||
USE d1; |
|||
CREATE TABLE T1(f1 INT); |
|||
CREATE TABLE t1(f1 INT); |
|||
GRANT SELECT ON T1 to user_1@localhost; |
|||
|
|||
connect (con1,localhost,user_1,,d1); |
|||
--error ER_TABLEACCESS_DENIED_ERROR |
|||
select * from t1; |
|||
select * from T1; |
|||
connection default; |
|||
GRANT SELECT ON t1 to user_1@localhost; |
|||
connection con1; |
|||
select * from information_schema.table_privileges; |
|||
connection default; |
|||
disconnect con1; |
|||
|
|||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost; |
|||
DROP USER user_1@localhost; |
|||
DROP DATABASE d1; |
|||
USE test; |
|||
|
|||
CREATE DATABASE db1; |
|||
USE db1; |
|||
CREATE PROCEDURE p1() BEGIN END; |
|||
CREATE FUNCTION f1(i INT) RETURNS INT RETURN i+1; |
|||
|
|||
GRANT USAGE ON db1.* to user_1@localhost; |
|||
GRANT EXECUTE ON PROCEDURE db1.P1 to user_1@localhost; |
|||
GRANT EXECUTE ON FUNCTION db1.f1 to user_1@localhost; |
|||
GRANT UPDATE ON db1.* to USER_1@localhost; |
|||
|
|||
connect (con1,localhost,user_1,,db1); |
|||
call p1(); |
|||
call P1(); |
|||
select f1(1); |
|||
connect (con2,localhost,USER_1,,db1); |
|||
--error ER_PROCACCESS_DENIED_ERROR |
|||
call p1(); |
|||
--error ER_PROCACCESS_DENIED_ERROR |
|||
call P1(); |
|||
--error ER_PROCACCESS_DENIED_ERROR |
|||
select f1(1); |
|||
|
|||
connection default; |
|||
disconnect con1; |
|||
disconnect con2; |
|||
|
|||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost; |
|||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM USER_1@localhost; |
|||
DROP FUNCTION f1; |
|||
DROP PROCEDURE p1; |
|||
DROP USER user_1@localhost; |
|||
DROP USER USER_1@localhost; |
|||
DROP DATABASE db1; |
|||
use test; |
|||
|
|||
# End of 5.0 tests |
|||
|
|||
|
|||
--echo # |
|||
--echo # Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X |
|||
--echo # |
|||
|
|||
CREATE TABLE t1(a INT); |
|||
CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1; |
|||
RENAME TABLE t1 TO T1; |
|||
ALTER TABLE T1 RENAME t1; |
|||
DROP TABLE t1; |
|||
|
|||
# |
|||
# MDEV-13912 mysql_upgrade: case (in)sensitivity for stored procedures |
|||
# |
|||
create database TEST; |
|||
create procedure TEST.pr() begin end; |
|||
create procedure test.pr() begin end; |
|||
--exec $MYSQL_UPGRADE --force 2>&1 |
|||
drop procedure test.pr; |
|||
drop database TEST; |
|||
|
|||
# End of 5.5 tests |
|||
|
|||
# |
|||
# MDEV-9014 SHOW TRIGGERS not case sensitive |
|||
# |
|||
create table t1 (a int); |
|||
create trigger t1_bi before insert on t1 for each row set new.a= 1; |
|||
show triggers like '%T1%'; |
|||
drop table t1; |
1069
mysql-test/r/sp-security.test
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,417 +0,0 @@ |
|||
# Description |
|||
# ----------- |
|||
# Numeric floating point. |
|||
|
|||
--disable_warnings |
|||
drop table if exists t1,t2; |
|||
--enable_warnings |
|||
|
|||
SELECT 10,10.0,10.,.1e+2,100.0e-1; |
|||
SELECT 6e-16, -6e-16, --6e-16, -6e-16+1.000000; |
|||
SELECT 1e1,1.e1,1.0e1,1e+1,1.e+1,1.0e+1,1e-1,1.e-1,1.0e-1; |
|||
SELECT 0.001e+1,0.001e-1, -0.001e+01,-0.001e-01; |
|||
SELECT 123.23E+02,-123.23E-02,"123.23E+02"+0.0,"-123.23E-02"+0.0; |
|||
SELECT 2147483647E+02,21474836.47E+06; |
|||
|
|||
create table t1 (f1 float(24),f2 float(52)); |
|||
# We mask out Privileges column because it differs for embedded server |
|||
--replace_column 8 # |
|||
show full columns from t1; |
|||
insert into t1 values(10,10),(1e+5,1e+5),(1234567890,1234567890),(1e+10,1e+10),(1e+15,1e+15),(1e+20,1e+20),(1e+50,1e+50),(1e+150,1e+150); |
|||
insert into t1 values(-10,-10),(1e-5,1e-5),(1e-10,1e-10),(1e-15,1e-15),(1e-20,1e-20),(1e-50,1e-50),(1e-150,1e-150); |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
create table t1 (datum double); |
|||
insert into t1 values (0.5),(1.0),(1.5),(2.0),(2.5); |
|||
select * from t1; |
|||
select * from t1 where datum < 1.5; |
|||
select * from t1 where datum > 1.5; |
|||
select * from t1 where datum = 1.5; |
|||
drop table t1; |
|||
|
|||
create table t1 (a decimal(7,3) not null, key (a)); |
|||
insert into t1 values ("0"),("-0.00"),("-0.01"),("-0.002"),("1"); |
|||
select a from t1 order by a; |
|||
select min(a) from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# BUG#3612, BUG#4393, BUG#4356, BUG#4394 |
|||
# |
|||
|
|||
create table t1 (c1 double, c2 varchar(20)); |
|||
insert t1 values (121,"16"); |
|||
select c1 + c1 * (c2 / 100) as col from t1; |
|||
create table t2 select c1 + c1 * (c2 / 100) as col1, round(c1, 5) as col2, round(c1, 35) as col3, sqrt(c1*1e-15) col4 from t1; |
|||
# Floats are a bit different in PS |
|||
--disable_ps_protocol |
|||
select * from t2; |
|||
--enable_ps_protocol |
|||
show create table t2; |
|||
drop table t1,t2; |
|||
|
|||
# Bug #1022: When a table contains a 'float' field, |
|||
# and one of the functions MAX, MIN, or AVG is used on that field, |
|||
# the system crashes. |
|||
|
|||
create table t1 (a float); |
|||
insert into t1 values (1); |
|||
select max(a),min(a),avg(a) from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# FLOAT/DOUBLE/DECIMAL handling |
|||
# |
|||
|
|||
create table t1 (f float, f2 float(24), f3 float(6,2), d double, d2 float(53), d3 double(10,3), de decimal, de2 decimal(6), de3 decimal(5,2), n numeric, n2 numeric(8), n3 numeric(7,6)); |
|||
# We mask out Privileges column because it differs for embedded server |
|||
--replace_column 8 # |
|||
show full columns from t1; |
|||
drop table t1; |
|||
|
|||
create table t1 (a decimal(7,3) not null, key (a)); |
|||
insert into t1 values ("0"),("-0.00"),("-0.01"),("-0.002"),("1"); |
|||
select a from t1 order by a; |
|||
select min(a) from t1; |
|||
drop table t1; |
|||
|
|||
--error 1425 |
|||
create table t1 (a float(200,100), b double(200,100)); |
|||
|
|||
# |
|||
# float in a char(1) field |
|||
# |
|||
create table t1 (c20 char); |
|||
insert into t1 values (5000.0); |
|||
insert into t1 values (0.5e4); |
|||
drop table t1; |
|||
|
|||
# Errors |
|||
|
|||
--error 1063 |
|||
create table t1 (f float(54)); # Should give an error |
|||
--disable_warnings |
|||
drop table if exists t1; |
|||
--enable_warnings |
|||
|
|||
# Don't allow 'double unsigned' to be set to a negative value (Bug #7700) |
|||
create table t1 (d1 double, d2 double unsigned); |
|||
insert into t1 set d1 = -1.0; |
|||
update t1 set d2 = d1; |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
# Ensure that maximum values as the result of number of decimals |
|||
# being specified in table schema are enforced (Bug #7361) |
|||
create table t1 (f float(4,3)); |
|||
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11"); |
|||
select * from t1; |
|||
drop table if exists t1; |
|||
create table t1 (f double(4,3)); |
|||
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11"); |
|||
select * from t1; |
|||
drop table if exists t1; |
|||
|
|||
# Check conversion of floats to character field (Bug #7774) |
|||
create table t1 (c char(20)); |
|||
insert into t1 values (5e-28); |
|||
select * from t1; |
|||
drop table t1; |
|||
create table t1 (c char(6)); |
|||
insert into t1 values (2e5),(2e6),(2e-4),(2e-5); |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# Test of comparison of integer with float-in-range (Bug #7840) |
|||
# This is needed because some ODBC applications (like Foxpro) uses |
|||
# floats for everything. |
|||
# |
|||
|
|||
CREATE TABLE t1 ( |
|||
reckey int unsigned NOT NULL, |
|||
recdesc varchar(50) NOT NULL, |
|||
PRIMARY KEY (reckey) |
|||
) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
|||
|
|||
INSERT INTO t1 VALUES (108, 'Has 108 as key'); |
|||
INSERT INTO t1 VALUES (109, 'Has 109 as key'); |
|||
select * from t1 where reckey=108; |
|||
select * from t1 where reckey=1.08E2; |
|||
select * from t1 where reckey=109; |
|||
select * from t1 where reckey=1.09E2; |
|||
drop table t1; |
|||
|
|||
# |
|||
# Bug #13372 (decimal union) |
|||
# |
|||
create table t1 (d double(10,1)); |
|||
create table t2 (d double(10,9)); |
|||
insert into t1 values ("100000000.0"); |
|||
insert into t2 values ("1.23456780"); |
|||
create table t3 select * from t2 union select * from t1; |
|||
select * from t3; |
|||
show create table t3; |
|||
drop table t1, t2, t3; |
|||
|
|||
|
|||
# |
|||
# Bug #9855 (inconsistent column type for create select |
|||
# |
|||
create table t1 select 105213674794682365.00 + 0.0 x; |
|||
show warnings; |
|||
desc t1; |
|||
drop table t1; |
|||
|
|||
create table t1 select 0.0 x; |
|||
desc t1; |
|||
create table t2 select 105213674794682365.00 y; |
|||
desc t2; |
|||
create table t3 select x+y a from t1,t2; |
|||
show warnings; |
|||
desc t3; |
|||
drop table t1,t2,t3; |
|||
|
|||
# |
|||
# Bug #22129: A small double precision number becomes zero |
|||
# |
|||
# check if underflows are detected correctly |
|||
select 1e-308, 1.00000001e-300, 100000000e-300; |
|||
|
|||
# check if overflows are detected correctly |
|||
select 10e307; |
|||
|
|||
# |
|||
# Bug #19690: ORDER BY eliminates rows from the result |
|||
# |
|||
create table t1(a int, b double(8, 2)); |
|||
insert into t1 values |
|||
(1, 28.50), (1, 121.85), (1, 157.23), (1, 1351.00), (1, -1965.35), (1, 81.75), |
|||
(1, 217.08), (1, 7.94), (4, 96.07), (4, 6404.65), (4, -6500.72), (2, 100.00), |
|||
(5, 5.00), (5, -2104.80), (5, 2033.80), (5, 0.07), (5, 65.93), |
|||
(3, -4986.24), (3, 5.00), (3, 4857.34), (3, 123.74), (3, 0.16), |
|||
(6, -1695.31), (6, 1003.77), (6, 499.72), (6, 191.82); |
|||
explain select sum(b) s from t1 group by a; |
|||
select sum(b) s from t1 group by a; |
|||
select sum(b) s from t1 group by a having s <> 0; |
|||
select sum(b) s from t1 group by a having s <> 0 order by s; |
|||
select sum(b) s from t1 group by a having s <=> 0; |
|||
select sum(b) s from t1 group by a having s <=> 0 order by s; |
|||
alter table t1 add key (a, b); |
|||
explain select sum(b) s from t1 group by a; |
|||
select sum(b) s from t1 group by a; |
|||
select sum(b) s from t1 group by a having s <> 0; |
|||
select sum(b) s from t1 group by a having s <> 0 order by s; |
|||
select sum(b) s from t1 group by a having s <=> 0; |
|||
select sum(b) s from t1 group by a having s <=> 0 order by s; |
|||
drop table t1; |
|||
|
|||
--echo End of 4.1 tests |
|||
|
|||
# |
|||
# bug #12694 (float(m,d) specifications) |
|||
# |
|||
|
|||
--error 1427 |
|||
create table t1 (s1 float(0,2)); |
|||
--error 1427 |
|||
create table t1 (s1 float(1,2)); |
|||
|
|||
# |
|||
# MySQL Bugs: #11589: mysqltest --ps-protocol, strange output, float/double/real with zerofill |
|||
# |
|||
|
|||
CREATE TABLE t1 ( |
|||
f1 real zerofill, |
|||
f2 double zerofill, |
|||
f3 float zerofill); |
|||
INSERT INTO t1 VALUES ( 0.314152e+1, 0.314152e+1, 0.314152e+1); |
|||
|
|||
let $my_stmt= select f1, f2, f3 FROM t1; |
|||
eval PREPARE stmt1 FROM '$my_stmt'; |
|||
select f1, f2, f3 FROM t1; |
|||
eval $my_stmt; |
|||
EXECUTE stmt1; |
|||
|
|||
DROP TABLE t1; |
|||
# Bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits" |
|||
# |
|||
|
|||
create table t1 (f1 double(200, 0)); |
|||
insert into t1 values (1e199), (-1e199); |
|||
insert into t1 values (1e200), (-1e200); |
|||
insert into t1 values (2e200), (-2e200); |
|||
select f1 + 0e0 from t1; |
|||
drop table t1; |
|||
|
|||
create table t1 (f1 float(30, 0)); |
|||
insert into t1 values (1e29), (-1e29); |
|||
insert into t1 values (1e30), (-1e30); |
|||
insert into t1 values (2e30), (-2e30); |
|||
select f1 + 0e0 from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# Bug #12860 "Difference in zero padding of exponent between Unix and Windows" |
|||
# |
|||
|
|||
create table t1 (c char(6)); |
|||
insert into t1 values (2e6),(2e-5); |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# Bug #21497 "DOUBLE truncated to unusable value" |
|||
# |
|||
|
|||
CREATE TABLE d1 (d DOUBLE); |
|||
INSERT INTO d1 VALUES (1.7976931348623157E+308); |
|||
SELECT * FROM d1; |
|||
--error ER_ILLEGAL_VALUE_FOR_TYPE |
|||
INSERT INTO d1 VALUES (1.79769313486232e+308); |
|||
SELECT * FROM d1; |
|||
DROP TABLE d1; |
|||
|
|||
# |
|||
# Bug #26788 "mysqld (debug) aborts when inserting specific numbers into char |
|||
# fields" |
|||
# |
|||
|
|||
create table t1 (a char(20)); |
|||
insert into t1 values (1.225e-05); |
|||
select a+0 from t1; |
|||
drop table t1; |
|||
|
|||
# |
|||
# Bug #27483: Casting 'scientific notation type' to 'unsigned bigint' fails on |
|||
# windows. |
|||
# |
|||
|
|||
create table t1(d double, u bigint unsigned); |
|||
|
|||
insert into t1(d) values (9.22337203685479e18), |
|||
(1.84e19); |
|||
|
|||
update t1 set u = d; |
|||
select u from t1; |
|||
|
|||
drop table t1; |
|||
|
|||
# |
|||
# Bug #21205: Different number of digits for float/doble/real in --ps-protocol |
|||
# |
|||
|
|||
CREATE TABLE t1 (f1 DOUBLE); |
|||
INSERT INTO t1 VALUES(-1.79769313486231e+308); |
|||
SELECT f1 FROM t1; |
|||
DROP TABLE t1; |
|||
|
|||
--echo # |
|||
--echo # Bug#12406055 BUFFER OVERFLOW OF VARIABLE 'BUFF' IN STRING::SET_REAL |
|||
--echo # |
|||
|
|||
--echo # Ignoring output from misc. float operations |
|||
--disable_result_log |
|||
|
|||
let $nine_65= |
|||
99999999999999999999999999999999999999999999999999999999999999999; |
|||
|
|||
select format(-1.7976931348623157E+307,256) as foo; |
|||
select least(-1.1111111111111111111111111, |
|||
- group_concat(1.7976931348623157E+308)) as foo; |
|||
eval select concat((truncate((-1.7976931348623157E+307),(0x1e))), |
|||
($nine_65)) into @a; |
|||
--enable_result_log |
|||
|
|||
--echo End of 5.0 tests |
|||
|
|||
--echo # |
|||
--echo # Bug#12368853 FORMAT() CRASHES WITH LARGE NUMBERS AFTER TRUNCATE... |
|||
--echo # |
|||
|
|||
select format(truncate('1.7976931348623157E+308',-12),1,'fr_BE') as foo; |
|||
|
|||
|
|||
--echo # |
|||
--echo # MDEV-17249 MAKETIME(-1e50,0,0) returns a wrong result |
|||
--echo # |
|||
|
|||
SELECT LEFT('a',EXP(50)); |
|||
SELECT LEFT('a', COALESCE(1e30)); |
|||
|
|||
CREATE TABLE t1 (a FLOAT); |
|||
INSERT INTO t1 VALUES (1e30); |
|||
SELECT LEFT('a',a), LEFT('a',1e30) FROM t1; |
|||
DROP TABLE t1; |
|||
|
|||
PREPARE stmt FROM 'SELECT LEFT(111,?)'; |
|||
SET @a=1e30; |
|||
EXECUTE stmt USING @a; |
|||
DEALLOCATE PREPARE stmt; |
|||
|
|||
CREATE TABLE t1 (a INT); |
|||
INSERT INTO t1 VALUES (1),(2),(3); |
|||
SELECT LEFT('a',(SELECT 1e30 FROM t1 LIMIT 1)); |
|||
DROP TABLE t1; |
|||
|
|||
CREATE TABLE t1 (a DOUBLE); |
|||
INSERT INTO t1 VALUES (1e30),(0); |
|||
SELECT LEFT('a', SUM(a)) FROM t1; |
|||
SELECT LEFT('a', AVG(a)) FROM t1; |
|||
DROP TABLE t1; |
|||
|
|||
|
|||
--echo # |
|||
--echo # Bug #13500371 63704: CONVERSION OF '1.' TO A NUMBER GIVES ERROR 1265 |
|||
--echo # (WARN_DATA_TRUNCATED) |
|||
--echo # |
|||
|
|||
CREATE TABLE t1 (f FLOAT); |
|||
INSERT INTO t1 VALUES ('1.'); |
|||
INSERT INTO t1 VALUES ('2.0.'); |
|||
INSERT INTO t1 VALUES ('.'); |
|||
SELECT * FROM t1 ORDER BY f; |
|||
DROP TABLE t1; |
|||
|
|||
|
|||
--echo # |
|||
--echo # Start of 10.0 tests |
|||
--echo # |
|||
|
|||
--echo # |
|||
--echo # MDEV-6950 Bad results with joins comparing DATE/DATETIME and INT/DECIMAL/DOUBLE/ENUM/VARCHAR columns |
|||
--echo # |
|||
CREATE TABLE t1 (a DATETIME PRIMARY KEY); |
|||
INSERT INTO t1 VALUES ('1999-01-01 00:00:00'); |
|||
CREATE TABLE t2 (a DOUBLE); |
|||
INSERT INTO t2 VALUES (19990101000000); |
|||
INSERT INTO t2 VALUES (990101000000); |
|||
SELECT t1.* FROM t1,t2 WHERE t1.a=t2.a; |
|||
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a=t2.a; |
|||
ALTER TABLE t2 ADD PRIMARY KEY(a); |
|||
SELECT t1.* FROM t1,t2 WHERE t1.a=t2.a; |
|||
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a=t2.a; |
|||
--echo # t2 should NOT be eliminated |
|||
EXPLAIN SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a=t2.a; |
|||
DROP TABLE t1,t2; |
|||
|
|||
--echo # |
|||
--echo # MDEV-6971 Bad results with joins comparing TIME and DOUBLE/DECIMAL columns |
|||
--echo # |
|||
CREATE TABLE t1 (a TIME(6) PRIMARY KEY); |
|||
INSERT INTO t1 VALUES ('10:20:30'); |
|||
CREATE TABLE t2 (a DOUBLE); |
|||
INSERT INTO t2 VALUES (102030),(102030.000000001); |
|||
SELECT t1.* FROM t1 JOIN t2 USING(a); |
|||
SELECT t1.* FROM t1 LEFT JOIN t2 USING(a); |
|||
ALTER TABLE t2 ADD PRIMARY KEY(a); |
|||
SELECT t1.* FROM t1 JOIN t2 USING(a); |
|||
SELECT t1.* FROM t1 LEFT JOIN t2 USING(a); |
|||
--echo # t2 should NOT be elimitated |
|||
EXPLAIN SELECT t1.* FROM t1 LEFT JOIN t2 USING(a); |
|||
DROP TABLE t1,t2; |
|||
|
|||
--echo # |
|||
--echo # End of 10.0 tests |
|||
--echo # |
@ -0,0 +1,174 @@ |
|||
Apache License |
|||
Version 2.0, January 2004 |
|||
http://www.apache.org/licenses/ |
|||
|
|||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
|||
|
|||
1. Definitions. |
|||
|
|||
"License" shall mean the terms and conditions for use, reproduction, |
|||
and distribution as defined by Sections 1 through 9 of this document. |
|||
|
|||
"Licensor" shall mean the copyright owner or entity authorized by |
|||
the copyright owner that is granting the License. |
|||
|
|||
"Legal Entity" shall mean the union of the acting entity and all |
|||
other entities that control, are controlled by, or are under common |
|||
control with that entity. For the purposes of this definition, |
|||
"control" means (i) the power, direct or indirect, to cause the |
|||
direction or management of such entity, whether by contract or |
|||
otherwise, or (ii) ownership of fifty percent (50%) or more of the |
|||
outstanding shares, or (iii) beneficial ownership of such entity. |
|||
|
|||
"You" (or "Your") shall mean an individual or Legal Entity |
|||
exercising permissions granted by this License. |
|||
|
|||
"Source" form shall mean the preferred form for making modifications, |
|||
including but not limited to software source code, documentation |
|||
source, and configuration files. |
|||
|
|||
"Object" form shall mean any form resulting from mechanical |
|||
transformation or translation of a Source form, including but |
|||
not limited to compiled object code, generated documentation, |
|||
and conversions to other media types. |
|||
|
|||
"Work" shall mean the work of authorship, whether in Source or |
|||
Object form, made available under the License, as indicated by a |
|||
copyright notice that is included in or attached to the work |
|||
(an example is provided in the Appendix below). |
|||
|
|||
"Derivative Works" shall mean any work, whether in Source or Object |
|||
form, that is based on (or derived from) the Work and for which the |
|||
editorial revisions, annotations, elaborations, or other modifications |
|||
represent, as a whole, an original work of authorship. For the purposes |
|||
of this License, Derivative Works shall not include works that remain |
|||
separable from, or merely link (or bind by name) to the interfaces of, |
|||
the Work and Derivative Works thereof. |
|||
|
|||
"Contribution" shall mean any work of authorship, including |
|||
the original version of the Work and any modifications or additions |
|||
to that Work or Derivative Works thereof, that is intentionally |
|||
submitted to Licensor for inclusion in the Work by the copyright owner |
|||
or by an individual or Legal Entity authorized to submit on behalf of |
|||
the copyright owner. For the purposes of this definition, "submitted" |
|||
means any form of electronic, verbal, or written communication sent |
|||
to the Licensor or its representatives, including but not limited to |
|||
communication on electronic mailing lists, source code control systems, |
|||
and issue tracking systems that are managed by, or on behalf of, the |
|||
Licensor for the purpose of discussing and improving the Work, but |
|||
excluding communication that is conspicuously marked or otherwise |
|||
designated in writing by the copyright owner as "Not a Contribution." |
|||
|
|||
"Contributor" shall mean Licensor and any individual or Legal Entity |
|||
on behalf of whom a Contribution has been received by Licensor and |
|||
subsequently incorporated within the Work. |
|||
|
|||
2. Grant of Copyright License. Subject to the terms and conditions of |
|||
this License, each Contributor hereby grants to You a perpetual, |
|||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
|||
copyright license to reproduce, prepare Derivative Works of, |
|||
publicly display, publicly perform, sublicense, and distribute the |
|||
Work and such Derivative Works in Source or Object form. |
|||
|
|||
3. Grant of Patent License. Subject to the terms and conditions of |
|||
this License, each Contributor hereby grants to You a perpetual, |
|||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
|||
(except as stated in this section) patent license to make, have made, |
|||
use, offer to sell, sell, import, and otherwise transfer the Work, |
|||
where such license applies only to those patent claims licensable |
|||
by such Contributor that are necessarily infringed by their |
|||
Contribution(s) alone or by combination of their Contribution(s) |
|||
with the Work to which such Contribution(s) was submitted. If You |
|||
institute patent litigation against any entity (including a |
|||
cross-claim or counterclaim in a lawsuit) alleging that the Work |
|||
or a Contribution incorporated within the Work constitutes direct |
|||
or contributory patent infringement, then any patent licenses |
|||
granted to You under this License for that Work shall terminate |
|||
as of the date such litigation is filed. |
|||
|
|||
4. Redistribution. You may reproduce and distribute copies of the |
|||
Work or Derivative Works thereof in any medium, with or without |
|||
modifications, and in Source or Object form, provided that You |
|||
meet the following conditions: |
|||
|
|||
(a) You must give any other recipients of the Work or |
|||
Derivative Works a copy of this License; and |
|||
|
|||
(b) You must cause any modified files to carry prominent notices |
|||
stating that You changed the files; and |
|||
|
|||
(c) You must retain, in the Source form of any Derivative Works |
|||
that You distribute, all copyright, patent, trademark, and |
|||
attribution notices from the Source form of the Work, |
|||
excluding those notices that do not pertain to any part of |
|||
the Derivative Works; and |
|||
|
|||
(d) If the Work includes a "NOTICE" text file as part of its |
|||
distribution, then any Derivative Works that You distribute must |
|||
include a readable copy of the attribution notices contained |
|||
within such NOTICE file, excluding those notices that do not |
|||
pertain to any part of the Derivative Works, in at least one |
|||
of the following places: within a NOTICE text file distributed |
|||
as part of the Derivative Works; within the Source form or |
|||
documentation, if provided along with the Derivative Works; or, |
|||
within a display generated by the Derivative Works, if and |
|||
wherever such third-party notices normally appear. The contents |
|||
of the NOTICE file are for informational purposes only and |
|||
do not modify the License. You may add Your own attribution |
|||
notices within Derivative Works that You distribute, alongside |
|||
or as an addendum to the NOTICE text from the Work, provided |
|||
that such additional attribution notices cannot be construed |
|||
as modifying the License. |
|||
|
|||
You may add Your own copyright statement to Your modifications and |
|||
may provide additional or different license terms and conditions |
|||
for use, reproduction, or distribution of Your modifications, or |
|||
for any such Derivative Works as a whole, provided Your use, |
|||
reproduction, and distribution of the Work otherwise complies with |
|||
the conditions stated in this License. |
|||
|
|||
5. Submission of Contributions. Unless You explicitly state otherwise, |
|||
any Contribution intentionally submitted for inclusion in the Work |
|||
by You to the Licensor shall be under the terms and conditions of |
|||
this License, without any additional terms or conditions. |
|||
Notwithstanding the above, nothing herein shall supersede or modify |
|||
the terms of any separate license agreement you may have executed |
|||
with Licensor regarding such Contributions. |
|||
|
|||
6. Trademarks. This License does not grant permission to use the trade |
|||
names, trademarks, service marks, or product names of the Licensor, |
|||
except as required for reasonable and customary use in describing the |
|||
origin of the Work and reproducing the content of the NOTICE file. |
|||
|
|||
7. Disclaimer of Warranty. Unless required by applicable law or |
|||
agreed to in writing, Licensor provides the Work (and each |
|||
Contributor provides its Contributions) on an "AS IS" BASIS, |
|||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
|||
implied, including, without limitation, any warranties or conditions |
|||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
|||
PARTICULAR PURPOSE. You are solely responsible for determining the |
|||
appropriateness of using or redistributing the Work and assume any |
|||
risks associated with Your exercise of permissions under this License. |
|||
|
|||
8. Limitation of Liability. In no event and under no legal theory, |
|||
whether in tort (including negligence), contract, or otherwise, |
|||
unless required by applicable law (such as deliberate and grossly |
|||
negligent acts) or agreed to in writing, shall any Contributor be |
|||
liable to You for damages, including any direct, indirect, special, |
|||
incidental, or consequential damages of any character arising as a |
|||
result of this License or out of the use or inability to use the |
|||
Work (including but not limited to damages for loss of goodwill, |
|||
work stoppage, computer failure or malfunction, or any and all |
|||
other commercial damages or losses), even if such Contributor |
|||
has been advised of the possibility of such damages. |
|||
|
|||
9. Accepting Warranty or Additional Liability. While redistributing |
|||
the Work or Derivative Works thereof, You may choose to offer, |
|||
and charge a fee for, acceptance of support, warranty, indemnity, |
|||
or other liability obligations and/or rights consistent with this |
|||
License. However, in accepting such obligations, You may act only |
|||
on Your own behalf and on Your sole responsibility, not on behalf |
|||
of any other Contributor, and only if You agree to indemnify, |
|||
defend, and hold each Contributor harmless for any liability |
|||
incurred by, or claims asserted against, such Contributor by reason |
|||
of your accepting any such warranty or additional liability. |
2261
storage/tokudb/PerconaFT/util/omt.cc
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,2 @@ |
|||
CREATE TABLE `#mysql50#q.q`(f1 INT KEY) ENGINE=TOKUDB; |
|||
ERROR 42000: Incorrect table name '#mysql50#q.q' |
@ -0,0 +1,13 @@ |
|||
--source include/have_tokudb.inc |
|||
# PS-4979 : Dropping TokuDB table with non-alphanumeric characters could lead |
|||
# to a crash |
|||
# |
|||
# `#mysql50#q.q` is an invalid table name, but the server side doesn't detect it |
|||
# and complain. Instead it passes in an empty table name to the engine. The |
|||
# engine expects a table name in the form of a relative path like |
|||
# "./databasename/tablename". InnoDB detects this in parsing the table name |
|||
# during the creation and returns an error. |
|||
# MariaDB server detect above error. |
|||
|
|||
--error ER_WRONG_TABLE_NAME |
|||
CREATE TABLE `#mysql50#q.q`(f1 INT KEY) ENGINE=TOKUDB; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue