>>>Surely, it's better to have index tag on empty(date).
>>
>>No need for that - I think Empty() is optimizable if expression we are
>>checking is optimizable.
>
>IMHO, index tag would be helpful anyway whatever optimization potential of
>the expression.
I've rechecked my memory, and you're right. It was stated in the early
days of FP that empty() should be used to avoid full cartesian product
if some field in the join condition is empty in some records, since
blank field in one table matches all the records in the other table. I
was almost sure that empty(optimizable)=optimizable (besides, why
shouldn't it be - the SQL parser can easily find what is 'empty' meaning
for the given field), but it really doesn't exactly say so.
I'm still not quite sure I was wrong, but I also ain't sure I'm right
anymore :)