On Fri, Mar 08, 2013 at 03:37:12PM +0100, Michael Schroeder wrote:
> I kind of like to have all the data in one file.
> 
> Anyway, attached is a little Packages database implementation I did yesterday
> and today.

Attached is the current version of my little experiments. The main
changes are:

- I switched to adler32 instead of md5sum
- I added a little index database implementation, rpmidx.[ch]

The index database is using mmap to map the database into memory.
It uses the main rpmpkg database for locking.

Performance and database sizes seem to be promising.

Things I'm not happy about:

- resizing currently works by rebuilding a new database and
  calling rename(). I can change this to be inplace, though, 
  it just makes to code a little bit slower because I don't
  want to simply overwrite the old data. I basically want an
  "atomic" switch to the new data.

- The generation count in idxdb is currently not used. My goal
  is to detect crashed database updates somehow.

Cheers,
  Michael.

-- 
Michael Schroeder                                   m...@suse.de
SUSE LINUX Products GmbH,  GF Jeff Hawn, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}

Attachment: rpmpkg.tar.bz2
Description: application/bzip-compressed-tar

_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to