Ejemplo n.º 1
0
def sort_typeinfer(sort_node, typeinferer):
    # input and output arrays have the same type
    for in_key, out_key in zip(sort_node.key_arrs, sort_node.out_key_arrs):
        typeinferer.constraints.append(typeinfer.Propagate(
            dst=out_key.name, src=in_key.name,
            loc=sort_node.loc))
    for col_name, col_var in sort_node.df_in_vars.items():
        out_col_var = sort_node.df_out_vars[col_name]
        typeinferer.constraints.append(typeinfer.Propagate(
            dst=out_col_var.name, src=col_var.name, loc=sort_node.loc))
    return
Ejemplo n.º 2
0
def join_typeinfer(join_node, typeinferer):
    # TODO: consider keys with same name, cols with suffix
    for col_name, col_var in (list(join_node.left_vars.items())
                              + list(join_node.right_vars.items())):
        out_col_var = join_node.df_out_vars[col_name]
        typeinferer.constraints.append(typeinfer.Propagate(dst=out_col_var.name,
                                                           src=col_var.name, loc=join_node.loc))
    return
Ejemplo n.º 3
0
Archivo: filter.py Proyecto: rowhit/sdc
def filter_typeinfer(filter_node, typeinferer):
    for col_name, col_var in filter_node.df_in_vars.items():
        out_col_var = filter_node.df_out_vars[col_name]
        typeinferer.constraints.append(
            typeinfer.Propagate(dst=out_col_var.name,
                                src=col_var.name,
                                loc=filter_node.loc))
    return