Opened 12 years ago

Closed 9 years ago

#175 closed defect (fixed)

xapian-compact functionality should be available from the C++ API

Reported by: Richard Boulton Owned by: Olly Betts
Priority: normal Milestone: 1.2.4
Component: Library API Version: SVN trunk
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Operating System: All

Description (last modified by Olly Betts)

The ability to merge and compact databases efficiently would be a useful addition to the C++ API (and the language bindings), so it would be good to move most of the implementation xapian-compact into the core, and change xapian-compact to just be a simple interface to this.

The first step is probably to refactor xapian-compact, such that it's not mainly a single massive function: I've made a start on this, and the patch will be attached to this bug shortly.

I'm happy to work on this, and don't think it's very much work, but Olly says that there are a few outstanding issues he needs to fix in xapian-compact, so I'll leave this bug assigned to him until then.

Attachments (1)

patch (11.2 KB ) - added by Richard Boulton 12 years ago.
Some refactoring of xapian-compact

Download all attachments as: .zip

Change History (8)

by Richard Boulton, 12 years ago

Attachment: patch added

Some refactoring of xapian-compact

comment:1 by Olly Betts, 12 years ago

Status: newassigned

comment:2 by Richard Boulton, 12 years ago

It would also be useful to be able to check databases from the C++ API and language bindings (ie, to bring the implementation of xapian-check into the core).

comment:3 by Richard Boulton, 12 years ago

Blocking: 238 added
Operating System: All

comment:5 by Olly Betts, 11 years ago

Description: modified (diff)

Whatever this API looks like should provide a way for the user to plug in their own algorithm for merging user meta data (since only they know what it means!)

comment:6 by Olly Betts, 9 years ago

Milestone: 1.2.x

This could be done in 1.2.x, so setting milestone.

comment:7 by Olly Betts, 9 years ago

Blocking: 238 removed
Milestone: 1.2.x1.2.4

Working on this currently.

The main missing pieces are what to do about progress output, and merging user metadata.

Removing block on #238, as we already have xapian-compact tests.

comment:8 by Olly Betts, 9 years ago

Resolution: fixed
Status: assignedclosed

Committed to trunk r15038.

Note: See TracTickets for help on using tickets.