Community Bonding Week 1: April 25-May 1


looking at xapian source code

Community Bonding Week 2: May 2-May 8


try to understand xapian classes

Community Bonding Week 3: May 9-May 15


learn to use github and fork my own xapian branch

Community Bonding Week 4: May 16-May 22


learn some knowledge about autoconf

Coding Week 1: May 23-May 29


Support Query. In Lua, we could pass tables to Xapian which contain various types, including string or userdata to construct the Query object.

Coding Week 2: May 30-June 5


Hearing from Lua developer feedback about the configure setting of binding Lua to Xapian, and improve the file and file.

Coding Week 3: June 6-June 12


Hearing from Lua developer feedback about the Lua interface to Xapian.
Merged Lua into Xapian trunk (Thanks Olly)

Coding Week 4: June 13-June 19


improve Lua smoketest, include:
Test the version number
Test document and database
Add code comments
Test MultiValueKeyMaker
Feature test for ValueSetMatchDecider
Feature tests for Query "term" constructor optional arguments
Test access to matchspy values

Coding Week 5: June 20-June 26


support MatchAll and MatchNothing These are wrapped for Lua as xapian.Query_MatchAll and xapian.Query_MatchNothing.

Coding Week 6: June 27-July 3


learn perl oo feature
learn pers xs code
learn Xapian.xs file about MatchDecider
learn Call Lua function in C
support MatchDecider for lua and add simplematchdecider.lua
improve MatchDecider support (function and MatchDecider both could be transfered when there need a MatchDecider argument)
Add MatchDecider documentation

Coding Week 7: July 4-July 10

Add MatchDecider testsuite
learn ruby and python iterator wrapping
Add xapian.Iterator function
Improve Iterator wrapper

Coding Week 8: July 11-July 17 (Midterm)

Coding Week 9: July 18-July 24


Using macro to improve xapian iterator in lua-binding, include: TermIterator,ESetIterator,MSetIterator,ValueIterator,PostingIterator and Xapian::PositionIterator.
learn generate-perl-exceptions and generate-python-exceptions
write generate-lua-exceptions file, and change to make this file to generate except.i file when compiling.
Change lua.i to include except.i, so that lua can deal with Xapian Error well.
For instance, db=xapian.Database("not_exit"), will give the users the following error: stdin:1: DatabaseOpeningError: Couldn't stat 'not_exit' stack traceback:

[C]: in function 'Database'
stdin:1: in main chunk
[C]: ?

Coding Week 10: July 25-July 31


wrap ExpandDecider, Stopper,StemImplementation, KeyMaker, MatchSpy, ValueRangeProcessor functor classes.

improving wrapping the Query constructor which takes a mixed list of Query objects and strings, using XapianSWIGQueryItor class which wraps the languages C API for looping over an array, and pass a pair of these iterators to Xapian's C++ API.

Coding Week 11: August 1-August 7


using lua##CLASS to take place of DEREF_CLASS
convert std::string in C++ to be lua string in the ExpandDeicer and Stopper class
Add ExpandDecider test-suite

Coding Week 12: August 8-August 14


use $descriptor(Xapian::CLASS *) to generate "SWIG_p_Xapian_CLASS", in order to simple the macro
use lua_pushlstring instead of lua_pushstring so that strings with embedded zero bytes in don't get truncated.
wrap std::string as lua string instead of user data, so that users can input strings for the lua sub-class(StemImplementation,ValueRangeProcessor)
Add stoplist method for QueryParser class
Test preservation of stopper set on query parser
Test preservation of stopper set on term generator
Define a function called expect, to compare two tables/values, to take place of assert in the testsuit file so that it is easy to test whether the results are we expected.
Add matchspy testsuite

Coding Week 13: August 15-August 22 (Final evaluation)

Last modified 7 years ago Last modified on 26/01/16 10:10:43
Note: See TracWiki for help on using the wiki.