Keep track of missing dependencies both in memory and in the index's
underlying sorted.KeyValue. When we see a dependent blob arrive, see
if we can reindex things.
Fixes camlistore.org/issue/102
Change-Id: I3d8cfc463e4b8c9d158be8f9656e772839b093b9
1) Done in AppendClaims, PermanodeOfSignerAttrValue,
SearchPermanodesWithAttr, PathsOfSignerTarget,
and PathsLookup.
2) camtypes.Path.DateClaim is now a time.Time, and used
as such in Path search methods.
3) Added kvSignerAttrValue, kvPathBackward, and kvPathForward
4) More Delete tests. We probably want more cases, but that's
a start.
http://camlistore.org/issue/191
Change-Id: I1d42485f2c6d1eea024f70378daacaaad9197768
This method will be used to find out when a permanode or claim
was (un)deleted for the last time.
This change also introduces the keyDeletes index entry which
allows to find the permanodes/claims that a delete claim deletes.
Finally, since some index keys have changed, this CL introduces
a check for an index schema version, to force users to reindex
when needed.
http://camlistore.org/issue/191
Change-Id: I6f8e5d3030a6ddc8b21ff5dc5db311f2ea16f613
misc.CountingReader moves into readerutil.
pkg/atomics is folded into pkg/types.
pkg/test/testdep is folded into pkg/test, with better name/docs.
Old cruft from pkg/webserver is deleted.
Change-Id: I3f72d8b29804254ef944995fb085837c878f79f5
The immediate concern was to make the index case sensitive,
but the values should be stored in binary anyway as this
layer is just obeying the IndexStorage interface and should
not be concerned with character sets.
http://camlistore.org/issue/130
Change-Id: Iee913b0bd9e5c0c32a5c5570310c2ac5d0cfddf8
Now all tests pass like this:
bradmac-2:camlistore.org $ SKIP_DEP_TESTS=1 go test ./pkg/...
? camlistore.org/pkg/auth [no test files]
ok camlistore.org/pkg/blobref 0.023s
ok camlistore.org/pkg/blobserver 0.032s
? camlistore.org/pkg/blobserver/cond [no test files]
? camlistore.org/pkg/blobserver/google [no test files]
ok camlistore.org/pkg/blobserver/handlers 0.031s
ok camlistore.org/pkg/blobserver/localdisk 1.693s
? camlistore.org/pkg/blobserver/remote [no test files]
? camlistore.org/pkg/blobserver/replica [no test files]
? camlistore.org/pkg/blobserver/s3 [no test files]
? camlistore.org/pkg/blobserver/shard [no test files]
? camlistore.org/pkg/cacher [no test files]
ok camlistore.org/pkg/client 0.029s
? camlistore.org/pkg/errorutil [no test files]
? camlistore.org/pkg/fileembed [no test files]
? camlistore.org/pkg/fileembed/genfileembed [no test files]
? camlistore.org/pkg/fs [no test files]
ok camlistore.org/pkg/googlestorage 0.034s
? camlistore.org/pkg/httputil [no test files]
ok camlistore.org/pkg/index 0.298s
? camlistore.org/pkg/index/indextest [no test files]
ok camlistore.org/pkg/index/mongo 0.524s
ok camlistore.org/pkg/index/mysql 0.020s
ok camlistore.org/pkg/jsonconfig 0.022s
ok camlistore.org/pkg/jsonsign 0.155s
ok camlistore.org/pkg/lru 0.015s
ok camlistore.org/pkg/magic 0.030s
? camlistore.org/pkg/misc [no test files]
ok camlistore.org/pkg/misc/amazon/s3 0.028s
ok camlistore.org/pkg/misc/gpgagent 0.018s
ok camlistore.org/pkg/misc/httprange 0.026s
? camlistore.org/pkg/misc/pinentry [no test files]
? camlistore.org/pkg/misc/resize [no test files]
ok camlistore.org/pkg/netutil 0.088s
ok camlistore.org/pkg/osutil 0.016s
ok camlistore.org/pkg/rollsum 0.027s
ok camlistore.org/pkg/schema 0.017s
ok camlistore.org/pkg/search 0.016s
ok camlistore.org/pkg/server 0.039s
ok camlistore.org/pkg/serverconfig 0.031s
? camlistore.org/pkg/test [no test files]
? camlistore.org/pkg/test/asserts [no test files]
? camlistore.org/pkg/test/testdep [no test files]
? camlistore.org/pkg/webserver [no test files]
Change-Id: I9c9b0ee4f51cbcf785aed665bbb494339dd84261
It now uses the generic indexing layer, rather than its own schema.
Also, move it under pkg/index/, like mongo.
Also, link in mongo to the main binary.
Not using the tests yet (leaving for mpl :))
Change-Id: I47a2203ca6c0b5244cd458aedec46227c4363c62