Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/gdatastore/index.py
Commit message (Collapse)AuthorAgeFilesLines
* Add support for matching against unknown properties in dictHEADmasterSascha Silbe2018-01-041-2/+2
| | | | | | We are already indexing "unknown" (i.e. non-standard) properties so there's no reason not to support performing exact matches against them.
* Reindex entry on new commit (metadata update)Sascha Silbe2014-05-241-5/+11
| | | | | | | | | | When re-indexing entries, take the git commit id into account so that we notice entries we already know about but where the metadata has changed. The first re-index run after an update will need to process all entries in order to add the commit_id value to the index. This may take a long time. This change is backwards compatible.
* Add support for additional, read-only data storesSascha Silbe2013-07-291-6/+56
| | | | | | | | | | | | | | | Some users may have direct access to additional data stores in gdatastore format. Allow the user to "register" them by placing links inside the (new) "extra-stores" directory and use them as additional sources. Modification is only supported for the primary store. The additional ones are used for reading only. In particular, trying to remove an entry that's contained in an extra store will yield an error (no shadowing). The extra stores will need to use exactly the same on-disk format as the primary one. No automatic migration is done.
* Add support for uid in Xapian query for Sugar 0.84+ find() APISascha Silbe2013-07-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | With the Sugar 0.84+ API (without version support), there are three ways to look up the metadata of a single entry: 1. get_properties(uid) 2. find({'uid': uid}, {}) 3. find({'query': 'uid:' + uid}, {}) The former two were already supported by explicit conversion inside the API adapter class. The last one matches the uid inside a Xapian query string. This is more tricky to support as the string gets parsed by Xapian, not ourselves. We're going the simple route for now and just add a 'uid' compatibility prefix for our custom Xapian query parser. This will leak some Sugar API details to other APIs. If any issue comes up because of that, we'll need to pass in different sets of prefixes to Index.find() for each query, based on which API was used.
* Don't index terms longer than the hardcoded Xapian limitSascha Silbe2011-08-221-4/+6
| | | | Xapian has a hardcoded limit of 245 characters for terms.
* Fix indexing on non-standard propertiesSascha Silbe2011-08-221-1/+1
| | | | We accidentally used the value as prefix and vice-versa.
* Implement find_unique_values()Sascha Silbe2011-08-221-0/+9
| | | | Previously it returned only a fixed set of values to satisfy the test suite.
* Fix indexing of non-string (e.g. numeric) property values as termsSascha Silbe2011-07-091-6/+8
|
* get completely rid of in-memory metadata storageSascha Silbe2011-05-151-0/+5
| | | | Signed-off-by: Sascha Silbe <sascha-pgp@silbe.org>
* Retry opening the Xapian database if another process still has the lockSascha Silbe2011-05-141-2/+12
| | | | | | This should help with situations where the new gdatastore process is already starting up (on a new session bus) while the old one is still busy shutting down (see also: SL#1257).
* move src/gdatastore to top level (distutils-extra convention)Sascha Silbe2011-04-101-0/+395