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]* |
+ |
+ |