| 302 | } |
| 303 | |
| 304 | func ParseMysqlGTIDSet(str string) (GTIDSet, error) { |
| 305 | s := new(MysqlGTIDSet) |
| 306 | s.Sets = make(map[string]*UUIDSet) |
| 307 | if str == "" { |
| 308 | return s, nil |
| 309 | } |
| 310 | |
| 311 | sp := strings.Split(str, ",") |
| 312 | |
| 313 | // todo, handle redundant same uuid |
| 314 | for i := 0; i < len(sp); i++ { |
| 315 | if set, err := ParseUUIDSet(sp[i]); err != nil { |
| 316 | return nil, errors.Trace(err) |
| 317 | } else { |
| 318 | s.AddSet(set) |
| 319 | } |
| 320 | } |
| 321 | return s, nil |
| 322 | } |
| 323 | |
| 324 | func DecodeMysqlGTIDSet(data []byte) (*MysqlGTIDSet, error) { |
| 325 | s := new(MysqlGTIDSet) |