Hi, while working on bug #4908 (and following my recent work and discussions on the commit list) i've started to study the problem more in depth and began working on a test app (based on Axel's src/test/system/kernel/live_query.cpp)
I'm trying to solve a crucial problem that is currently spread all over the place in PoseView.cpp between rendering and ui concerns:
-- Maintaining a node/entry map synchronized with the file system, with queries, ref filters etc... -- (code name SynchronizedEntryMap, yes yes that's for Tracker2 and could be reused in other places but let's make it work first :))
Everything works smoothly but i'm hitting the "query and entry renaming" problem. As per the book, and as we discussed (r33744 thread), we don't receive B_QUERY_UPDATE's when an entry (that still matches a query predicate) is renamed. The proposed solution in the bebook is to use node monitoring for that,
but the problem is that you're limited by the 4096 watch_node's limit.So there's currently no way to catch such cases in a robust way. What can we do about that?
Best regards, Alex