couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ayende Rahien" <aye...@ayende.com>
Subject Re: Newbie questions
Date Wed, 24 Sep 2008 08:43:04 GMT
On Wed, Sep 24, 2008 at 11:15 AM, Ayende Rahien <ayende@ayende.com> wrote:

> On Wed, Sep 24, 2008 at 11:04 AM, Jan Lehnardt <jan@apache.org> wrote:
>
>
>> I have to refer you to Damien or the source for that one. :-)
>>
>
> Trolling the sources now, but it is pretty hard to figure it out.
>

Okay, here are my current finding.
Views are trees keyed by a different key than the DB. Not sure yet how this
works with regards to sorting on non string data (dates,floats).

The format of the header of the file is this (for databases, views has
different header):

Header structure (database):
"gmk\0"
// assuming data is small enough:
db_header:
    writer_version
    update_seq
    summary_stream_state,
    fulldocinfo_by_id_btree_state
    docinfo_by_seq_btree_state
    local_docs_btree_state
    purge_seq
    purged_docs
// zero padding to 2048
md5 (including zero padding)

// else if data is too big
pointer_to_header_data, position in file
// zero padding to 2048
md5 (including zero padding)


notes:
 - append_binary leaves the current file position in an undefined position
(see pwrite documentation), but it looks like that is not handled in the
code.
 - I am not seeing the header written twice, I am seeing it always written
to pos 0, never to pos 2048

more to follow

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message