mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merging with 5.1-5.1.29-rc
This commit is contained in:
@ -487,3 +487,18 @@ select * from t2 where a=4 or b=4;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Bug #37943: Reproducible mysqld crash/sigsegv in sel_trees_can_be_ored
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a varchar(8), b set('a','b','c','d','e','f','g','h'),
|
||||
KEY b(b), KEY a(a));
|
||||
INSERT INTO t1 VALUES ('y',''), ('z','');
|
||||
|
||||
#should not crash
|
||||
SELECT b,a from t1 WHERE (b!='c' AND b!='f' && b!='h') OR
|
||||
(a='pure-S') OR (a='DE80337a') OR (a='DE80799');
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -3601,7 +3601,16 @@ sub run_testcase ($) {
|
||||
{
|
||||
mtr_timer_stop_all($glob_timers);
|
||||
mtr_report("\nServers started, exiting");
|
||||
exit(0);
|
||||
if ($glob_win32_perl)
|
||||
{
|
||||
#ActiveState perl hangs when using normal exit, use POSIX::_exit instead
|
||||
use POSIX qw[ _exit ];
|
||||
POSIX::_exit(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -1559,6 +1559,8 @@ SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 1 c1 1 c1 A NULL NULL NULL YES BTREE
|
||||
DROP TABLE t1;
|
||||
create user mysqltest_1@'test@test';
|
||||
ERROR HY000: Malformed hostname (illegal symbol: '@')
|
||||
CREATE TABLE t1 (a INTEGER AUTO_INCREMENT PRIMARY KEY, b INTEGER NOT NULL);
|
||||
INSERT IGNORE INTO t1 (b) VALUES (5);
|
||||
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)
|
||||
|
@ -9,7 +9,9 @@ DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
DROP TABLE IF EXISTS federated.bug_13118_table;
|
||||
CREATE TABLE federated.t1 (
|
||||
@ -51,9 +53,10 @@ id value
|
||||
7 54
|
||||
8 55
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||
|
@ -520,6 +520,16 @@ a filler b
|
||||
4 zz 4
|
||||
5 qq 4
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (a varchar(8), b set('a','b','c','d','e','f','g','h'),
|
||||
KEY b(b), KEY a(a));
|
||||
INSERT INTO t1 VALUES ('y',''), ('z','');
|
||||
SELECT b,a from t1 WHERE (b!='c' AND b!='f' && b!='h') OR
|
||||
(a='pure-S') OR (a='DE80337a') OR (a='DE80799');
|
||||
b a
|
||||
y
|
||||
z
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
#---------------- ROR-index_merge tests -----------------------
|
||||
SET SESSION STORAGE_ENGINE = MyISAM;
|
||||
drop table if exists t0,t1,t2;
|
||||
|
@ -221,3 +221,24 @@ drop view testdb_1.v1, v2, testdb_1.v3, v4;
|
||||
drop database testdb_1;
|
||||
drop user testdb_1@localhost;
|
||||
drop user testdb_2@localhost;
|
||||
create database testdb_1;
|
||||
create table testdb_1.t1 (a int);
|
||||
create view testdb_1.v1 as select * from testdb_1.t1;
|
||||
grant show view on testdb_1.* to mysqltest_1@localhost;
|
||||
grant select on testdb_1.v1 to mysqltest_1@localhost;
|
||||
select table_schema, table_name, view_definition from information_schema.views
|
||||
where table_name='v1';
|
||||
table_schema table_name view_definition
|
||||
testdb_1 v1 select `testdb_1`.`t1`.`a` AS `a` from `testdb_1`.`t1`
|
||||
show create view testdb_1.v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v1` AS select `testdb_1`.`t1`.`a` AS `a` from `testdb_1`.`t1` latin1 latin1_swedish_ci
|
||||
revoke select on testdb_1.v1 from mysqltest_1@localhost;
|
||||
select table_schema, table_name, view_definition from information_schema.views
|
||||
where table_name='v1';
|
||||
table_schema table_name view_definition
|
||||
testdb_1 v1
|
||||
show create view testdb_1.v1;
|
||||
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 'v1'
|
||||
drop user mysqltest_1@localhost;
|
||||
drop database testdb_1;
|
||||
|
@ -747,11 +747,13 @@ select t1.b from v1a;
|
||||
ERROR 42S22: Unknown column 't1.b' in 'field list'
|
||||
select * from v1a join v1b on t1.b = t2.b;
|
||||
ERROR 42S22: Unknown column 't1.b' in 'on clause'
|
||||
select * from information_schema.statistics join information_schema.columns
|
||||
using(table_name,column_name) where table_name='user';
|
||||
TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
|
||||
user Host NULL mysql 0 mysql PRIMARY 1 A # NULL NULL BTREE NULL mysql 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI #
|
||||
user User NULL mysql 0 mysql PRIMARY 2 A # NULL NULL BTREE NULL mysql 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI #
|
||||
select
|
||||
statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT,
|
||||
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
|
||||
from information_schema.statistics join information_schema.columns using(table_name,column_name) where table_name='user';
|
||||
TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA COLUMN_COMMENT
|
||||
user Host NULL mysql 0 mysql PRIMARY 1 A NULL NULL BTREE NULL mysql NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI
|
||||
user User NULL mysql 0 mysql PRIMARY 2 A NULL NULL BTREE NULL mysql NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
drop table t3;
|
||||
|
@ -1448,13 +1448,15 @@ create trigger t_ad after delete on t for each row insert into t values (old.s1)
|
||||
insert into t values (1);
|
||||
drop table t;
|
||||
USE mysql;
|
||||
TRUNCATE TABLE general_log;
|
||||
SET @old_general_log_state = @@global.general_log;
|
||||
SET GLOBAL general_log = 0;
|
||||
ALTER TABLE general_log ENGINE = MyISAM;
|
||||
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
|
||||
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
|
||||
ERROR HY000: Incorrect usage of PARTITION and log table
|
||||
ALTER TABLE general_log ENGINE = CSV;
|
||||
SET GLOBAL general_log = default;
|
||||
SET GLOBAL general_log = @old_general_log_state;
|
||||
use test;
|
||||
create table t2 (b int);
|
||||
create table t1 (b int)
|
||||
@ -1637,6 +1639,25 @@ select count(*) from t1, t2 where t1.createdDate = t2.createdDate;
|
||||
count(*)
|
||||
1
|
||||
drop table t1, t2;
|
||||
SET @orig_sql_mode = @@SQL_MODE;
|
||||
SET SQL_MODE='STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO';
|
||||
CREATE TABLE t1 (c1 INT)
|
||||
PARTITION BY LIST(1 DIV c1) (
|
||||
PARTITION p0 VALUES IN (NULL),
|
||||
PARTITION p1 VALUES IN (1)
|
||||
);
|
||||
INSERT INTO t1 VALUES (0);
|
||||
ERROR 22012: Division by 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
TRUNCATE t1;
|
||||
INSERT INTO t1 VALUES (NULL), (0), (1), (2);
|
||||
ERROR 22012: Division by 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE= @orig_sql_mode;
|
||||
create table t1 (s1 int) partition by hash(s1) partitions 2;
|
||||
create index i on t1 (s1);
|
||||
insert into t1 values (1);
|
||||
|
@ -1,37 +1,17 @@
|
||||
SET @global_slow_launch_time = @@GLOBAL.slow_launch_time;
|
||||
'#--------------------FN_DYNVARS_124_01-------------------------#'
|
||||
** Connection default **
|
||||
'#--------------------FN_DYNVARS_124_01-------------------------#'
|
||||
SET @@GLOBAL.slow_launch_time=0;
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
@@GLOBAL.slow_launch_time
|
||||
0
|
||||
** Connecting conn5 using username 'root' **
|
||||
** Connecting conn6 using username 'root' **
|
||||
** Connecting conn7 using username 'root' **
|
||||
** Connecting conn8 using username 'root' **
|
||||
** Connecting conn9 using username 'root' **
|
||||
** Connecting conn10 using username 'root' **
|
||||
** Connecting conn11 using username 'root' **
|
||||
** Connecting conn12 using username 'root' **
|
||||
** Connecting conn13 using username 'root' **
|
||||
** Connecting conn14 using username 'root' **
|
||||
** Connecting conn15 using username 'root' **
|
||||
** Connecting conn16 using username 'root' **
|
||||
show status like 'slow_launch_threads';
|
||||
Variable_name Value
|
||||
Slow_launch_threads 12
|
||||
12 Expected
|
||||
** Connection default **
|
||||
** Disconnecting conn5 **
|
||||
** Disconnecting conn6 **
|
||||
** Disconnecting conn7 **
|
||||
** Disconnecting conn8 **
|
||||
** Disconnecting conn9 **
|
||||
** Disconnecting conn10 **
|
||||
** Disconnecting conn11 **
|
||||
** Disconnecting conn12 **
|
||||
** Disconnecting conn13 **
|
||||
** Disconnecting conn14 **
|
||||
** Disconnecting conn15 **
|
||||
** Disconnecting conn16 **
|
||||
** Connecting conn1 using username 'root' **
|
||||
** Switch to connection default and disconnect conn1 **
|
||||
'#--------------------FN_DYNVARS_124_02-------------------------#'
|
||||
SET @@GLOBAL.slow_launch_time= 1000;
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
@@GLOBAL.slow_launch_time
|
||||
1000
|
||||
** Connecting conn2 using username 'root' **
|
||||
** Switch to connection default and disconnect conn2 **
|
||||
SET @@GLOBAL.slow_launch_time = @global_slow_launch_time;
|
||||
|
@ -1,3 +1,5 @@
|
||||
set @old_concurrent_insert= @@global.concurrent_insert;
|
||||
set @@global.concurrent_insert= 0;
|
||||
flush status;
|
||||
show status like 'Table_lock%';
|
||||
Variable_name Value
|
||||
@ -7,22 +9,31 @@ select * from information_schema.session_status where variable_name like 'Table_
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
TABLE_LOCKS_IMMEDIATE 2
|
||||
TABLE_LOCKS_WAITED 0
|
||||
SET SQL_LOG_BIN=0;
|
||||
# Switched to connection: con1
|
||||
set sql_log_bin=0;
|
||||
set @old_general_log = @@global.general_log;
|
||||
set global general_log = 'OFF';
|
||||
drop table if exists t1;
|
||||
create table t1(n int) engine=myisam;
|
||||
insert into t1 values(1);
|
||||
select 1;
|
||||
1
|
||||
1
|
||||
# Switched to connection: con2
|
||||
lock tables t1 read;
|
||||
unlock tables;
|
||||
lock tables t1 read;
|
||||
# Switched to connection: con1
|
||||
update t1 set n = 3;
|
||||
# Switched to connection: con2
|
||||
unlock tables;
|
||||
# Switched to connection: con1
|
||||
show status like 'Table_locks_waited';
|
||||
Variable_name Value
|
||||
Table_locks_waited 1
|
||||
drop table t1;
|
||||
set global general_log = @old_general_log;
|
||||
# Switched to connection: default
|
||||
select 1;
|
||||
1
|
||||
1
|
||||
@ -198,3 +209,4 @@ ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table '
|
||||
drop database db37908;
|
||||
drop procedure proc37908;
|
||||
drop function func37908;
|
||||
set @@global.concurrent_insert= @old_concurrent_insert;
|
||||
|
@ -188,3 +188,5 @@ b val
|
||||
12 e
|
||||
13 f
|
||||
14 g
|
||||
drop trigger t1_after_insert;
|
||||
drop table t1,t2;
|
||||
|
@ -1,5 +1,10 @@
|
||||
-- source include/have_innodb.inc
|
||||
-- source include/have_binlog_format_mixed_or_statement.inc
|
||||
|
||||
# You cannot use `KILL' with the Embedded MySQL Server library,
|
||||
# because the embedded server merely runs inside the threads of the host
|
||||
# application. -- the docs
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
###
|
||||
@ -22,6 +27,12 @@ select get_lock("a", 20);
|
||||
|
||||
connection con2;
|
||||
let $ID= `select connection_id()`;
|
||||
|
||||
#
|
||||
# reset master does not reset binlogging on the embedded server.
|
||||
# the test is not run on the embedded for reason of using KILL query.
|
||||
# `reset master' problem is to be addressed by bug#15580 fixes.
|
||||
#
|
||||
reset master;
|
||||
send insert into t2 values (null, null), (null, get_lock("a", 10));
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
33
mysql-test/suite/funcs_1/storedproc/param_check.inc
Normal file
33
mysql-test/suite/funcs_1/storedproc/param_check.inc
Normal file
@ -0,0 +1,33 @@
|
||||
# suite/funcs_1/storedproc/param_check.inc
|
||||
#
|
||||
# Auxiliary routine to be sourced by
|
||||
# suite/funcs_1/t/storedproc.test
|
||||
#
|
||||
# Purpose:
|
||||
# The assignment of float values to objects of type DECIMAL causes
|
||||
# conversions and in some cases an adjustment of the value to
|
||||
# a border of the value range.
|
||||
# Try to reveal that function and procedure parameters get a similar
|
||||
# mangling of the value like columns.
|
||||
#
|
||||
# Variables to be set before sourcing this routine
|
||||
# $test_value - value to be checked
|
||||
#
|
||||
# Created:
|
||||
# 2008-08-27 mleich
|
||||
#
|
||||
|
||||
eval UPDATE t1_aux SET f1 = NULL;
|
||||
# Enforce that all user variables have the same data type and initial value.
|
||||
SELECT f1,f1,f1,f1 INTO @v1_tab,@v1_proc,@v2_proc,@v1_func FROM t1_aux;
|
||||
|
||||
eval UPDATE t1_aux SET f1 = $test_value;
|
||||
SELECT f1 INTO @v1_tab FROM t1_aux;
|
||||
eval CALL sproc_1($test_value, @v1_proc);
|
||||
eval SET @v1_func = func_1($test_value);
|
||||
|
||||
if (`SELECT @v1_tab <> @v1_proc OR @v1_tab <> @v2_proc OR @v1_tab <> @v1_func`)
|
||||
{
|
||||
--echo Error: @v1_tab, @v1_proc, @v2_proc, @v1_func are not all equal
|
||||
SELECT @v1_tab, @v1_proc, @v2_proc, @v1_func;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#### suite/funcs_1/t/innodb_storedproc.test
|
||||
#
|
||||
|
||||
# This test cannot be used for the embedded server because we check here
|
||||
# privileges.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
--source include/have_innodb.inc
|
||||
let $engine_type= innodb;
|
||||
|
||||
--source suite/funcs_1/storedproc/load_sp_tb.inc
|
||||
|
||||
--source suite/funcs_1/storedproc/storedproc_master.inc
|
@ -1,13 +0,0 @@
|
||||
#### suite/funcs_1/t/memory_storedproc.test
|
||||
#
|
||||
|
||||
# This test cannot be used for the embedded server because we check here
|
||||
# privileges.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
|
||||
let $engine_type= memory;
|
||||
|
||||
--source suite/funcs_1/storedproc/load_sp_tb.inc
|
||||
|
||||
--source suite/funcs_1/storedproc/storedproc_master.inc
|
@ -1,13 +0,0 @@
|
||||
#### suite/funcs_1/t/myisam_storedproc.test
|
||||
#
|
||||
|
||||
# This test cannot be used for the embedded server because we check here
|
||||
# privileges.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
|
||||
let $engine_type= myisam;
|
||||
|
||||
--source suite/funcs_1/storedproc/load_sp_tb.inc
|
||||
|
||||
--source suite/funcs_1/storedproc/storedproc_master.inc
|
@ -1,13 +0,0 @@
|
||||
#### suite/funcs_1/t/ndb_storedproc.test
|
||||
#
|
||||
|
||||
# This test cannot be used for the embedded server because we check here
|
||||
# privileges.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
--source include/have_ndb.inc
|
||||
let $engine_type= ndb;
|
||||
|
||||
--source suite/funcs_1/storedproc/load_sp_tb.inc
|
||||
|
||||
--source suite/funcs_1/storedproc/storedproc_master.inc
|
File diff suppressed because it is too large
Load Diff
@ -158,10 +158,16 @@ DROP VIEW IF EXISTS v1;
|
||||
|
||||
--disable_query_log
|
||||
# Storage for the SELECTs to be used for the VIEW definition
|
||||
# Attention: my_select must be no too small because a statement like
|
||||
# SELECT LOAD_FILE(< file in MYSQLTEST_VARDIR >)
|
||||
# AS my_col,
|
||||
# id FROM t1_values';
|
||||
# might be a very long
|
||||
# Bug#38427 "Data too long" ... tests "<ENGINE>_func_view" fail
|
||||
CREATE TABLE t1_selects
|
||||
(
|
||||
id BIGINT AUTO_INCREMENT,
|
||||
my_select VARCHAR(200) NOT NULL,
|
||||
my_select VARCHAR(1000) NOT NULL,
|
||||
disable_result ENUM('Yes','No') NOT NULL default 'No',
|
||||
PRIMARY KEY(id),
|
||||
UNIQUE (my_select)
|
||||
|
@ -24,6 +24,9 @@ drop table if exists t1,t2;
|
||||
create table t1(f int);
|
||||
create table t2(f int);
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
10
|
||||
create temporary table t3(f int);
|
||||
insert into t3 select * from t1 where f<6;
|
||||
create temporary table t3(f int);
|
||||
|
@ -56,6 +56,8 @@ drop table if exists t1,t2;
|
||||
create table t1(f int);
|
||||
create table t2(f int);
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
# Auxiliary select (We want that all rows are in the table)
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
connection con1;
|
||||
create temporary table t3(f int);
|
||||
|
@ -1175,6 +1175,11 @@ CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY;
|
||||
SHOW INDEX FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#35924 DEFINER should be stored 'quoted' in I_S
|
||||
#
|
||||
--error ER_UNKNOWN_ERROR
|
||||
create user mysqltest_1@'test@test';
|
||||
|
||||
#
|
||||
# Bug#38821: Assert table->auto_increment_field_not_null failed in open_table()
|
||||
|
@ -14,4 +14,4 @@ csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows
|
||||
thread_cache_size_func : Bug#36733 main.thread_cache_size_func fails randomly
|
||||
log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows
|
||||
slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions
|
||||
|
||||
events-bugs.test : Bug #39848, Bug #39863, Bug #39569, Bug #37774
|
||||
|
@ -1,15 +1,16 @@
|
||||
--source include/have_bug25714.inc
|
||||
source include/federated.inc;
|
||||
|
||||
connection default;
|
||||
|
||||
connection master;
|
||||
# Disable concurrent inserts to avoid test failures when reading
|
||||
# data from concurrent connections (insert might return before
|
||||
# the data is actually in the table).
|
||||
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
|
||||
connection slave;
|
||||
SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.bug_13118_table;
|
||||
--enable_warnings
|
||||
@ -46,11 +47,12 @@ SELECT LAST_INSERT_ID();
|
||||
SELECT * from federated.t1;
|
||||
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
|
||||
connection slave;
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
||||
connection default;
|
||||
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||
|
@ -82,6 +82,7 @@ drop function func2;
|
||||
drop database `inf%`;
|
||||
drop procedure mbase.p1;
|
||||
drop database mbase;
|
||||
disconnect user1;
|
||||
|
||||
#
|
||||
# Bug#18282 INFORMATION_SCHEMA.TABLES provides inconsistent info about invalid views
|
||||
@ -210,3 +211,32 @@ drop view testdb_1.v1, v2, testdb_1.v3, v4;
|
||||
drop database testdb_1;
|
||||
drop user testdb_1@localhost;
|
||||
drop user testdb_2@localhost;
|
||||
|
||||
#
|
||||
# Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS
|
||||
#
|
||||
create database testdb_1;
|
||||
create table testdb_1.t1 (a int);
|
||||
create view testdb_1.v1 as select * from testdb_1.t1;
|
||||
|
||||
grant show view on testdb_1.* to mysqltest_1@localhost;
|
||||
grant select on testdb_1.v1 to mysqltest_1@localhost;
|
||||
|
||||
connect (user1,localhost,mysqltest_1,,test);
|
||||
connection user1;
|
||||
select table_schema, table_name, view_definition from information_schema.views
|
||||
where table_name='v1';
|
||||
show create view testdb_1.v1;
|
||||
|
||||
connection default;
|
||||
revoke select on testdb_1.v1 from mysqltest_1@localhost;
|
||||
connection user1;
|
||||
select table_schema, table_name, view_definition from information_schema.views
|
||||
where table_name='v1';
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
show create view testdb_1.v1;
|
||||
|
||||
connection default;
|
||||
drop user mysqltest_1@localhost;
|
||||
drop database testdb_1;
|
||||
disconnect user1;
|
||||
|
@ -546,10 +546,12 @@ select * from v1a join v1b on t1.b = t2.b;
|
||||
#
|
||||
# Bug #17523 natural join and information_schema
|
||||
#
|
||||
# We mask out the Privileges column because it differs with embedded server
|
||||
--replace_column 31 # 10 #
|
||||
select * from information_schema.statistics join information_schema.columns
|
||||
using(table_name,column_name) where table_name='user';
|
||||
# Omit columns.PRIVILIGES as it may vary with embedded server.
|
||||
# Omit columns.ORDINAL_POSITION and statistics.CARDINALITY as it may vary with hostname='localhost'.
|
||||
select
|
||||
statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT,
|
||||
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
|
||||
from information_schema.statistics join information_schema.columns using(table_name,column_name) where table_name='user';
|
||||
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
@ -1589,13 +1589,15 @@ drop table t;
|
||||
#
|
||||
|
||||
USE mysql;
|
||||
TRUNCATE TABLE general_log;
|
||||
SET @old_general_log_state = @@global.general_log;
|
||||
SET GLOBAL general_log = 0;
|
||||
ALTER TABLE general_log ENGINE = MyISAM;
|
||||
--error ER_WRONG_USAGE
|
||||
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
|
||||
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
|
||||
ALTER TABLE general_log ENGINE = CSV;
|
||||
SET GLOBAL general_log = default;
|
||||
SET GLOBAL general_log = @old_general_log_state;
|
||||
use test;
|
||||
|
||||
#
|
||||
@ -1791,6 +1793,29 @@ select count(*) from t1, t2 where t1.createdDate = t2.createdDate;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Bug #38083 Error-causing row inserted into partitioned table despite error
|
||||
#
|
||||
SET @orig_sql_mode = @@SQL_MODE;
|
||||
SET SQL_MODE='STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO';
|
||||
CREATE TABLE t1 (c1 INT)
|
||||
PARTITION BY LIST(1 DIV c1) (
|
||||
PARTITION p0 VALUES IN (NULL),
|
||||
PARTITION p1 VALUES IN (1)
|
||||
);
|
||||
|
||||
-- error ER_DIVISION_BY_ZERO
|
||||
INSERT INTO t1 VALUES (0);
|
||||
SELECT * FROM t1;
|
||||
TRUNCATE t1;
|
||||
-- error ER_DIVISION_BY_ZERO
|
||||
INSERT INTO t1 VALUES (NULL), (0), (1), (2);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE= @orig_sql_mode;
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Bug #38005 Partitions: error with insert select
|
||||
#
|
||||
|
@ -1,6 +1,6 @@
|
||||
############# mysql-test\t\SLOW_LAUNCH_time_func.test ##########################
|
||||
############# mysql-test\t\slow_launch_time_func.test ##########################
|
||||
# #
|
||||
# Variable Name: slow_launch_time #
|
||||
# Variable Name: slow_launch_time #
|
||||
# Scope: SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: NUMERIC #
|
||||
@ -9,14 +9,20 @@
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-03-02 #
|
||||
# Author: Sharique Abdullah #
|
||||
# Author: Sharique Abdullah #
|
||||
# #
|
||||
# Last change: 2008-09-09 mleich Reimplementation of this test #
|
||||
# - Fix Bug#36874 : main.slow_launch_time_func test fails #
|
||||
# randomly #
|
||||
# - Fix other failures and streamline the test #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable "slow_launch_time " #
|
||||
# that checks behavior of this variable in the following ways #
|
||||
# * Functionality based on different values #
|
||||
# #
|
||||
#Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#
|
||||
# option_mysqld_slow_launch_time #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# option_mysqld_slow_launch_time #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
@ -28,82 +34,71 @@
|
||||
|
||||
SET @global_slow_launch_time = @@GLOBAL.slow_launch_time;
|
||||
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_124_01-------------------------#'
|
||||
|
||||
#####################################
|
||||
# Increase number of connection #
|
||||
#####################################
|
||||
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
########################################################################
|
||||
# Reveal that a new connect gets counted as "slow launched thread" if #
|
||||
# @@GLOBAL.slow_launch_time = 0. #
|
||||
# The value of slow_launch_threads must be increased by 1. #
|
||||
########################################################################
|
||||
|
||||
SET @@GLOBAL.slow_launch_time=0;
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
|
||||
--echo ** Connecting conn5 using username 'root' **
|
||||
CONNECT (conn5,localhost,root,,);
|
||||
--echo ** Connecting conn6 using username 'root' **
|
||||
CONNECT (conn6,localhost,root,,);
|
||||
--echo ** Connecting conn7 using username 'root' **
|
||||
CONNECT (conn7,localhost,root,,);
|
||||
--echo ** Connecting conn8 using username 'root' **
|
||||
CONNECT (conn8,localhost,root,,);
|
||||
--echo ** Connecting conn9 using username 'root' **
|
||||
CONNECT (conn9,localhost,root,,);
|
||||
--echo ** Connecting conn10 using username 'root' **
|
||||
CONNECT (conn10,localhost,root,,);
|
||||
--echo ** Connecting conn11 using username 'root' **
|
||||
CONNECT (conn11,localhost,root,,);
|
||||
--echo ** Connecting conn12 using username 'root' **
|
||||
CONNECT (conn12,localhost,root,,);
|
||||
--echo ** Connecting conn13 using username 'root' **
|
||||
CONNECT (conn13,localhost,root,,);
|
||||
--echo ** Connecting conn14 using username 'root' **
|
||||
CONNECT (conn14,localhost,root,,);
|
||||
--echo ** Connecting conn15 using username 'root' **
|
||||
CONNECT (conn15,localhost,root,,);
|
||||
--echo ** Connecting conn16 using username 'root' **
|
||||
CONNECT (conn16,localhost,root,,);
|
||||
let $value_before=
|
||||
query_get_value(show status like 'slow_launch_threads', Value, 1);
|
||||
--echo ** Connecting conn1 using username 'root' **
|
||||
CONNECT (conn1,localhost,root,,);
|
||||
let $value_after=
|
||||
query_get_value(show status like 'slow_launch_threads', Value, 1);
|
||||
if (!`SELECT $value_after = $value_before + 1`)
|
||||
{
|
||||
--echo ERROR: Subtest FN_DYNVARS_124_01 failed
|
||||
--echo A new connect should be counted as 'slow_launch_thread' if
|
||||
--echo @@GLOBAL.slow_launch_time=0
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
echo Number of slow_launch_threads before new connect: $value_before;
|
||||
echo Number of slow_launch_threads after new connect: $value_after;
|
||||
}
|
||||
--echo ** Switch to connection default and disconnect conn1 **
|
||||
connection default;
|
||||
disconnect conn1;
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_124_02-------------------------#'
|
||||
|
||||
#
|
||||
# Checking status of slow_launch_threads
|
||||
#
|
||||
########################################################################
|
||||
# Reveal that a new connect gets not counted as "slow launched thread" #
|
||||
# if @@GLOBAL.slow_launch_time is sufficient big. #
|
||||
# The value of slow_launch_threads must not change. #
|
||||
########################################################################
|
||||
|
||||
show status like 'slow_launch_threads';
|
||||
--echo 12 Expected
|
||||
SET @@GLOBAL.slow_launch_time= 1000;
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
|
||||
let $value_before=
|
||||
query_get_value(show status like 'slow_launch_threads', Value, 1);
|
||||
--echo ** Connecting conn2 using username 'root' **
|
||||
CONNECT (conn2,localhost,root,,);
|
||||
let $value_after=
|
||||
query_get_value(show status like 'slow_launch_threads', Value, 1);
|
||||
if (!`SELECT $value_after = $value_before`)
|
||||
{
|
||||
--echo ERROR: Subtest FN_DYNVARS_124_02 failed
|
||||
--echo A new connect must not be counted as 'slow_launch_thread' if
|
||||
--echo @@GLOBAL.slow_launch_time is sufficient big.
|
||||
SELECT @@GLOBAL.slow_launch_time;
|
||||
echo Number of slow_launch_threads before new connect: $value_before;
|
||||
echo Number of slow_launch_threads after new connect: $value_after;
|
||||
}
|
||||
|
||||
#
|
||||
# Cleanup
|
||||
#
|
||||
|
||||
--echo ** Connection default **
|
||||
--echo ** Switch to connection default and disconnect conn2 **
|
||||
connection default;
|
||||
|
||||
--echo ** Disconnecting conn5 **
|
||||
disconnect conn5;
|
||||
--echo ** Disconnecting conn6 **
|
||||
disconnect conn6;
|
||||
--echo ** Disconnecting conn7 **
|
||||
disconnect conn7;
|
||||
--echo ** Disconnecting conn8 **
|
||||
disconnect conn8;
|
||||
--echo ** Disconnecting conn9 **
|
||||
disconnect conn9;
|
||||
--echo ** Disconnecting conn10 **
|
||||
disconnect conn10;
|
||||
--echo ** Disconnecting conn11 **
|
||||
disconnect conn11;
|
||||
--echo ** Disconnecting conn12 **
|
||||
disconnect conn12;
|
||||
--echo ** Disconnecting conn13 **
|
||||
disconnect conn13;
|
||||
--echo ** Disconnecting conn14 **
|
||||
disconnect conn14;
|
||||
--echo ** Disconnecting conn15 **
|
||||
disconnect conn15;
|
||||
--echo ** Disconnecting conn16 **
|
||||
disconnect conn16;
|
||||
|
||||
disconnect conn2;
|
||||
SET @@GLOBAL.slow_launch_time = @global_slow_launch_time;
|
||||
|
@ -4,6 +4,11 @@
|
||||
# embedded server causes different stat
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
# Disable concurrent inserts to avoid sporadic test failures as it might
|
||||
# affect the the value of variables used throughout the test case.
|
||||
set @old_concurrent_insert= @@global.concurrent_insert;
|
||||
set @@global.concurrent_insert= 0;
|
||||
|
||||
# PS causes different statistics
|
||||
--disable_ps_protocol
|
||||
|
||||
@ -12,54 +17,45 @@ connect (con2,localhost,root,,);
|
||||
|
||||
flush status;
|
||||
|
||||
# Logging to the general query log table (--log-output=table --log) increments
|
||||
# Table_locks_immediate with each query, so here Immediate becomes 1
|
||||
show status like 'Table_lock%';
|
||||
# ++Immediate = 2
|
||||
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||
|
||||
connection con1;
|
||||
# ++Immediate = 3
|
||||
SET SQL_LOG_BIN=0;
|
||||
set @old_general_log = @@global.general_log;
|
||||
--echo # Switched to connection: con1
|
||||
set sql_log_bin=0;
|
||||
set @old_general_log = @@global.general_log;
|
||||
set global general_log = 'OFF';
|
||||
--disable_warnings
|
||||
# ++Immediate = 4
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
# ++Immediate = 5
|
||||
create table t1(n int) engine=myisam;
|
||||
# Immediate + 2 = 7
|
||||
insert into t1 values(1);
|
||||
# Execute dummy select in order to ensure that tables used in the
|
||||
# previous statement are unlocked and closed.
|
||||
select 1;
|
||||
|
||||
connection con2;
|
||||
# Immediate + 2 = 9
|
||||
--echo # Switched to connection: con2
|
||||
lock tables t1 read;
|
||||
# ++Immediate = 10
|
||||
unlock tables;
|
||||
# Immediate + 2 = 12
|
||||
lock tables t1 read;
|
||||
|
||||
connection con1;
|
||||
# ++Immediate = 13
|
||||
--echo # Switched to connection: con1
|
||||
let $ID= `select connection_id()`;
|
||||
# ++Immediate = 14 (Not +2, because this increments Table_locks_waited)
|
||||
--send
|
||||
update t1 set n = 3;
|
||||
--send update t1 set n = 3
|
||||
|
||||
connection con2;
|
||||
--echo # Switched to connection: con2
|
||||
# wait for the other query to start executing
|
||||
let $wait_condition= select 1 from INFORMATION_SCHEMA.PROCESSLIST where ID = $ID and STATE = "Locked";
|
||||
# Immediate = 14 + $wait_condition_reps ($wait_timeout is 0, so no extra select
|
||||
# is done inside wait_condition.inc)
|
||||
--source include/wait_condition.inc
|
||||
# ++Immediate = 15 + $wait_condition_reps
|
||||
unlock tables;
|
||||
|
||||
connection con1;
|
||||
--echo # Switched to connection: con1
|
||||
reap;
|
||||
# ++Immediate = 16 + $wait_condition_reps
|
||||
show status like 'Table_locks_waited';
|
||||
drop table t1;
|
||||
set global general_log = @old_general_log;
|
||||
@ -67,6 +63,7 @@ set global general_log = @old_general_log;
|
||||
disconnect con2;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
--echo # Switched to connection: default
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
@ -295,3 +292,7 @@ drop database db37908;
|
||||
drop procedure proc37908;
|
||||
drop function func37908;
|
||||
# End of 5.1 tests
|
||||
|
||||
# Restore global concurrent_insert value. Keep in the end of the test file.
|
||||
--connection default
|
||||
set @@global.concurrent_insert= @old_concurrent_insert;
|
||||
|
@ -175,3 +175,5 @@ insert into t1 values ( 123, 'a'), ( 123, 'b'), ( 123, 'c'),
|
||||
insert into t1 values ( 654, 'a'), ( 654, 'b'), ( 654, 'c'),
|
||||
(654, 'd'), (654, 'e'), (654, 'f'), (654, 'g');
|
||||
select * from t2 order by b;
|
||||
drop trigger t1_after_insert;
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user