OLD | NEW |
1 In-memory appengine wrapper | 1 In-memory appengine wrapper |
2 =========================== | 2 =========================== |
3 | 3 |
4 | 4 |
5 Notes on the internal encodings | 5 Notes on the internal encodings |
6 ------------------------------- | 6 ------------------------------- |
7 | 7 |
8 All datatypes inside of the index Collections of the gkvlite Store are stored | 8 All datatypes inside of the index Collections of the gkvlite Store are stored |
9 in a manner which allows them to be compared entirely via bytes.Compare. All | 9 in a manner which allows them to be compared entirely via bytes.Compare. All |
10 types are prefixed by a sortable type byte which encodes the sort-order of types | 10 types are prefixed by a sortable type byte which encodes the sort-order of types |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 // on the side, and then do a quick swap into place with a writelock. As | 105 // on the side, and then do a quick swap into place with a writelock. As |
106 // long as every index only has a single goroutine writing it, then this | 106 // long as every index only has a single goroutine writing it, then this |
107 // would enable maximum concurrency, since all indexes could update in | 107 // would enable maximum concurrency, since all indexes could update in |
108 // parallel and only synchronize for the duration of a single pointer swap
. | 108 // parallel and only synchronize for the duration of a single pointer swap
. |
109 idx -> kind|A?|[-?prop]* = nil | 109 idx -> kind|A?|[-?prop]* = nil |
110 idx:ns:kind -> key = nil | 110 idx:ns:kind -> key = nil |
111 idx:ns:kind|prop -> propval|key = [prev val] | 111 idx:ns:kind|prop -> propval|key = [prev val] |
112 idx:ns:kind|-prop -> -propval|key = [next val] | 112 idx:ns:kind|-prop -> -propval|key = [next val] |
113 idx:ns:kind|A|?prop|?prop -> A|propval|propval|key = [prev/next val]|[pre
v/next val] | 113 idx:ns:kind|A|?prop|?prop -> A|propval|propval|key = [prev/next val]|[pre
v/next val] |
114 idx:ns:kind|?prop|?prop -> propval|propval|key = [prev/next val]|[prev/
next val] | 114 idx:ns:kind|?prop|?prop -> propval|propval|key = [prev/next val]|[prev/
next val] |
OLD | NEW |