

@dispatch(Projection, sa.Column)
def compute_up(expr, data, **kwargs):
    selectables = [compute(expr._child[field], data, post_compute=False, return_type='native') for field in expr.fields]
    froms = set(concat((s.froms for s in selectables)))
    assert (1 <= len(froms) <= 2)
    result = unify_froms(sa.select((first(sel.inner_columns) for sel in selectables)), froms)
    return result.where(unify_wheres(selectables))

dataset/ETHPy150Open blaze/blaze/blaze/compute/sql.py compute_up/original