File: partition_import_57.test

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (140 lines) | stat: -rw-r--r-- 5,331 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
--echo #
--echo # Import regular and partitioned tablespaces exported from 5.7 after a restart.
--echo #

# The following SQL was used to create the tables on 5.7
# CREATE SCHEMA `export57`;
# USE `export57`;
# CREATE TABLE `t1` (`c1` INT);
# INSERT INTO `t1` values (1);
# CREATE TABLE `t2` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY '/tmp/data57';
# INSERT INTO `t2` values (1, 1);
# CREATE TABLE `t3` (`c1` INT) PARTITION BY KEY (`c1`) PARTITIONS 2;
# INSERT INTO `t3` values (1);
# CREATE TABLE `t4` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY '/tmp/data57' PARTITION BY HASH (`c1`) PARTITIONS 2;
# INSERT INTO `t4` values (1, 1);
# FLUSH TABLES `t1`, `t2`, `t3`, `t4` FOR EXPORT;
#
# Copy all .cfg and .ibd files for t1 and t3 files to /tmp/data57/export57
# /tmp/data57> zip -qr data57_exported.zip export57
# Copy data57_exported.zip to {branch mysql-8.0} mysql-test/std_data/data57_exported.zip
#
# UNLOCK TABLES;
# DROP TABLE `t1`, `t2`, `t3`, `t4`;

--source include/have_innodb_16k.inc
--let $MYSQLD_DATADIR = `select @@datadir`
--let $EXTERNAL_DIR = $MYSQL_TMP_DIR/external_dir

CREATE SCHEMA `import80`;
USE `import80`;

CREATE TABLE `t1` (`c1` INT);

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE `t2` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY ='$EXTERNAL_DIR';

CREATE TABLE `t3` (`c1` INT) PARTITION BY KEY (`c1`) PARTITIONS 2;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE `t4` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY ='$EXTERNAL_DIR' PARTITION BY HASH (`c1`) PARTITIONS 2;

CREATE TABLE `t5` (`c1` INT);
INSERT INTO `t5` values (1);

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE `t6` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY ='$EXTERNAL_DIR';
INSERT INTO `t6` values (1, 1);

CREATE TABLE `t7` (`c1` INT) PARTITION BY KEY (`c1`) PARTITIONS 2;
INSERT INTO `t7` values (1);

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE `t8` (`c1` INT PRIMARY KEY, `c2` INT) DATA DIRECTORY ='$EXTERNAL_DIR' PARTITION BY HASH (`c1`) PARTITIONS 2;
INSERT INTO `t8` values (1, 1);

FLUSH TABLES `t5`, `t6`, `t7`, `t8` FOR EXPORT;
--mkdir $MYSQL_TMP_DIR/export80/
--echo # Copy cfg and ibd files for `t5` to MYSQL_TMP_DIR/export80.
--copy_files_wildcard  $MYSQLD_DATADIR/import80/   $MYSQL_TMP_DIR/export80/  t5*
--echo # Copy cfg and ibd files for `t6` to MYSQL_TMP_DIR/export80.
--copy_files_wildcard  $EXTERNAL_DIR/import80/     $MYSQL_TMP_DIR/export80/  t6*
--echo # Copy cfg and ibd files for `t7` to MYSQL_TMP_DIR/export80.
--copy_files_wildcard  $MYSQLD_DATADIR/import80/   $MYSQL_TMP_DIR/export80/  t7*
--echo # Copy cfg and ibd files for `t8` to MYSQL_TMP_DIR/export80.
--copy_files_wildcard  $EXTERNAL_DIR/import80/     $MYSQL_TMP_DIR/export80/  t8*
UNLOCK TABLES;

ALTER TABLE `t1` DISCARD TABLESPACE;
ALTER TABLE `t2` DISCARD TABLESPACE;
ALTER TABLE `t3` DISCARD TABLESPACE;
ALTER TABLE `t4` DISCARD TABLESPACE;
ALTER TABLE `t5` DISCARD TABLESPACE;
ALTER TABLE `t6` DISCARD TABLESPACE;
ALTER TABLE `t7` DISCARD TABLESPACE;
ALTER TABLE `t8` DISCARD TABLESPACE;

--echo # Unzip exported 5.7 partitioned tables to MYSQL_TMP_DIR.
--copy_file $MYSQLTEST_VARDIR/std_data/data57_exported.zip $MYSQL_TMP_DIR/data57_exported.zip
--file_exists $MYSQL_TMP_DIR/data57_exported.zip
--exec unzip -qo $MYSQL_TMP_DIR/data57_exported.zip -d $MYSQL_TMP_DIR

--echo # Copy exported v5.7 t1 files to MYSQLD_DATADIR/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export57/  $MYSQLD_DATADIR/import80/  t1*

--echo # Copy exported v5.7 t2 files to MYSQL_TMP_DIR/external_dir/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export57/  $EXTERNAL_DIR/import80/  t2*

--echo # Copy exported v5.7 t3 files to MYSQLD_DATADIR/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export57/  $MYSQLD_DATADIR/import80/  t3*

--echo # Copy exported v5.7 t4 files to MYSQL_TMP_DIR/external_dir/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export57/  $EXTERNAL_DIR/import80/  t4*

--echo # Copy exported v8.0 t5 files to MYSQLD_DATADIR/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export80/  $MYSQLD_DATADIR/import80/  t5*

--echo # Copy exported v8.0 t6 files to MYSQL_TMP_DIR/external_dir/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export80/  $EXTERNAL_DIR/import80/  t6*

--echo # Copy exported v8.0 t7 files to MYSQLD_DATADIR/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export80/  $MYSQLD_DATADIR/import80/  t7*

--echo # Copy exported v8.0 t8 files to MYSQL_TMP_DIR/external_dir/import80.
--copy_files_wildcard  $MYSQL_TMP_DIR/export80/  $EXTERNAL_DIR/import80/  t8*

--source include/restart_mysqld.inc

ALTER TABLE `t1` IMPORT TABLESPACE;
select * from t1;

ALTER TABLE `t2` IMPORT TABLESPACE;
select * from t2;

ALTER TABLE `t3` IMPORT TABLESPACE;
select * from t3;

ALTER TABLE `t4` IMPORT TABLESPACE;
select * from t4;

ALTER TABLE `t5` IMPORT TABLESPACE;
select * from t5;

ALTER TABLE `t6` IMPORT TABLESPACE;
select * from t6;

ALTER TABLE `t7` IMPORT TABLESPACE;
select * from t7;

ALTER TABLE `t8` IMPORT TABLESPACE;
select * from t8;

--echo # Cleanup
DROP TABLE `t1`, `t2`, t3, t4, `t5`, `t6`, t7, t8;
USE `test`;
DROP SCHEMA `import80`;
--force-rmdir $EXTERNAL_DIR/import80
--force-rmdir $EXTERNAL_DIR
--force-rmdir $MYSQL_TMP_DIR/export57
--force-rmdir $MYSQL_TMP_DIR/export80
--remove_file $MYSQL_TMP_DIR/data57_exported.zip