Hi all:

I have the following code:

class EventQuery(Query):
  def histogram(self):
    ''' return a histogram of source / count(source) given an eventquery''
    ...
...

class Event(Base):
  __tablename__ = 'events'
  query = Session.query_property(query_cls = EventQuery)
  name = Column(Unicode(128))
  source = Column(BigInteger)
...

Now, Event has 54 additional attributes, some of which are quite large. In
EventQuery.histogram(), all I really need is the Event.source attribute.
'events' has over 150 million rows, and it's likely that
EventQuery.histogram() will be called for all events.

So - is there any way to 'modify' the query (self) in histogram() so that it
only returns (Event.source, func.count(Event.source)), or, for the general
case, to modify the query to return an attribute of the object? I've tried
from_self, but that seems highly inefficient (at least 20x slower than
Session.query(...) ). I'd also really like to keep histogram() as a method
of EventQuery.

I can see reasons why this would be impossible, but perhaps there's a way to
do it.

Thanks,

S.

-- 
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