@@ -91,13 +91,13 @@ func TestMariaDBForward(t *testing.T) {
91
91
func TestParseMariaDBGTIDSet (t * testing.T ) {
92
92
cases := []struct {
93
93
gtidStr string
94
- subGTIDs map [uint32 ]string //domain ID => gtid string
95
- expectedStr []string // test String()
94
+ subGTIDs map [uint32 ]map [ uint32 ] string //domain ID => gtid string
95
+ expectedStr []string // test String()
96
96
hasError bool
97
97
}{
98
- {"0-1-1" , map [uint32 ]string {0 : "0-1-1" }, []string {"0-1-1" }, false },
98
+ {"0-1-1" , map [uint32 ]map [ uint32 ] string {0 : { 1 : "0-1-1" } }, []string {"0-1-1" }, false },
99
99
{"" , nil , []string {"" }, false },
100
- {"0-1-1,1-2-3" , map [uint32 ]string {0 : "0-1-1" , 1 : "1-2-3" }, []string {"0-1-1,1-2-3" , "1-2-3,0-1-1" }, false },
100
+ {"0-1-1,1-2-3" , map [uint32 ]map [ uint32 ] string {0 : { 1 : "0-1-1" } , 1 : { 2 : "1-2-3" } }, []string {"0-1-1,1-2-3" , "1-2-3,0-1-1" }, false },
101
101
{"0-1--1" , nil , nil , true },
102
102
}
103
103
@@ -112,9 +112,12 @@ func TestParseMariaDBGTIDSet(t *testing.T) {
112
112
113
113
// check sub gtid
114
114
require .Len (t , mariadbGTIDSet .Sets , len (cs .subGTIDs ))
115
- for domainID , gtid := range mariadbGTIDSet .Sets {
115
+ for domainID , set := range mariadbGTIDSet .Sets {
116
116
require .Contains (t , mariadbGTIDSet .Sets , domainID )
117
- require .Equal (t , cs .subGTIDs [domainID ], gtid .String ())
117
+ for serverID , gtid := range set {
118
+ require .Contains (t , cs .subGTIDs , domainID )
119
+ require .Equal (t , cs.subGTIDs [domainID ][serverID ], gtid .String ())
120
+ }
118
121
}
119
122
120
123
// check String() function
@@ -135,13 +138,13 @@ func TestMariaDBGTIDSetUpdate(t *testing.T) {
135
138
cases := []struct {
136
139
isNilGTID bool
137
140
gtidStr string
138
- subGTIDs map [uint32 ]string
141
+ subGTIDs map [uint32 ]map [ uint32 ] string
139
142
}{
140
- {true , "" , map [uint32 ]string {1 : "1-1-1" , 2 : "2-2-2" }},
141
- {false , "1-2-2" , map [uint32 ]string {1 : "1-2-2" , 2 : "2-2-2" }},
142
- {false , "1-2-1" , map [uint32 ]string {1 : "1-2-1" , 2 : "2-2-2" }},
143
- {false , "3-2-1" , map [uint32 ]string {1 : "1-1-1" , 2 : "2-2-2" , 3 : "3-2-1" }},
144
- {false , "3-2-1,4-2-1" , map [uint32 ]string {1 : "1-1-1" , 2 : "2-2-2" , 3 : "3-2-1" , 4 : "4-2-1" }},
143
+ {true , "" , map [uint32 ]map [ uint32 ] string {1 : { 1 : "1-1-1" } , 2 : { 2 : "2-2-2" } }},
144
+ {false , "1-2-2" , map [uint32 ]map [ uint32 ] string {1 : { 1 : "1-1-1" , 2 : "1-2-2" } , 2 : { 2 : "2-2-2" } }},
145
+ {false , "1-2-1" , map [uint32 ]map [ uint32 ] string {1 : { 1 : "1-1-1" , 2 : "1-2-1" } , 2 : { 2 : "2-2-2" } }},
146
+ {false , "3-2-1" , map [uint32 ]map [ uint32 ] string {1 : { 1 : "1-1-1" } , 2 : { 2 : "2-2-2" } , 3 : { 2 : "3-2-1" } }},
147
+ {false , "3-2-1,4-2-1" , map [uint32 ]map [ uint32 ] string {1 : { 1 : "1-1-1" } , 2 : { 2 : "2-2-2" } , 3 : { 2 : "3-2-1" } , 4 : { 2 : "4-2-1" } }},
145
148
}
146
149
147
150
for _ , cs := range cases {
@@ -158,9 +161,12 @@ func TestMariaDBGTIDSetUpdate(t *testing.T) {
158
161
}
159
162
// check sub gtid
160
163
require .Len (t , mariadbGTIDSet .Sets , len (cs .subGTIDs ))
161
- for domainID , gtid := range mariadbGTIDSet .Sets {
164
+ for domainID , set := range mariadbGTIDSet .Sets {
162
165
require .Contains (t , mariadbGTIDSet .Sets , domainID )
163
- require .Equal (t , cs .subGTIDs [domainID ], gtid .String ())
166
+ for serverID , gtid := range set {
167
+ require .Contains (t , cs .subGTIDs , domainID )
168
+ require .Equal (t , cs.subGTIDs [domainID ][serverID ], gtid .String ())
169
+ }
164
170
}
165
171
}
166
172
}
0 commit comments