jdbc-protolib/src/main/java/com/streamsets/pipeline/lib/jdbc/multithread/util/OffsetQueryUtil.java
public static Map<String, String> getColumnsToOffsetMapFromOffsetFormat(String lastOffset) {
    Map<String, String> offsetColumnsToOffsetMap = new HashMap<>();
    if (StringUtils.isNotBlank(lastOffset)) {
      Iterator<String> offsetColumnsAndOffsetIterator = OFFSET_COLUMN_SPLITTER.split(lastOffset).iterator();
      while (offsetColumnsAndOffsetIterator.hasNext()) {
        String offsetColumnAndOffset = offsetColumnsAndOffsetIterator.next();
        String[] offsetColumnOffsetSplit = offsetColumnAndOffset.split("=");
        String offsetColumn = offsetColumnOffsetSplit[0];
        String offset = offsetColumnOffsetSplit[1];
        offsetColumnsToOffsetMap.put(offsetColumn, offset);
      }
    }
    return offsetColumnsToOffsetMap;
  }
public static Map<String, String> getColumnsToOffsetMapFromOffsetFormat(String lastOffset) {
    Map<String, String> offsetColumnsToOffsetMap = new HashMap<>();
    if (StringUtils.isNotBlank(lastOffset)) {
      Iterator<String> offsetColumnsAndOffsetIterator = OFFSET_COLUMN_SPLITTER.split(lastOffset).iterator();
      while (offsetColumnsAndOffsetIterator.hasNext()) {
        String offsetColumnAndOffset = offsetColumnsAndOffsetIterator.next();
        String[] offsetColumnOffsetSplit = offsetColumnAndOffset.split("=");
        String offsetColumn = offsetColumnOffsetSplit[0];
        String offset = offsetColumnOffsetSplit[1];
        offsetColumnsToOffsetMap.put(offsetColumn, offset);
      }
    }
    return offsetColumnsToOffsetMap;
  }
public static Map < String , String > getColumnsToOffsetMapFromOffsetFormat ( String lastOffset ) { Map < String , String > offsetColumnsToOffsetMap = new HashMap <> ( ) ; if ( StringUtils . isNotBlank ( lastOffset ) ) { Iterator < String > offsetColumnsAndOffsetIterator = OFFSET_COLUMN_SPLITTER . split ( lastOffset ) . iterator ( ) ; while ( offsetColumnsAndOffsetIterator . hasNext ( ) ) { String offsetColumnAndOffset = offsetColumnsAndOffsetIterator . next ( ) ; String [ ] offsetColumnOffsetSplit = offsetColumnAndOffset . split ( "=" ) ; String offsetColumn = offsetColumnOffsetSplit [ 0 ] ; String offset = offsetColumnOffsetSplit [ 1 ] ; offsetColumnsToOffsetMap . put ( offsetColumn , offset ) ; } } return offsetColumnsToOffsetMap ; }
Splits the offset in the form of (<column1>=<value1>::<column2>=<value2>::<column3>=<value3>) into a map of columns and values
@param lastOffset the last offset for the current table.
@return Map of columns to values
Splits the offset in the form of ( <column1 > = <value1 > :: <column2 > = <value2 > :: <column3 > = <value3 > ) into a map of columns and values