TableSyncNibble

TableSyncNibble is a table sync algo that uses TableNibbler.  This package implements a moderately complex sync algorithm:

  • Prepare to nibble the table (see TableNibbler.pm)
  • Fetch the nibble’th next row (say the 500th) from the current row
  • Checksum from the current row to the nibble’th as a chunk
  • If nibble differs, make a note to checksum the rows in the nibble (state 1)
  • Checksum them (state 2)
  • If a row differs, it must be synced See TableSyncStream for the TableSync interface this conforms to.

Functions

new

sub new

name

sub name

can_sync

sub can_sync

prepare_to_sync

sub prepare_to_sync

uses_checksum

sub uses_checksum

set_checksum_queries

sub set_checksum_queries

prepare_sync_cycle

sub prepare_sync_cycle

get_sql

sub get_sql

__get_boundaries

sub __get_boundaries

__make_boundary_sql

sub __make_boundary_sql

__get_explain_index

sub __get_explain_index

same_row

sub same_row

not_in_right

sub not_in_right

not_in_left

sub not_in_left

done_with_rows

sub done_with_rows

done

sub done

pending_changes

sub pending_changes

key_cols

sub key_cols

_d

sub _d
TableNibbler determines how to nibble a table by chunks of rows.
sub new
sub name
sub can_sync
sub prepare_to_sync
sub uses_checksum
sub set_checksum_queries
sub prepare_sync_cycle
sub get_sql
sub __get_boundaries
sub __make_boundary_sql
sub __get_explain_index
sub same_row
sub not_in_right
sub not_in_left
sub done_with_rows
sub done
sub pending_changes
sub key_cols
sub _d
Close