Opened 15 years ago

Closed 5 years ago

#413 closed enhancement (fixed)

MultiValueKeyMaker not supported with the remote backend

Reported by: Olly Betts Owned by: Olly Betts
Priority: normal Milestone: 1.5.0
Component: Backend-Remote Version: git master
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Operating System: All

Description

We don't support user subclassed KeyMaker functions, which is a fair bit of work. Adding a special case to support just MultiValueKeyMaker wouldn't be as hard though.

(Son of #384)

Change History (9)

comment:1 by Olly Betts, 14 years ago

Milestone: 1.2.x

Probably suitable for 1.2.x.

comment:2 by Olly Betts, 13 years ago

Milestone: 1.2.x1.3.0

More suitable for 1.3 series now, as it would require at least a minor version bump, and I've not seen anyone asking about this.

comment:3 by Olly Betts, 13 years ago

Milestone: 1.3.01.3.x

comment:4 by Olly Betts, 10 years ago

Milestone: 1.3.x1.4.x

Still not seen any user requests, so shouldn't block 1.4.0.

comment:5 by German M. Bravo, 8 years ago

We do use custom KeyMakers; not only MultiValue. In our case, we were thinking about somehow registering key makers and have xapian pass the KeyMaker's registered name to the remote database. The remote database would have to have the same KeyMaker registered to be available.

comment:6 by German M. Bravo, 6 years ago

How could this be implemented? Particularly I use something like a Multi_MultiValueKeyMaker (which is essentially a multi-typed MultiValueKeyMaker)

comment:7 by Olly Betts, 5 years ago

Milestone: 1.4.x1.5.0
Version: SVN trunkgit master

Hmm, did I answer this on IRC before or something? Sorry if I just failed to respond at all previously.

For the general case, it ought to follow the pattern of MatchSpy, PostingSource, etc with serialise(), unserialise(), clone() and name() virtual methods which subclasses implement, and registering with a Registry object on the remote side.

Updating milestone - this is probably not 1.4.x material at this point in the release cycle.

comment:8 by Olly Betts, 5 years ago

Status: newassigned

Working on a patch (to support user subclasses, not just MultiValueKeyMaker).

comment:9 by Olly Betts, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed in git master by 53fbb5dd8441e141858bed81750daab9f82e9cef. This requires incompatible remote protocol changes, so can't easily be backported to 1.4.x.

Note: See TracTickets for help on using tickets.