/* * We don't need to lock the page, as we're only looking at a single bit. */ result = (map[mapByte] & (1 << mapBit)) ? true : false;
Isn't this a dangerous assumption to make ? I am not so sure that even a bit can be read atomically on all platforms. I think the only caller of visibilitymap_test() is VACUUM which can live with a false information. But if this is indeed a problem, should we either fix this or have explicit comments there ? BTW, my apologies for random comments. I haven't followed the discussion well, neither done a full review. So these things might have been discussed before. Thanks, Pavan -- Pavan Deolasee EnterpriseDB http://www.enterprisedb.com