yes, I’ve upvoted that but it doesn’t seem to have more info
At work we tried both suggestions, and switched from the postwalk approach to the xforms. Mostly because of performance. We tend to def our pull expressions for re-use, so the xforms are in 1 place. Needing to remember it's a db/ident isn't much of a problem for us, it's required to pull db/ident anyway. But one could always write a linter make sure that xforms is used for idents.
I was going to post this question here, and then I thought the forum might be a better place. Happy to have any input! https://forum.datomic.com/t/query-populous-business-entity-where-there-are-changes-at-any-level/1830
that looks quite tricky, can’t really say how make the query faster, but if you could update some attr on the root every time you update some descendant (like :root/recursive-modification-time
timestamp), you could simply query all roots based on that
in effect moving the “has some descendant changed” determination from query time to tx time
Hey, I never thanked you for this response, so thank you! When we discussed it on the team that was definitely a solution that came up when we asked "how would we have done this in SQL-land". I personally suspect that something may be wrong with my recursive rules, but I'm still working through some of the details. Jaret posted a great set of questions for us, which I'm working on answering