def __init__(self, join_expr): assert isinstance(join_expr.op(), Join) self.join = join_expr TableNode.__init__(self, [join_expr]) schema = self.join.op()._get_schema() HasSchema.__init__(self, schema)
def __init__(self, table_expr, sort_keys): self.table = table_expr self.keys = [ to_sort_key(self.table, k) for k in util.promote_list(sort_keys) ] TableNode.__init__(self, [self.table, self.keys])
def __init__(self, left, right, distinct=False): self.left = left self.right = right self.distinct = distinct TableNode.__init__(self, [left, right, distinct]) self._validate() HasSchema.__init__(self, self.left.schema())
def __init__(self, table, agg_exprs, by=None, having=None): # For tables, like joins, that are not materialized self.table = table self.agg_exprs = self._rewrite_exprs(agg_exprs) by = by or [] self.by = self.table._resolve(by) self.by = self._rewrite_exprs(self.by) self.having = having or [] self.having = self._rewrite_exprs(self.having) self._validate() TableNode.__init__(self, [table, self.agg_exprs, self.by, self.having]) schema = self._result_schema() HasSchema.__init__(self, schema)
def __init__(self, schema, name=None): TableNode.__init__(self, [schema, name]) HasSchema.__init__(self, schema, name=name)
def __init__(self, table_expr): self.table = table_expr TableNode.__init__(self, [table_expr]) HasSchema.__init__(self, table_expr.schema())
def __init__(self, table_expr, sort_keys): self.table = table_expr self.keys = [to_sort_key(self.table, k) for k in util.promote_list(sort_keys)] TableNode.__init__(self, [self.table, self.keys])
def __init__(self, table, n, offset=0): self.table = table self.n = n self.offset = offset TableNode.__init__(self, [table, n, offset])
def __init__(self, table_expr, predicates): self.table = table_expr self.predicates = predicates TableNode.__init__(self, [table_expr, predicates]) self._validate()
def __init__(self, query, schema, source): self.query = query TableNode.__init__(self, [query, schema, source]) HasSchema.__init__(self, schema)
def __init__(self, name, schema, source): self.source = source TableNode.__init__(self, [name, schema, source]) HasSchema.__init__(self, schema, name=name)