code: def _read_missing_lob_data_from_db(self, readoffset, readlength):
          
          logger.debug('Reading missing lob data from db. Offset: %d, readlength: %d' % (readoffset, readlength))
          lob_data = self._make_read_lob_request(readoffset, readlength)
  
          # make sure we really got as many items (not bytes!) as requested:
          enc_lob_data = self._decode_lob_data(lob_data)
          assert readlength == len(enc_lob_data), 'expected: %d, received; %d' % (readlength, len(enc_lob_data))
  
          # jump to end of data, and append new and properly decoded data to it:
          # import pdb;pdb.set_trace()
          self.data.seek(0, SEEK_END)
          self.data.write(enc_lob_data)
          self._current_lob_length = len(self.data.getvalue())
docs: Read LOB request part from database