Hello! > I think you might misunderstand the behavior of CheckAndReportConflict(), even > if it found a conflict, it still inserts the tuple into the index which means > the change is anyway applied.
> In the above conditions where a concurrent tuple insertion is removed > or rolled back before CheckAndReportConflict, the tuple inserted by > apply will remain. There is no need to report anything in such cases > as apply was successful. Yes, thank you for explanation, I was thinking UNIQUE_CHECK_PARTIAL works differently. But now I think DirtySnapshot-related bug is a blocker for this feature then, I'll reply into original after rechecking it. Best regards, Mikhail.