[Xapian-tickets] [Xapian] #523: Migrate from XS Search::Xapian to SWIG version

Xapian nobody at xapian.org
Sat Jun 25 11:47:24 BST 2011


#523: Migrate from XS Search::Xapian to SWIG version
----------------------------+-----------------------------------------------
 Reporter:  olly            |       Owner:  olly     
     Type:  defect          |      Status:  new      
 Priority:  normal          |   Milestone:  1.3.0    
Component:  Search::Xapian  |     Version:  SVN trunk
 Severity:  normal          |    Keywords:           
Blockedby:                  |    Platform:  All      
 Blocking:                  |  
----------------------------+-----------------------------------------------
Description changed by olly:

Old description:

> This ticket is to track the issues remaining to solve before the SWIG
> Perl bindings are a complete replacement for the XS ones.
>
>  * {{{"$it"}}} doesn't work in SWIG, while in XS it dereferences (for
> !TermIterator and !ValueIterator at least).  I did some digging last year
> and it seemed there was some problematic interaction with eq/ne which I
> didn't get to the bottom of.
>  * "Stringify" is also missing for subclasses of Error (which in the XS
> version I'm using in 1.2.4 to give backwards compatibility for cases
> which were still throwing string exceptions in 1.2.3).
>  * XS version has simple anon-sub wrappers for !MatchDecider and
> !ExpandDecider.  SWIG doesn't support directors for Perl in current
> releases (though there's work on a branch).  But perhaps we can support
> these simple wrappers without needing directors.
>
> One option is to deprecate the stringify stuff and make the switch at the
> start of the next release series.

New description:

 This ticket is to track the issues remaining to solve before the SWIG Perl
 bindings are a complete replacement for the XS ones.

  * {{{"$it"}}} doesn't work in SWIG, while in XS it dereferences (for
 !TermIterator and !ValueIterator at least).  I did some digging last year
 and it seemed there was some problematic interaction with eq/ne which I
 didn't get to the bottom of.
  * "Stringify" is also missing for subclasses of Error (which in the XS
 version I'm using in 1.2.4 to give backwards compatibility for cases which
 were still throwing string exceptions in 1.2.3).
  * XS version has simple anon-sub wrappers for !MatchDecider and
 !ExpandDecider.  SWIG doesn't support directors for Perl in current
 releases (though there's work on a branch).  But perhaps we can support
 these simple wrappers without needing directors.
  * The SWIG-generated version is fussier about what sort of scalars you
 pass - for example, if an integer is expected, passing a string containing
 an integer or floating point number doesn't work, at least in some cases.

 One option is to deprecate the stringify stuff and make the switch at the
 start of the next release series.

--

-- 
Ticket URL: <http://trac.xapian.org/ticket/523#comment:3>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list