mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
a4fff491eb
Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade. Nicer output from mysql_upgrade and mysql_check Updated all arrays that used NAME_LEN to use SAFE_NAME_LEN to ensure that we don't break things accidently as names can now have a #mysql50# prefix. client/mysql_upgrade.c: If we are using verbose, also run mysqlcheck in verbose mode. client/mysqlcheck.c: Add more information if running in verbose mode Print 'Needs upgrade' instead of complex error if table needs to be upgraded Don't write connect information if verbose is not 2 or above mysql-test/r/drop.result: Updated test and results as we now support full table names mysql-test/r/grant.result: Now you get a correct error message if using #mysql with paths mysql-test/r/show_check.result: Update results as table names can temporarly be bigger than NAME_LEN (during upgrade) mysql-test/r/upgrade.result: Test upgrade for long table names. mysql-test/suite/funcs_1/r/is_tables_is.result: Updated old test result (had note been updated in a while) mysql-test/t/drop.test: Updated test and results as we now support full table names mysql-test/t/grant.test: Now you get a correct error message if using #mysql with paths mysql-test/t/upgrade.test: Test upgrade for long table names. sql/ha_partition.cc: NAME_LEN -> SAFE_NAME_LEN sql/item.cc: NAME_LEN -> SAFE_NAME_LEN sql/log_event.cc: NAME_LEN -> SAFE_NAME_LEN sql/mysql_priv.h: Added SAFE_NAME_LEN sql/rpl_filter.cc: NAME_LEN -> SAFE_NAME_LEN sql/sp.cc: NAME_LEN -> SAFE_NAME_LEN sql/sp_head.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_acl.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_base.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_connect.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_parse.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_prepare.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_select.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_show.cc: NAME_LEN -> SAFE_NAME_LEN Enlarge table names for SHOW TABLES to also include optional #mysql50# sql/sql_table.cc: Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade. sql/sql_trigger.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_udf.cc: NAME_LEN -> SAFE_NAME_LEN sql/sql_view.cc: NAME_LEN -> SAFE_NAME_LEN sql/table.cc: Fixed check_table_name() to not count #mysql50# as part of name If #mysql50# is part of the name, don't allow path characters in name.
128 lines
3.8 KiB
Text
128 lines
3.8 KiB
Text
drop table if exists t1;
|
|
drop database if exists mysqltest;
|
|
drop database if exists client_test_db;
|
|
drop table t1;
|
|
ERROR 42S02: Unknown table 't1'
|
|
create table t1(n int);
|
|
insert into t1 values(1);
|
|
create temporary table t1( n int);
|
|
insert into t1 values(2);
|
|
create table t1(n int);
|
|
ERROR 42S01: Table 't1' already exists
|
|
drop table t1;
|
|
select * from t1;
|
|
n
|
|
1
|
|
create database mysqltest;
|
|
drop database if exists mysqltest;
|
|
create database mysqltest;
|
|
create table mysqltest.mysqltest (n int);
|
|
insert into mysqltest.mysqltest values (4);
|
|
select * from mysqltest.mysqltest;
|
|
n
|
|
4
|
|
drop database if exists mysqltest;
|
|
affected rows: 1
|
|
create database mysqltest;
|
|
use mysqltest;
|
|
drop table table1, table2, table3, table4, table5, table6,
|
|
table7, table8, table9, table10, table11, table12, table13,
|
|
table14, table15, table16, table17, table18, table19, table20,
|
|
table21, table22, table23, table24, table25, table26, table27,
|
|
table28;
|
|
ERROR 42S02: Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table'
|
|
drop table table1, table2, table3, table4, table5, table6,
|
|
table7, table8, table9, table10, table11, table12, table13,
|
|
table14, table15, table16, table17, table18, table19, table20,
|
|
table21, table22, table23, table24, table25, table26, table27,
|
|
table28, table29, table30;
|
|
ERROR 42S02: Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table'
|
|
use test;
|
|
drop database mysqltest;
|
|
flush tables with read lock;
|
|
create database mysqltest;
|
|
Got one of the listed errors
|
|
unlock tables;
|
|
create database mysqltest;
|
|
show databases;
|
|
Database
|
|
information_schema
|
|
mtr
|
|
mysql
|
|
mysqltest
|
|
test
|
|
flush tables with read lock;
|
|
drop database mysqltest;
|
|
Got one of the listed errors
|
|
unlock tables;
|
|
drop database mysqltest;
|
|
show databases;
|
|
Database
|
|
information_schema
|
|
mtr
|
|
mysql
|
|
test
|
|
drop database mysqltest;
|
|
ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
|
|
drop table t1;
|
|
flush tables with read lock;
|
|
create table t1(n int);
|
|
ERROR HY000: Can't execute the query because you have a conflicting read lock
|
|
unlock tables;
|
|
create table t1(n int);
|
|
show tables;
|
|
Tables_in_test
|
|
t1
|
|
drop table t1;
|
|
drop database if exists mysqltest;
|
|
drop table if exists t1;
|
|
create table t1 (i int);
|
|
lock tables t1 read;
|
|
create database mysqltest;
|
|
drop table t1;
|
|
show open tables;
|
|
drop database mysqltest;
|
|
select 1;
|
|
1
|
|
1
|
|
unlock tables;
|
|
End of 5.0 tests
|
|
create database mysql_test;
|
|
create table mysql_test.t1(f1 int);
|
|
create table mysql_test.`#sql-347f_7` (f1 int);
|
|
create table mysql_test.`#sql-347f_8` (f1 int);
|
|
drop table mysql_test.`#sql-347f_8`;
|
|
drop database mysql_test;
|
|
|
|
# --
|
|
# -- Bug#29958: Weird message on DROP DATABASE if mysql.proc does not
|
|
# -- exist.
|
|
# --
|
|
DROP DATABASE IF EXISTS mysql_test;
|
|
CREATE DATABASE mysql_test;
|
|
DROP TABLE mysql.proc;
|
|
DROP DATABASE mysql_test;
|
|
Warnings:
|
|
Error 1146 Table 'mysql.proc' doesn't exist
|
|
|
|
# --
|
|
# -- End of Bug#29958.
|
|
# --
|
|
|
|
create database mysqltestbug26703;
|
|
use mysqltestbug26703;
|
|
create table `#mysql50#abc``def` ( id int );
|
|
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
|
ERROR 42000: Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
|
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
|
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1234` (a int);
|
|
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12345` (a int);
|
|
ERROR 42000: Incorrect table name '#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12345'
|
|
show tables;
|
|
Tables_in_mysqltestbug26703
|
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1234
|
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
#mysql50#abc`def
|
|
use test;
|
|
drop database mysqltestbug26703;
|
|
End of 5.1 tests
|