[Zope-dev] ZCatalog Bug: scope for the problem
sean.upton@uniontrib.com
sean.upton@uniontrib.com
Sat, 21 Jul 2001 17:20:36 -0700
Perhaps I am not understanding correctly, but do you have this same problem
with a field index for methods as well as properties? Have you tried this
on values other than integers? I have, for example, an item that has a
method called firstLetter() that obtains title[0:1] and returns it as a
string; sort_on='firstLetter' seems to work just fine (2.3.2), even though
the return value has many duplicates among the thousands of objects I am
sorting; I have not tried sorting on a property for a field index in this
manner, though...
On an unrelated note (I figured I might as well ask while I'm at it), does
anyone know if there is a way to get sort_on to work for field indexes that
store dates? sort_on and sort_order seem to be meaningless when applied to
indexes containing dates... I assume that a corrective behavior might be to
turn the date into a string or an integer (UNIX time, for example) via an
indexed method; I just wonder if there is something easier that anyone knows
of?
Sean
-----Original Message-----
From: Chris Withers [mailto:chrisw@nipltd.com]
Sent: Saturday, July 21, 2001 1:01 AM
To: zope-dev@zope.org
Cc: Andreas Jung
Subject: [Zope-dev] ZCatalog Bug: scope for the problem
> I'm doing something simple:
>
> return catalog.searchResults(sort_on='dateofpublication')
>
> ...and getting something horrible:
>
> Error Type: TypeError
> Error Value: unsubscriptable object
Further scoping out this problem has expanded it:
- this bug isn't limited to 2.4.0bx, it's also manifests at least in 2.3.2
and probably in 2.3.1+.
...and narrowed it:
- the bug occurs when you sort on an index where more than one indexed item
has the same value.
For example, if:
x=SimpleItem()
y=SimpleItem()
z=Simpleitem()
x.fred=1
y.fred=1
z.fred=2
...now if you have a FieldIndex called 'fred' and catalog this lot, you'll
get the error when you do a search along the lines of:
r = Catalog(sort_on='fred')
However, if you changed it so y.fred=2 and z.fred=3, you wouldn't get any
unexpected behaviour :-S
It appears that IITreeSet objects don't like being subscripted. That sounds
kindof weird, but then it doesn't look like IITreeSets should be appearing
in that context anyhow...
Help!
Chris
_______________________________________________
Zope-Dev maillist - Zope-Dev@zope.org
http://lists.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope )