anchor.diff:      {@member ColMemoryByName
         Get Column "AName" as a Blob}
       property ColBlobByName    [AName: String]: TBytes Read GetColBlobByName;
  +    property ColBlobAsStringByName[AName: String]: String Read GetColBlobAsStringByName;
       {@member ColTimeStampByName
         Get Column "AName" as a TTimeStamp}
       property ColTimeStampByName [AName: String]: DateSupport.TTimeStamp Read GetColTimeStampByName;
  
positive.code:     FTransactionId: String;
      function GetTables : TStrings;
      function LookupInternal(ATableName, AKeyField, AKeyValue, AValueField, ADefault: String; bAsString: Boolean): String;
    Protected
      // caching for blobs, for use by concrete implementations
      procedure KeepBoundObj(sName : String; AObj : TKDBBoundParam);
  
negative.code: function TKDBConnection.GetColBlob(ACol: Integer): TBytes;
  begin
    result := GetColBlobV(ACol);
  end;
  
  function TKDBConnection.GetColBlobAsString(ACol: Integer): String;
  begin
    result := TEncoding.UTF8.GetString(ColBlob[aCol]);
  end;
  
  function TKDBConnection.GetColBlobAsStringByName(AName: String): String;
  begin
    result := TEncoding.UTF8.GetString(ColBlobByName[AName]);
  end;
  
  function TKDBConnection.GetColBlobByName(AName: String): TBytes;
  