ddl: add Test Case for /*T![placement] when create table (#28055)
This commit is contained in:
@ -2862,6 +2862,61 @@ func (s *testSerialDBSuite) TestCreateTableWithLike2(c *C) {
|
||||
c.Assert(t1.Meta().TiFlashReplica.AvailablePartitionIDs, DeepEquals, []int64{partition.Definitions[0].ID, partition.Definitions[1].ID})
|
||||
}
|
||||
|
||||
func (s *testSerialDBSuite) TestCreateTableWithSpecialComment(c *C) {
|
||||
tk := testkit.NewTestKit(c, s.store)
|
||||
tk.MustExec("use test")
|
||||
|
||||
// case for direct options
|
||||
tk.MustExec(`DROP TABLE IF EXISTS t`)
|
||||
tk.MustExec("CREATE TABLE `t` (\n" +
|
||||
" `a` int(11) DEFAULT NULL\n" +
|
||||
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin " +
|
||||
"/*T![placement] PRIMARY_REGION=\"cn-east-1\" " +
|
||||
"REGIONS=\"cn-east-1, cn-east-2\" " +
|
||||
"FOLLOWERS=2 " +
|
||||
"CONSTRAINTS=\"[+disk=ssd]\" " +
|
||||
"FOLLOWER_CONSTRAINTS=\"[+zone=cn-east-1]\" */",
|
||||
)
|
||||
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 "+
|
||||
"/*T![placement] PRIMARY_REGION=\"cn-east-1\" "+
|
||||
"REGIONS=\"cn-east-1, cn-east-2\" "+
|
||||
"FOLLOWERS=2 "+
|
||||
"CONSTRAINTS=\"[+disk=ssd]\" "+
|
||||
"FOLLOWER_CONSTRAINTS=\"[+zone=cn-east-1]\" */",
|
||||
))
|
||||
|
||||
// case for policy
|
||||
tk.MustExec(`DROP TABLE IF EXISTS t`)
|
||||
tk.MustExec("create placement policy x " +
|
||||
"PRIMARY_REGION=\"cn-east-1\" " +
|
||||
"REGIONS=\"cn-east-1, cn-east-2\" " +
|
||||
"FOLLOWERS=2 " +
|
||||
"FOLLOWER_CONSTRAINTS=\"[+zone=cn-east-1]\" " +
|
||||
"CONSTRAINTS=\"[+disk=ssd]\" ")
|
||||
tk.MustExec("create table t(a int)" +
|
||||
"/*T![placement] PLACEMENT POLICY=`x` */")
|
||||
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 "+
|
||||
"/*T![placement] PLACEMENT POLICY=`x` */",
|
||||
))
|
||||
|
||||
// case for policy with quotes
|
||||
tk.MustExec(`DROP TABLE IF EXISTS t`)
|
||||
tk.MustExec("create table t(a int)" +
|
||||
"/*T![placement] PLACEMENT POLICY=\"x\" */")
|
||||
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 "+
|
||||
"/*T![placement] PLACEMENT POLICY=`x` */",
|
||||
))
|
||||
}
|
||||
|
||||
func (s *testSerialDBSuite) TestCreateTable(c *C) {
|
||||
tk := testkit.NewTestKit(c, s.store)
|
||||
tk.MustExec("use test")
|
||||
|
||||
2
go.mod
2
go.mod
@ -49,7 +49,7 @@ require (
|
||||
github.com/pingcap/fn v0.0.0-20200306044125-d5540d389059
|
||||
github.com/pingcap/kvproto v0.0.0-20210806074406-317f69fb54b4
|
||||
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354
|
||||
github.com/pingcap/parser v0.0.0-20210907051057-948434fa20e4
|
||||
github.com/pingcap/parser v0.0.0-20210915160042-658edc1dba6a
|
||||
github.com/pingcap/sysutil v0.0.0-20210730114356-fcd8a63f68c5
|
||||
github.com/pingcap/tidb-tools v5.0.3+incompatible
|
||||
github.com/pingcap/tipb v0.0.0-20210802080519-94b831c6db55
|
||||
|
||||
4
go.sum
4
go.sum
@ -601,8 +601,8 @@ github.com/pingcap/log v0.0.0-20210625125904-98ed8e2eb1c7/go.mod h1:8AanEdAHATuR
|
||||
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354 h1:SvWCbCPh1YeHd9yQLksvJYAgft6wLTY1aNG81tpyscQ=
|
||||
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
|
||||
github.com/pingcap/parser v0.0.0-20210525032559-c37778aff307/go.mod h1:xZC8I7bug4GJ5KtHhgAikjTfU4kBv1Sbo3Pf1MZ6lVw=
|
||||
github.com/pingcap/parser v0.0.0-20210907051057-948434fa20e4 h1:v3paTSRJgM7E/2CqIxKd5gNSrlknktjIFNS9NMbpFLo=
|
||||
github.com/pingcap/parser v0.0.0-20210907051057-948434fa20e4/go.mod h1:Ek0mLKEqUGnQqBw1JnYrJQxsguU433DU68yUbsoeJ7s=
|
||||
github.com/pingcap/parser v0.0.0-20210915160042-658edc1dba6a h1:dApxKqk49ZaE/oErh4h5W27SJyyy5/oywIzpStANgLI=
|
||||
github.com/pingcap/parser v0.0.0-20210915160042-658edc1dba6a/go.mod h1:+xcMiiZzdIktT/Nqdfm81dkECJ2EPuoAYywd57py4Pk=
|
||||
github.com/pingcap/sysutil v0.0.0-20200206130906-2bfa6dc40bcd/go.mod h1:EB/852NMQ+aRKioCpToQ94Wl7fktV+FNnxf3CX/TTXI=
|
||||
github.com/pingcap/sysutil v0.0.0-20210315073920-cc0985d983a3/go.mod h1:tckvA041UWP+NqYzrJ3fMgC/Hw9wnmQ/tUkp/JaHly8=
|
||||
github.com/pingcap/sysutil v0.0.0-20210730114356-fcd8a63f68c5 h1:7rvAtZe/ZUzOKzgriNPQoBNvleJXBk4z7L3Z47+tS98=
|
||||
|
||||
Reference in New Issue
Block a user