Fork me on GitHub
#datahike
<
2024-05-30
>
Jonas Östlund10:05:29

Hi, I am studying a bit how AsOfDB and SinceDB are implemented in https://github.com/replikativ/datahike/blob/78fbfb2395869c07810e586a289afea7c5bc89a6/src/datahike/db.cljc . Both of them call dbs/temporal-search to get the history including both additions and retraction over time. In the case of AsOfDB, it calls the function filter-as-of-datoms which in turn calls get-current-values to combine the additions and retractions for every entity and attribute. In the case of SinceDB, it calls filter-since, but that functions simply throws away the retractions using the line https://github.com/replikativ/datahike/blob/78fbfb2395869c07810e586a289afea7c5bc89a6/src/datahike/db.cljc#L477 instead. Does anyone know why we would not use the get-current-values function also from the filter-since function just like we did for the filter-as-of-datoms?

whilo03:06:48

@UB95JRKM3 implemented this functionality originally. I can take a look as well if you are busy @UB95JRKM3.

Jonas Östlund05:06:01

Thanks! The reason why I am asking is because I am currently restructuring the code to enable compositions such as (history (as-of (since db ...) ..)) which currently isn't possible. And while doing that restructuring, I am touching this part of the code.