James Coleman <jtc...@gmail.com> writes: > [ saop_is_not_null-v6.patch ]
I quite dislike taking the responsibility out of clause_is_strict_for and putting it in the callers. Aside from requiring duplicative code, it means that this fails to prove anything for recursive situations (i.e., where the ScalarArrayOp appears one or more levels down in a clause examined by clause_is_strict_for). If the behavior needs to vary depending on proof rule, which it looks like it does, the way to handle that is to add flag argument(s) to clause_is_strict_for. I'm also not happy about the lack of comments justifying the proof rules -- eg, it's far from obvious why you need to restrict one case to !weak but not the other. regards, tom lane