note: This returns a generator, not a list. All your expectations will be violated

def select(clas,pool_or_cursor,**kwargs):
    "note: This returns a generator, not a list. All your expectations will be violated"
    columns = kwargs.pop('columns','*')
    # todo(awinter): write a test for whether eqexpr matters; figure out pg behavior and apply to pgmock
    query="select %s from %s"%(columns,clas.TABLE)
    if kwargs: query+=' where %s'%' and '.join('%s=%%s'%k for k in kwargs)
    return select_or_execute(pool_or_cursor,query,tuple(kwargs.values()))