OLD | NEW |
(Empty) | |
| 1 index row encoding |
| 2 ints -> |
| 3 funnybase |
| 4 floats -> http://stereopsis.com/radix.html |
| 5 b := math.Float64bits(f) |
| 6 return b ^ (-(b >> 63) | 0x8000000000000000) |
| 7 |
| 8 return math.Float64frombits(b ^ ((b >> 63) - 1) | 0x800000000000
0000) |
| 9 |
| 10 index types: |
| 11 primary: (key -> entity) |
| 12 kind: (kind | key -> nil) |
| 13 prop: (kind | prop | val | key -> nil) |
| 14 -prop: (kind | prop | -val | key -> nil) |
| 15 comp: (kind | <[prop | ?val]+> | key -> nil) |
| 16 |
| 17 collections |
| 18 ents:ns -> key -> value |
| 19 (rootkind, rootid, __entity_group__,1) -> {__ver
sion__: int} |
| 20 (rootkind, rootid, __entity_group_ids__,1) -> {_
_version__: int} |
| 21 (__entity_group_ids__,1) -> {__version__: int} |
| 22 idx:ns:kind -> key = nil |
| 23 idx:ns:kind|prop -> propval|key = [prev val] |
| 24 idx:ns:kind|-prop -> -propval|key = [next val] |
| 25 idx:ns:kind|A|?prop|?prop -> A|propval|propval|key = [prev/next val]|[prev/ne
xt val] |
| 26 idx:ns:kind|?prop|?prop -> propval|propval|key = [prev/next val]|[prev/next
val] |
| 27 |
| 28 // to add persistence later |
| 29 idx: -> kind,A?,[-?prop]* |
| 30 |
| 31 |
OLD | NEW |