Chromium Code Reviews| Index: go/src/infra/gae/libs/wrapper/memory/schema |
| diff --git a/go/src/infra/gae/libs/wrapper/memory/schema b/go/src/infra/gae/libs/wrapper/memory/schema |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f81e239b3e5d3bd2e2b7104df847987261f8a140 |
| --- /dev/null |
| +++ b/go/src/infra/gae/libs/wrapper/memory/schema |
| @@ -0,0 +1,31 @@ |
| +index row encoding |
|
M-A Ruel
2015/05/25 18:21:10
This should go in README.md
iannucci
2015/05/27 19:33:32
done, added more words too
|
| + ints -> |
| + funnybase |
| + floats -> http://stereopsis.com/radix.html |
| + b := math.Float64bits(f) |
| + return b ^ (-(b >> 63) | 0x8000000000000000) |
| + |
| + return math.Float64frombits(b ^ ((b >> 63) - 1) | 0x8000000000000000) |
| + |
| +index types: |
| + primary: (key -> entity) |
| + kind: (kind | key -> nil) |
| + prop: (kind | prop | val | key -> nil) |
| + -prop: (kind | prop | -val | key -> nil) |
| + comp: (kind | <[prop | ?val]+> | key -> nil) |
| + |
| +collections |
| + ents:ns -> key -> value |
| + (rootkind, rootid, __entity_group__,1) -> {__version__: int} |
| + (rootkind, rootid, __entity_group_ids__,1) -> {__version__: int} |
| + (__entity_group_ids__,1) -> {__version__: int} |
| + idx:ns:kind -> key = nil |
| + idx:ns:kind|prop -> propval|key = [prev val] |
| + idx:ns:kind|-prop -> -propval|key = [next val] |
| + idx:ns:kind|A|?prop|?prop -> A|propval|propval|key = [prev/next val]|[prev/next val] |
| + idx:ns:kind|?prop|?prop -> propval|propval|key = [prev/next val]|[prev/next val] |
| + |
| + // to add persistence later |
| + idx: -> kind,A?,[-?prop]* |
| + |
| + |