mirror of https://github.com/perkeep/perkeep.git
03103f00fa
The DirConstraint type already existed but wasn't functional as none of the matching for any of its fields was implemented. That functionality is required by two other features: 1) Browsing directories in the publisher requires getting information about the children of the directory. In practice that can be achieved with a search on the directory, accompanied with some describe rules. But that comes with limitations, such as: -no control over the sorting of the described children in the response -max number of children in the response (and no way to overcome it since you can't "continue" on a describe) hence the need for a direct search of a directory's children. This is implemented as DirConstraint/FileConstraint.ParentDir and will be used in https://camlistore-review.googlesource.com/8286 2) Looking for files/directories shared by transitivity. Knowing if an item is the target of a share claim is easy enough once enough of ClaimConstraint is implemented. But in order to find out if an item is effectively shared because one of its ancestors (directory) is the target of a share claim, with transitivity set, we need some sort of search that can do directories traversal. This is implemented as DirConstraint.RecursiveContains and it will be used as a subquery in https://camlistore-review.googlesource.com/9866. Now implemented: DirConstraint.FileName DirConstraint.BlobRefPrefix DirConstraint.ParentDir DirConstraint.TopFileCount DirConstraint.Contains DirConstraint.RecursiveContains ParentDir will also allow us to quit relying on the treeHandler in the web UI, and to use the more generic search queries mechanism instead. Change-Id: I022cb51732ee4271906271fd75c6f737856b6165 |
||
---|---|---|
.. | ||
indextest | ||
sqlindex | ||
sqlite | ||
stress | ||
corpus.go | ||
corpus_bench_test.go | ||
corpus_test.go | ||
doc.go | ||
enumstat.go | ||
export_test.go | ||
index.go | ||
index_test.go | ||
interface.go | ||
keys.go | ||
keys_test.go | ||
kvfile_test.go | ||
leveldb_test.go | ||
location.go | ||
memindex.go | ||
mongo_test.go | ||
mysql_test.go | ||
postgres_test.go | ||
receive.go | ||
reversetime.go | ||
sniff.go | ||
util.go | ||
util_test.go |