WL#1042: Stream (similar to BLOB) type

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

One of the known problems of MySQL server is BLOB support.
At some extent it is much better than in other databases, allowing to use
arbitrary functions on BLOB, work with them exactly the same way as other fields
in user level functions and statements etc, on other hands there are few
problems with such concept
  - Size limitation. Practical limit is some 256-512M on 32bit Boxes,
  - All work with BLOB has to be done in whole peice, so if you need to add one 
    byte to the end of BLOB you will have to read whole size, and than write
modified version back.

There are 2 items for improvement we shall consider.

1) Functions for working with BLOB parts (similar to ones used for files)
  - reading part of the BLOB (substr)
  - replacing part of the BLOB
  - appending data to the BLOB
  - truncating Blob
We can also add functions convenient for some applications:
  - cuting the inner substring of BLOB
  - insertion of data in the middle of the BLOB.

2) As the next step, using the same low level infrastructure we can add some
sort of STREAM type, which would allow to transfer large items from client to
server and back without buffering whole result in memory.