Commit 5280af2b authored by Monty's avatar Monty

Cleaned up some MTR tests

- Moved tests depending on utf8 characters from create to create_utf8
- Fixed some tests in create and sp that wrongly tried to create table
  from non existing table on existing table.  In a later patch we may
  first check if table exists, in which case the error message would
  change.
- Updated results for partition_debug_tokudb
parent dc91330d
......@@ -404,7 +404,7 @@ create table t3 like mysqltest.t3;
ERROR 42S01: Table 't3' already exists
create table non_existing_database.t1 like t1;
ERROR 42000: Unknown database 'non_existing_database'
create table t3 like non_existing_table;
create table t4 like non_existing_table;
ERROR 42S02: Table 'test.non_existing_table' doesn't exist
create temporary table t3 like t1;
ERROR 42S01: Table 't3' already exists
......@@ -914,8 +914,12 @@ unlock tables;
lock table t1 read, t2 read;
create table t2 select * from t1;
ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
create table t3 select * from t1;
ERROR HY000: Table 't3' was not locked with LOCK TABLES
create table if not exists t2 select * from t1;
ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
create table if not exists t3 select * from t1;
ERROR HY000: Table 't3' was not locked with LOCK TABLES
unlock tables;
lock table t1 read, t2 write;
create table t2 select * from t1;
......@@ -1053,95 +1057,6 @@ USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
set names utf8;
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
select database();
database()
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
use test;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
SCHEMA_NAME
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
(
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
);
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
select TABLE_NAME from information_schema.tables where
table_schema='test';
TABLE_NAME
имя_вью_кодировке_утф8_длиной_больше_чем_42
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
select COLUMN_NAME from information_schema.columns where
table_schema='test';
COLUMN_NAME
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
select INDEX_NAME from information_schema.statistics where
table_schema='test';
INDEX_NAME
имя_индекса_в_кодировке_утф8_длиной_больше_чем_48
select TABLE_NAME from information_schema.views where
table_schema='test';
TABLE_NAME
имя_вью_кодировке_утф8_длиной_больше_чем_42
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
Table Create Table
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 CREATE TABLE `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` (
`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` int(11) DEFAULT NULL,
KEY `имя_индекса_в_кодировке_утф8_длиной_больше_чем_48` (`имя_поля_в_кодировке_утф8_длиной_больше_чем_45`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
View Create View character_set_client collation_connection
имя_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имя_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` AS `имя_поля_в_кодировке_утф8_длиной_больше_чем_45` from `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where
trigger_schema='test';
TRIGGER_NAME
имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
create trigger
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
begin
end;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
ROUTINE_NAME
имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
begin
end;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
returns int
return 0;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
ROUTINE_NAME
имя_функции_в_кодировке_утф8_длиной_больше_чем_49
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
returns int
return 0;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
drop table if exists t1,t2,t3;
drop function if exists f1;
create function f1() returns int
......
......@@ -323,7 +323,7 @@ create table t3 like mysqltest.t3;
--error 1049
create table non_existing_database.t1 like t1;
--error ER_NO_SUCH_TABLE
create table t3 like non_existing_table;
create table t4 like non_existing_table;
--error 1050
create temporary table t3 like t1;
drop table t1, t2, t3;
......@@ -768,7 +768,6 @@ drop table t1;
--error ER_CANT_AGGREGATE_2COLLATIONS
create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin);
# Base vs temporary tables dillema (a.k.a. bug#24508 "Inconsistent
# results of CREATE TABLE ... SELECT when temporary table exists").
# In this situation we either have to create non-temporary table and
......@@ -776,6 +775,7 @@ create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1
# permanent table. After patch for Bug#47418, we create the base table and
# instert data into it, even though a temporary table exists with the same
# name.
create temporary table t1 (j int);
create table if not exists t1 select 1;
select * from t1;
......@@ -783,7 +783,6 @@ drop temporary table t1;
select * from t1;
drop table t1;
#
# CREATE TABLE ... SELECT and LOCK TABLES
#
......@@ -792,6 +791,7 @@ drop table t1;
# the server doesn't crash, hang and produces sensible errors.
# Includes test for bug #20662 "Infinite loop in CREATE TABLE
# IF NOT EXISTS ... SELECT with locked tables".
create table t1 (i int);
insert into t1 values (1), (2);
lock tables t1 read;
......@@ -812,8 +812,12 @@ unlock tables;
lock table t1 read, t2 read;
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
create table t2 select * from t1;
--error ER_TABLE_NOT_LOCKED
create table t3 select * from t1;
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
create table if not exists t2 select * from t1;
--error ER_TABLE_NOT_LOCKED
create table if not exists t3 select * from t1;
unlock tables;
lock table t1 read, t2 write;
--error ER_TABLE_EXISTS_ERROR
......@@ -990,87 +994,6 @@ USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
--error 1102
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
#
# Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
#
set names utf8;
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
select database();
use test;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
(
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
);
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
# database, table, field, key, view
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
--sorted_result
select TABLE_NAME from information_schema.tables where
table_schema='test';
select COLUMN_NAME from information_schema.columns where
table_schema='test';
select INDEX_NAME from information_schema.statistics where
table_schema='test';
select TABLE_NAME from information_schema.views where
table_schema='test';
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where
trigger_schema='test';
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
--error 1059
create trigger
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
--error 1059
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
begin
end;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
--error 1059
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
begin
end;
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
returns int
return 0;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
--error 1059
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
returns int
return 0;
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
#
# Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash
#
......
set names utf8;
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
select database();
database()
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
use test;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
SCHEMA_NAME
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
(
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
);
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
select TABLE_NAME from information_schema.tables where
table_schema='test';
TABLE_NAME
имя_вью_кодировке_утф8_длиной_больше_чем_42
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
select COLUMN_NAME from information_schema.columns where
table_schema='test';
COLUMN_NAME
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
select INDEX_NAME from information_schema.statistics where
table_schema='test';
INDEX_NAME
имя_индекса_в_кодировке_утф8_длиной_больше_чем_48
select TABLE_NAME from information_schema.views where
table_schema='test';
TABLE_NAME
имя_вью_кодировке_утф8_длиной_больше_чем_42
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
Table Create Table
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 CREATE TABLE `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` (
`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` int(11) DEFAULT NULL,
KEY `имя_индекса_в_кодировке_утф8_длиной_больше_чем_48` (`имя_поля_в_кодировке_утф8_длиной_больше_чем_45`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
View Create View character_set_client collation_connection
имя_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имя_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` AS `имя_поля_в_кодировке_утф8_длиной_больше_чем_45` from `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where
trigger_schema='test';
TRIGGER_NAME
имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
create trigger
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
begin
end;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
ROUTINE_NAME
имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
begin
end;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
returns int
return 0;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
ROUTINE_NAME
имя_функции_в_кодировке_утф8_длиной_больше_чем_49
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
returns int
return 0;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
#
# Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
#
set names utf8;
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
select database();
use test;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
(
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
);
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
# database, table, field, key, view
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
--sorted_result
select TABLE_NAME from information_schema.tables where
table_schema='test';
select COLUMN_NAME from information_schema.columns where
table_schema='test';
select INDEX_NAME from information_schema.statistics where
table_schema='test';
select TABLE_NAME from information_schema.views where
table_schema='test';
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where
trigger_schema='test';
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
--error 1059
create trigger
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
--error 1059
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
begin
end;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
--error 1059
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
begin
end;
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
returns int
return 0;
select ROUTINE_NAME from information_schema.routines where
routine_schema='test';
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
--error 1059
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
returns int
return 0;
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
set @save_use_stat_tables=@@global.use_stat_tables;
SET GLOBAL net_write_timeout = 900;
CREATE TABLE A (
pk INTEGER AUTO_INCREMENT PRIMARY KEY,
......@@ -20,5 +21,5 @@ connection default;
DROP TABLE A;
DROP PROCEDURE p_analyze;
DROP FUNCTION rnd3;
SET GLOBAL use_stat_tables = DEFAULT;
SET GLOBAL use_stat_tables = @save_use_stat_tables;
SET GLOBAL net_write_timeout = DEFAULT;
--source include/not_valgrind.inc
--source include/no_protocol.inc
set @save_use_stat_tables=@@global.use_stat_tables;
SET GLOBAL net_write_timeout = 900;
CREATE TABLE A (
......@@ -76,5 +78,5 @@ while ($trial)
DROP TABLE A;
DROP PROCEDURE p_analyze;
DROP FUNCTION rnd3;
SET GLOBAL use_stat_tables = DEFAULT;
SET GLOBAL use_stat_tables = @save_use_stat_tables;
SET GLOBAL net_write_timeout = DEFAULT;
......@@ -2444,7 +2444,7 @@ drop procedure if exists bug4904|
create procedure bug4904()
begin
declare continue handler for sqlstate 'HY000' begin end;
create table t2 as select * from t3;
create table not_existing_table as select * from t3;
end|
call bug4904()|
ERROR 42S02: Table 'test.t3' doesn't exist
......
......@@ -2918,7 +2918,7 @@ create procedure bug4904()
begin
declare continue handler for sqlstate 'HY000' begin end;
create table t2 as select * from t3;
create table not_existing_table as select * from t3;
end|
-- error 1146
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment