summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-11-26 16:44:11 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-11-26 16:49:26 +0200
commit36359157cf2af0161f9ff856ed49c5a147c541f3 (patch)
tree3c4b0de433e20f5e1f1a4db7132b4705bf5588ff
parent1afed2077491329797dd577c5b1e6594e4a82f65 (diff)
parent971e1d8677be58cd51e558ef80042c76a5c21e1a (diff)
downloadmariadb-git-36359157cf2af0161f9ff856ed49c5a147c541f3.tar.gz
Merge 10.2 into 10.3
-rw-r--r--mysql-test/suite/innodb/r/truncate.result9
-rw-r--r--mysql-test/suite/innodb/t/truncate.test9
-rw-r--r--sql/table.cc1
3 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/truncate.result b/mysql-test/suite/innodb/r/truncate.result
index c8a81256d79..f389c351d70 100644
--- a/mysql-test/suite/innodb/r/truncate.result
+++ b/mysql-test/suite/innodb/r/truncate.result
@@ -18,3 +18,12 @@ SELECT * FROM t1;
c
character
DROP TABLE t1;
+#
+# MDEV-17831 TRUNCATE TABLE removes ROW_FORMAT=COMPRESSED
+#
+CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB KEY_BLOCK_SIZE=4;
+TRUNCATE TABLE t1;
+SHOW TABLE STATUS;
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
+t1 InnoDB # Compressed # # # # # # 1 # # NULL latin1_swedish_ci NULL key_block_size=4 0 N
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/truncate.test b/mysql-test/suite/innodb/t/truncate.test
index f0cfd3a5be1..16a3b06a8ae 100644
--- a/mysql-test/suite/innodb/t/truncate.test
+++ b/mysql-test/suite/innodb/t/truncate.test
@@ -27,3 +27,12 @@ ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
TRUNCATE TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-17831 TRUNCATE TABLE removes ROW_FORMAT=COMPRESSED
+--echo #
+CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB KEY_BLOCK_SIZE=4;
+TRUNCATE TABLE t1;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
+SHOW TABLE STATUS;
+DROP TABLE t1;
diff --git a/sql/table.cc b/sql/table.cc
index 1e09bb83210..ce7a34a8fe2 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -3928,6 +3928,7 @@ void update_create_info_from_table(HA_CREATE_INFO *create_info, TABLE *table)
create_info->table_options= share->db_create_options;
create_info->avg_row_length= share->avg_row_length;
create_info->row_type= share->row_type;
+ create_info->key_block_size= share->key_block_size;
create_info->default_table_charset= share->table_charset;
create_info->table_charset= 0;
create_info->comment= share->comment;