MultiIndexedArrayInMemoryStore provides a simple implementation backed by a four-level map. For each predicate sym, we have a separate map, using the index and the hash of the nth argument and then hash of the entire atom, with the ultimate value being an array of Atoms.
| 727 | // For each predicate sym, we have a separate map, using the index and the hash of the nth argument |
| 728 | // and then hash of the entire atom, with the ultimate value being an array of Atoms. |
| 729 | type MultiIndexedArrayInMemoryStore struct { |
| 730 | InMemoryStore[map[uint16]map[uint64]map[uint64][]*ast.Atom] |
| 731 | count int |
| 732 | } |
| 733 | |
| 734 | var _ FactStoreWithRemove = NewMultiIndexedInMemoryStore() |
| 735 |
nothing calls this directly
no outgoing calls
no test coverage detected