Richard de Koning wrote:
> Thanks Conor. It works like a charm.
>
> You gave me a lot of insight in using sqla more flexible. Up to now
> I'm having very long statements but your way is much more self-
> explanatory than my own long versions.
>
> I didn't now the yield_per. Why is it only for non-MySQL databases?
>
>   

I don't really use MySQL myself, but I've heard on this list that the
mysqldb DBAPI implementation always stores the resultset in memory
before passing it on to the client (or SQLAlchemy in this case). AFAIK
most other DBAPI implementations properly fetch XXX rows at a time when
you do a fetchmany, so SQLAlchemy can take advantage of that.

-Conor

> On Apr 13, 8:30 pm, Conor <conor.edward.da...@gmail.com> wrote:
>
>
>   
>> Is this what you want? The query below ORs all your term clauses
>> together, so it has the effect of merging the results.
>>
>> clauses = []
>> for term in terms:
>>     clauses.append(table.logtext.like(term))
>>     clauses.append(table.titlelog.like(term))
>>
>> q = session.query(table)
>> if len(clauses) > 0:
>>     q = q.filter(or_(*clauses))
>> q = q.order_by(desc(table.unixtime))
>> # Reduce client memory usage for non-MySQL databases.
>> q = q.yield_per(1000)
>> for instance in q:
>>     ...
>>
>> -Conor
>>     
>
>   

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to