1v0.2.1

Row-Image Diffs

Visual diffing for UPDATE, INSERT, and DELETE rows with syntax-highlighted column changes.

When MySQL executes an UPDATE in Row-Based Replication (RBR), it logs a "Before Image" (the row state before modification) and an "After Image" (the row state after modification). Reading this in a terminal requires comparing two blocks of text column-by-column.

Binlog Row Image Formats

MySQL's binlog_row_image setting determines what data appears in the binlog:

  • FULL (default): The binlog logs all columns in both before-image and after-image.
  • MINIMAL: The before-image logs only primary key / unique index columns; the after-image logs only modified columns.
  • NOBLOB: Similar to FULL, but excludes unreferenced BLOB and TEXT columns.

Binsight automatically parses all three row image modes and correlates the schema table map to give you accurate column names.

Side-by-Side & Unified Diffs

Clicking any mutation event in Binsight slides open the Diff View:

Table: shop.orders #108UPDATE_ROWS
Before Image
id: 48382
status: 'PENDING'
amount: 119.20
After Image
id: 48382
status: 'COMPLETED'
amount: 119.20

Filtering Unaltered Columns

For production tables with 60+ columns, comparing before and after images causes cognitive overload. Binsight includes a toggle to Hide Unmodified Columns, instantly filtering down to only the 1 or 2 fields that actually changed during the transaction.

NULL & Blank String Detections

Binsight clearly distinguishes between:

  • An explicit SQL NULL (rendered as a distinct italicized pill).
  • An empty string "".
  • A zero integer 0.
ESC
Quick Commands
Navigation
↑ ↓ navigate↵ select