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:     Get Column ACol(index) as a blob
      }
      property ColBlob    [ACol: Integer]: TBytes Read GetColBlob;
      {@member ColTimestamp
      Get Column ACol(index) as a TTimestamp
      }
  
negative.code:     FTransactionId: String;
      function GetTables : TStrings;
      function LookupInternal(ATableName, AKeyField, AKeyValue, AValueField, ADefault: String; bAsString: Boolean): String;
      function GetColBlobAsString(ACol: Integer): String;
      function GetColBlobAsStringByName(AName: String): String;
    Protected
      // caching for blobs, for use by concrete implementations
      procedure KeepBoundObj(sName : String; AObj : TKDBBoundParam);
  