| 415 | } |
| 416 | |
| 417 | func (s *MysqlGTIDSet) String() string { |
| 418 | // there is only one element in gtid set |
| 419 | if len(s.Sets) == 1 { |
| 420 | for _, set := range s.Sets { |
| 421 | return set.String() |
| 422 | } |
| 423 | } |
| 424 | |
| 425 | // sort multi set |
| 426 | var buf bytes.Buffer |
| 427 | sets := make([]string, 0, len(s.Sets)) |
| 428 | for _, set := range s.Sets { |
| 429 | sets = append(sets, set.String()) |
| 430 | } |
| 431 | sort.Strings(sets) |
| 432 | |
| 433 | sep := "" |
| 434 | for _, set := range sets { |
| 435 | buf.WriteString(sep) |
| 436 | buf.WriteString(set) |
| 437 | sep = "," |
| 438 | } |
| 439 | |
| 440 | return hack.String(buf.Bytes()) |
| 441 | } |
| 442 | |
| 443 | func (s *MysqlGTIDSet) Encode() []byte { |
| 444 | var buf bytes.Buffer |