Hey guys, > 1) study the source files (obviously ;) > 2) turn on debugging, since you'll see the sql query that storm > expands from your code: > > import storm.database > storm.database.DEBUG = True
And probably 3) Bother the insensible people who wrote it to write more documentation. 4) Contribute some documentation to the manual. > IN: > from storm.expr import In > store.find(klass, In(klass.id, [1,2,3,10,11,12])) That's more easily written as Class.id.is_in([1,2,3]) > AND/OR: > from storm.expr import And, Or > expr1 = And(klass.col == 2, klass.disabled == False) > store.find(klass, Or(klass.sticky, expr1)) This also works as (Class.col == 2) & (Class.disabled == False) It may bite sometimes because the precedence rules are inverted (taking off the parenthesis will produce unexpected results), so your suggestion may be preferred. >> 3. How - if at all - does Storm handle VIEWs? I'd really like to >> hide away some of the complex queries, but I'd prefer not to >> give up using Storm-objects. > > I don't know anything about this. I believe you can pretty much put a view where a table name is expected and have it working. The normal rules for updating views apply. > Hope this helps, Thanks a lot for these explanations, Håvard. -- Gustavo Niemeyer http://niemeyer.net -- storm mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm
