Hi, On Fri, Jun 19, 2009 at 8:40 PM, Stuart Bishop<[email protected]> wrote: > On Sat, Jun 20, 2009 at 2:08 AM, Jason Baker<[email protected]> wrote: >> There's one test in tests/store/base.py that I'm running in to trouble >> with: >> >> def test_find_group_by_table(self): >> result = self.store.find( >> (Sum(FooValue.value2), Foo), Foo.id == FooValue.foo_id) >> result.group_by(Foo) >> foo1 = self.store.get(Foo, 10) >> foo2 = self.store.get(Foo, 20) >> self.assertEquals(list(result), [(5, foo1), (16, foo2)]) >> >> This test is failing because list(result) looks like this: [(16, >> foo2), (5, foo1)]. This is the same result, but in a different order. >> I know at least at the SQL level, a query such as the above wouldn't >> be guaranteed to be in any order. But is this the case with storm? > > The test is broken. The ordering is undefined and has to be treated as > random, and Storm can't do the sorting itself as this would involve sucking > in the entire result set into RAM.
The test isn't about ordering, it's about making sure group_by does the right thing, so I think it'd be fine to replace the list(result) in the assertion with sorted(result). Thanks, J. -- storm mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm
