You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
fix(writeengine) MCOL-4202: use schema name when renaming table and change it's fields in syscat
This commit is contained in:
committed by
Leonid Fedorov
parent
74c1a38f2c
commit
fadb102712
@ -0,0 +1,24 @@
|
||||
DROP DATABASE IF EXISTS mcol4202_db1;
|
||||
DROP DATABASE IF EXISTS mcol4202_db2;
|
||||
CREATE DATABASE mcol4202_db1;
|
||||
CREATE DATABASE mcol4202_db2;
|
||||
CREATE TABLE mcol4202_db1.t1 (id INT) ENGINE=Columnstore;
|
||||
INSERT INTO mcol4202_db1.t1 values (111);
|
||||
RENAME TABLE mcol4202_db1.t1 TO mcol4202_db2.t1;
|
||||
SELECT * FROM mcol4202_db2.t1;
|
||||
id
|
||||
111
|
||||
USE mcol4202_db2;
|
||||
INSERT INTO t1 values (222);
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
111
|
||||
222
|
||||
RENAME TABLE mcol4202_db2.t1 to mcol4202_db1.t33333;
|
||||
USE mcol4202_db1;
|
||||
SELECT * from t33333;
|
||||
id
|
||||
111
|
||||
222
|
||||
DROP DATABASE mcol4202_db1;
|
||||
DROP DATABASE mcol4202_db2;
|
@ -69,8 +69,7 @@ a c1
|
||||
3 c
|
||||
4 d
|
||||
ALTER TABLE mcs12_db1.t1 RENAME TO mcs12_db2.t1;
|
||||
ERROR HY000: Internal error: CAL0001: Alter table Failed: The new tablename is already in use.
|
||||
DROP TABLE t1;
|
||||
DROP TABLE mcs12_db2.t1;
|
||||
CREATE TABLE t1 (i INTEGER) ENGINE=Columnstore;
|
||||
ALTER TABLE t1 ADD COLUMN (c CHAR(10));
|
||||
INSERT INTO t1 VALUES (1, 'a'),(2, 'b');
|
||||
|
27
mysql-test/columnstore/basic/t/mcol4202-crossdb-rename.test
Normal file
27
mysql-test/columnstore/basic/t/mcol4202-crossdb-rename.test
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Test ALTER TABLE schemas in various possible ways.
|
||||
#
|
||||
-- source ../include/have_columnstore.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mcol4202_db1;
|
||||
DROP DATABASE IF EXISTS mcol4202_db2;
|
||||
--enable_warnings
|
||||
|
||||
CREATE DATABASE mcol4202_db1;
|
||||
CREATE DATABASE mcol4202_db2;
|
||||
CREATE TABLE mcol4202_db1.t1 (id INT) ENGINE=Columnstore;
|
||||
INSERT INTO mcol4202_db1.t1 values (111);
|
||||
RENAME TABLE mcol4202_db1.t1 TO mcol4202_db2.t1;
|
||||
SELECT * FROM mcol4202_db2.t1;
|
||||
USE mcol4202_db2;
|
||||
INSERT INTO t1 values (222);
|
||||
SELECT * FROM t1;
|
||||
RENAME TABLE mcol4202_db2.t1 to mcol4202_db1.t33333;
|
||||
USE mcol4202_db1;
|
||||
SELECT * from t33333;
|
||||
|
||||
|
||||
DROP DATABASE mcol4202_db1;
|
||||
DROP DATABASE mcol4202_db2;
|
@ -37,12 +37,10 @@ ALTER TABLE t2 RENAME TO mcs12_db1.t1;
|
||||
--replace_regex /( COLLATE=latin1_swedish_ci)//
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
# Cross db rename errors in CS but not in innodb. Need to check.
|
||||
--error 1815
|
||||
ALTER TABLE mcs12_db1.t1 RENAME TO mcs12_db2.t1;
|
||||
|
||||
# Add column
|
||||
DROP TABLE t1;
|
||||
DROP TABLE mcs12_db2.t1;
|
||||
CREATE TABLE t1 (i INTEGER) ENGINE=Columnstore;
|
||||
ALTER TABLE t1 ADD COLUMN (c CHAR(10));
|
||||
INSERT INTO t1 VALUES (1, 'a'),(2, 'b');
|
||||
|
Reference in New Issue
Block a user