gtid.go 513 B

123456789101112131415161718192021222324252627
  1. package mysql
  2. import "github.com/juju/errors"
  3. type GTIDSet interface {
  4. String() string
  5. // Encode GTID set into binary format used in binlog dump commands
  6. Encode() []byte
  7. Equal(o GTIDSet) bool
  8. Contain(o GTIDSet) bool
  9. Update(GTIDStr string) error
  10. }
  11. func ParseGTIDSet(flavor string, s string) (GTIDSet, error) {
  12. switch flavor {
  13. case MySQLFlavor:
  14. return ParseMysqlGTIDSet(s)
  15. case MariaDBFlavor:
  16. return ParseMariadbGTIDSet(s)
  17. default:
  18. return nil, errors.Errorf("invalid flavor %s", flavor)
  19. }
  20. }