Hi Tom, > I don't like that choice at all. The only callers of > GetSnapshotData() are in snapmgr.c and predicate.c, and there are > enough weird optimization-driven assumptions around snapshot > management that I think any new caller had better be in one of those > modules so that people working in that area will notice it.
It seems we had different understandings of encapsulation. After some careful thought and looking through some previous commits in snapmgr.c (with Claude), I agree that centralizing snapshot management is better than having every caller maintain its own snapshot object. So I think we should go with your patch. Thanks, Shihao
