def _get_schema(self):
    left = self.left
    right = self.right
    if (not left._is_materialized()):
        left = left.materialize()
    if (not right._is_materialized()):
        right = right.materialize()
    sleft = left.schema()
    sright = right.schema()
    overlap = (set(sleft.names) & set(sright.names))
    if overlap:
        raise com.RelationError(('Joined tables have overlapping names: %s' % str(list(overlap))))
    return sleft.append(sright)
def _get_schema(self):
    left = self.left
    right = self.right
    if (not left._is_materialized()):
        left = left.materialize()
    if (not right._is_materialized()):
        right = right.materialize()
    sleft = left.schema()
    sright = right.schema()
    overlap = (set(sleft.names) & set(sright.names))
    if overlap:
        raise com.RelationError(('Joined tables have overlapping names: %s' % str(list(overlap))))
    return sleft.append(sright)