Skip to content

Commit

Permalink
executor: add quote for partition name (#14793) (#16315)
Browse files Browse the repository at this point in the history
  • Loading branch information
sre-bot authored Jun 1, 2020

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 47571bc commit 90eb010
Showing 5 changed files with 38 additions and 38 deletions.
2 changes: 1 addition & 1 deletion ddl/db_partition_test.go
Original file line number Diff line number Diff line change
@@ -215,7 +215,7 @@ func (s *testIntegrationSuite9) TestCreateTableWithPartition(c *C) {
partition p0 values less than (to_seconds('2004-01-01')),
partition p1 values less than (to_seconds('2005-01-01')));`)
tk.MustQuery("show create table t26").Check(
testkit.Rows("t26 CREATE TABLE `t26` (\n `a` date DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\nPARTITION BY RANGE ( to_seconds(`a`) ) (\n PARTITION p0 VALUES LESS THAN (63240134400),\n PARTITION p1 VALUES LESS THAN (63271756800)\n)"))
testkit.Rows("t26 CREATE TABLE `t26` (\n `a` date DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\nPARTITION BY RANGE ( to_seconds(`a`) ) (\n PARTITION `p0` VALUES LESS THAN (63240134400),\n PARTITION `p1` VALUES LESS THAN (63271756800)\n)"))
tk.MustExec(`create table t27 (a bigint unsigned not null)
partition by range(a) (
partition p0 values less than (10),
4 changes: 2 additions & 2 deletions executor/seqtest/seq_executor_test.go
Original file line number Diff line number Diff line change
@@ -502,7 +502,7 @@ func (s *seqTestSuite) TestShow(c *C) {
tk.MustQuery("show create table t").Check(testutil.RowsWithSep("|",
"t CREATE TABLE `t` (\n"+
" `a` int(11) DEFAULT NULL\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"+"\nPARTITION BY RANGE ( `a` ) (\n PARTITION p0 VALUES LESS THAN (10),\n PARTITION p1 VALUES LESS THAN (20),\n PARTITION p2 VALUES LESS THAN (MAXVALUE)\n)",
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"+"\nPARTITION BY RANGE ( `a` ) (\n PARTITION `p0` VALUES LESS THAN (10),\n PARTITION `p1` VALUES LESS THAN (20),\n PARTITION `p2` VALUES LESS THAN (MAXVALUE)\n)",
))

tk.MustExec(`drop table if exists t`)
@@ -525,7 +525,7 @@ func (s *seqTestSuite) TestShow(c *C) {
" `b` int(11) DEFAULT NULL,\n"+
" `c` char(1) DEFAULT NULL,\n"+
" `d` int(11) DEFAULT NULL\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"+"\nPARTITION BY RANGE COLUMNS(a,d,c) (\n PARTITION p0 VALUES LESS THAN (5,10,\"ggg\"),\n PARTITION p1 VALUES LESS THAN (10,20,\"mmm\"),\n PARTITION p2 VALUES LESS THAN (15,30,\"sss\"),\n PARTITION p3 VALUES LESS THAN (50,MAXVALUE,MAXVALUE)\n)",
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"+"\nPARTITION BY RANGE COLUMNS(a,d,c) (\n PARTITION `p0` VALUES LESS THAN (5,10,\"ggg\"),\n PARTITION `p1` VALUES LESS THAN (10,20,\"mmm\"),\n PARTITION `p2` VALUES LESS THAN (15,30,\"sss\"),\n PARTITION `p3` VALUES LESS THAN (50,MAXVALUE,MAXVALUE)\n)",
))

// Test hash partition
2 changes: 1 addition & 1 deletion executor/show.go
Original file line number Diff line number Diff line change
@@ -966,7 +966,7 @@ func appendPartitionInfo(partitionInfo *model.PartitionInfo, buf *bytes.Buffer)
}
for i, def := range partitionInfo.Definitions {
lessThans := strings.Join(def.LessThan, ",")
fmt.Fprintf(buf, " PARTITION %s VALUES LESS THAN (%s)", def.Name, lessThans)
fmt.Fprintf(buf, " PARTITION `%s` VALUES LESS THAN (%s)", def.Name, lessThans)
if i < len(partitionInfo.Definitions)-1 {
buf.WriteString(",\n")
} else {
48 changes: 24 additions & 24 deletions executor/show_test.go
Original file line number Diff line number Diff line change
@@ -574,18 +574,18 @@ func (s *testSuite2) TestShowCreateTable(c *C) {
"KEY `IDX_UserId_EndTime` (`USER_ID`,`END_TIME`)" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=505488 " +
"PARTITION BY RANGE ( month(`end_time`) ) (" +
"PARTITION p1 VALUES LESS THAN (2)," +
"PARTITION p2 VALUES LESS THAN (3)," +
"PARTITION p3 VALUES LESS THAN (4)," +
"PARTITION p4 VALUES LESS THAN (5)," +
"PARTITION p5 VALUES LESS THAN (6)," +
"PARTITION p6 VALUES LESS THAN (7)," +
"PARTITION p7 VALUES LESS THAN (8)," +
"PARTITION p8 VALUES LESS THAN (9)," +
"PARTITION p9 VALUES LESS THAN (10)," +
"PARTITION p10 VALUES LESS THAN (11)," +
"PARTITION p11 VALUES LESS THAN (12)," +
"PARTITION p12 VALUES LESS THAN (MAXVALUE))")
"PARTITION `p1` VALUES LESS THAN (2)," +
"PARTITION `p2` VALUES LESS THAN (3)," +
"PARTITION `p3` VALUES LESS THAN (4)," +
"PARTITION `p4` VALUES LESS THAN (5)," +
"PARTITION `p5` VALUES LESS THAN (6)," +
"PARTITION `p6` VALUES LESS THAN (7)," +
"PARTITION `p7` VALUES LESS THAN (8)," +
"PARTITION `p8` VALUES LESS THAN (9)," +
"PARTITION `p9` VALUES LESS THAN (10)," +
"PARTITION `p10` VALUES LESS THAN (11)," +
"PARTITION `p11` VALUES LESS THAN (12)," +
"PARTITION `p12` VALUES LESS THAN (MAXVALUE))")
tk.MustQuery("show create table log").Check(testutil.RowsWithSep("|",
"log CREATE TABLE `log` (\n"+
" `LOG_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,\n"+
@@ -601,18 +601,18 @@ func (s *testSuite2) TestShowCreateTable(c *C) {
" KEY `IDX_UserId_EndTime` (`USER_ID`,`END_TIME`)\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=505488\n"+
"PARTITION BY RANGE ( month(`end_time`) ) (\n"+
" PARTITION p1 VALUES LESS THAN (2),\n"+
" PARTITION p2 VALUES LESS THAN (3),\n"+
" PARTITION p3 VALUES LESS THAN (4),\n"+
" PARTITION p4 VALUES LESS THAN (5),\n"+
" PARTITION p5 VALUES LESS THAN (6),\n"+
" PARTITION p6 VALUES LESS THAN (7),\n"+
" PARTITION p7 VALUES LESS THAN (8),\n"+
" PARTITION p8 VALUES LESS THAN (9),\n"+
" PARTITION p9 VALUES LESS THAN (10),\n"+
" PARTITION p10 VALUES LESS THAN (11),\n"+
" PARTITION p11 VALUES LESS THAN (12),\n"+
" PARTITION p12 VALUES LESS THAN (MAXVALUE)\n"+
" PARTITION `p1` VALUES LESS THAN (2),\n"+
" PARTITION `p2` VALUES LESS THAN (3),\n"+
" PARTITION `p3` VALUES LESS THAN (4),\n"+
" PARTITION `p4` VALUES LESS THAN (5),\n"+
" PARTITION `p5` VALUES LESS THAN (6),\n"+
" PARTITION `p6` VALUES LESS THAN (7),\n"+
" PARTITION `p7` VALUES LESS THAN (8),\n"+
" PARTITION `p8` VALUES LESS THAN (9),\n"+
" PARTITION `p9` VALUES LESS THAN (10),\n"+
" PARTITION `p10` VALUES LESS THAN (11),\n"+
" PARTITION `p11` VALUES LESS THAN (12),\n"+
" PARTITION `p12` VALUES LESS THAN (MAXVALUE)\n"+
")"))
//for issue #11831
tk.MustExec("create table ttt4(a varchar(123) default null collate utf8mb4_unicode_ci)engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci;")
20 changes: 10 additions & 10 deletions table/tables/partition_test.go
Original file line number Diff line number Diff line change
@@ -328,11 +328,11 @@ func (ts *testSuite) TestTimeZoneChange(c *C) {
" `creation_dt` timestamp DEFAULT CURRENT_TIMESTAMP\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
"PARTITION BY RANGE ( unix_timestamp(`creation_dt`) ) (\n" +
" PARTITION p5 VALUES LESS THAN (1578035400),\n" +
" PARTITION p6 VALUES LESS THAN (1578035700),\n" +
" PARTITION p7 VALUES LESS THAN (1578036000),\n" +
" PARTITION p8 VALUES LESS THAN (1578036300),\n" +
" PARTITION p9 VALUES LESS THAN (MAXVALUE)\n)"))
" PARTITION `p5` VALUES LESS THAN (1578035400),\n" +
" PARTITION `p6` VALUES LESS THAN (1578035700),\n" +
" PARTITION `p7` VALUES LESS THAN (1578036000),\n" +
" PARTITION `p8` VALUES LESS THAN (1578036300),\n" +
" PARTITION `p9` VALUES LESS THAN (MAXVALUE)\n)"))
tk.MustExec("DROP TABLE timezone_test")

// Note that the result of "show create table" varies with time_zone.
@@ -343,11 +343,11 @@ func (ts *testSuite) TestTimeZoneChange(c *C) {
" `creation_dt` timestamp DEFAULT CURRENT_TIMESTAMP\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
"PARTITION BY RANGE ( unix_timestamp(`creation_dt`) ) (\n" +
" PARTITION p5 VALUES LESS THAN (1578064200),\n" +
" PARTITION p6 VALUES LESS THAN (1578064500),\n" +
" PARTITION p7 VALUES LESS THAN (1578064800),\n" +
" PARTITION p8 VALUES LESS THAN (1578065100),\n" +
" PARTITION p9 VALUES LESS THAN (MAXVALUE)\n)"))
" PARTITION `p5` VALUES LESS THAN (1578064200),\n" +
" PARTITION `p6` VALUES LESS THAN (1578064500),\n" +
" PARTITION `p7` VALUES LESS THAN (1578064800),\n" +
" PARTITION `p8` VALUES LESS THAN (1578065100),\n" +
" PARTITION `p9` VALUES LESS THAN (MAXVALUE)\n)"))

// Change time zone and insert data, check the data locates in the correct partition.
tk.MustExec("SET @@time_zone = 'Asia/Shanghai'")

0 comments on commit 90eb010

Please sign in to comment.