WL#2955: RBR replication of partial blobs

Affects: Server-7.1   —   Status: Un-Assigned   —   Priority: Medium

SUMMARY
-------

Make it possible to replicate parts of blobs (chunks) via RBR instead
of having to send the whole blob via the replication line.

The benefits of this is:

1. FASTER
   That the will no longer be need to send the whole blob if
   one just updates part of it.

2. EASIER FOR NDB GLOBAL REPLICATION
   Since global replication needs to replicate blobs and NDB stores
   blobs in a special chunk-table, having this support in RBR
   will make it easier to implement cluster replication of blobs.


CONCERNS
--------

We need to think about if this is something we want to do.  Is it
common to only wanting to change parts of blobs?


MANAGEMENT DECISIONS
--------------------

2 Nov 2005: Since this WL is new, no decisions/opinions regarding this
has come from management.


DESIGN: Added Events
--------------------

Add three new binrow events for partial column data (one each for
WRITE, UPDATE, and DELETE).  For instance, the write_chunk event
should contain:

1. table id (as given by a table map event),
2. column name (perhaps this should be coded in the table map
   event too),
3. byte position (where data to be changes start in the blob),
4. length of chunk to be changed
5. chunk of data to be written into blob


DESIGN: Additions to handler interface
--------------------------------------

The handler must have a method which will update a chunk of a blob.