[Zope-dev] range:max, date times and pluggableindexes

Lennart Regebro lennart@torped.se
Thu, 2 May 2002 19:05:08 +0200


> 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