Class GtidSet

java.lang.Object
com.github.shyiko.mysql.binlog.GtidSet
Direct Known Subclasses:
MariadbGtidSet

public class GtidSet extends Object
GTID set as described in GTID Concepts of MySQL 5.6 Reference Manual.
 gtid_set: uuid_set[,uuid_set]...
 uuid_set: uuid:interval[:interval]...
 uuid: hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh, h: [0-9|A-F]
 interval: n[-n], (n >= 1)
 
Author:
Stanley Shyiko
  • Constructor Details

    • GtidSet

      public GtidSet(String gtidSet)
      Parameters:
      gtidSet - gtid set comprised of closed intervals (like MySQL's executed_gtid_set).
  • Method Details

    • parse

      public static GtidSet parse(String gtidStr)
    • getUUIDSets

      public Collection<GtidSet.UUIDSet> getUUIDSets()
      Get an immutable collection of the range of GTIDs for a single server.
      Returns:
      the GTID ranges for each server; never null
    • getUUIDSet

      public GtidSet.UUIDSet getUUIDSet(String uuid)
      Find the GtidSet.UUIDSet for the server with the specified UUID.
      Parameters:
      uuid - the UUID of the server
      Returns:
      the GtidSet.UUIDSet for the identified server, or null if there are no GTIDs from that server.
    • putUUIDSet

      public GtidSet.UUIDSet putUUIDSet(GtidSet.UUIDSet uuidSet)
      Add or replace the UUIDSet
      Parameters:
      uuidSet - UUIDSet to be added
      Returns:
      the old GtidSet.UUIDSet for the server given in uuidSet param, or null if there are no UUIDSet for the given server.
    • add

      public boolean add(String gtid)
      Parameters:
      gtid - GTID ("source_id:transaction_id")
      Returns:
      whether or not gtid was added to the set (false if it was already there)
    • addGtid

      public void addGtid(Object gtid)
    • isContainedWithin

      public boolean isContainedWithin(GtidSet other)
      Determine if the GTIDs represented by this object are contained completely within the supplied set of GTIDs. Note that if two GtidSets are equal, then they both are subsets of the other.
      Parameters:
      other - the other set of GTIDs; may be null
      Returns:
      true if all of the GTIDs in this set are equal to or completely contained within the supplied set of GTIDs, or false otherwise
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toSeenString

      public String toSeenString()