Smells like a bug. Maybe try to use record-style parameters instead the usage of old-style parameters (described in the Zope Book).
I did that, and it made no difference. I've also dug some more and tested a lot, and figured out the problem: Strings are always evaluates as larger than numbers. The funnys thing is that something, in the index of Zope 2.3.3 handles this so it behaves more as expected when indexing both empty strings and dates in the same index. The indexing of Zope 2.5.1 doesn't do this. I have two ways of solving this, one that I feel is an ugly hack, and one that I think would be "the right way", and need opinions on these options. The Ugly Hack: Make two separate queries each time I need to talk to indexes with both empty strings and dates, and merge the results. Ugh.... The Right Way: Fix DateTime so that it handles '' as a NULLDATE, and compares correctly with this. Possible None could be used too, but then I need to convert None to '' for displaying. Somthing that could be done with the OptionalDateTime fields discussed for Zope 2.6. I could live with The Ugly Hack if I know this will be fixed The Right Way in Zope 2.6. :-) Best Regards Lennart Regebro Torped Strategi och Kommunikation AB