>> The better alternative may be to have two temporary memory contexts, >> one per-tuple for calling the inner consistent method and one >> per-index-scan for the traversal memory. > > > Yes, this seems to be a better way of fixing the problem without introducing > regressions mentioned by Tom. We'd keep a separate traversal context in > ScanOpaque and run most of the spgWalk in it, except calling storeRes in > query context and the inner consistent method in short-lived context.
Thanks to both for the feedback. I will work on that and come back to you. > > Also, I think it would be worthwhile to test the resulting patch with > valgrind. The allocations are not very apparent in the code, so it's easy to > miss something. > I tried with valgrind in the first place and didn't see any suspicious memory leaks but I will give it another try. Best regards, Anton