def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) ind2 = indent(level + 2) if self.columns is not None: columns_str = ', '.join([i.name for i in self.columns]) else: columns_str = '' if self.values is not None: values = [] for row in self.values: row_str = f', '.join([self.to_value(i) for i in row]) values.append(f'{ind2}[{row_str}]') values_str = f'\n'.join(values) values_str = f'{ind1}values=[\n{values_str}]\n' else: values_str = '' if self.from_select is not None: from_select_str = f'{ind1}from_select=\n{self.from_select.to_tree(level=level+2)}\n' else: from_select_str = '' out_str = f'{ind}Insert(table={self.table.to_tree()}\n' \ f'{ind1}columns=[{columns_str}]\n' \ f'{values_str}' \ f'{from_select_str}' \ f'{ind})\n' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) ind2 = indent(level + 2) replace_str = '' if self.is_replace: replace_str = f'{ind1}is_replace=True\n' from_select_str = '' if self.from_select is not None: from_select_str = f'{ind1}from_select={self.from_select.to_tree(level=level+1)}\n' columns_str = '' if self.columns is not None: columns = [f'{ind2}{col.name}: {col.type}' for col in self.columns] columns_str = f'{ind1}columns=\n' + '\n'.join(columns) out_str = f'{ind}CreateTable(\n' \ f'{ind1}name={self.name}\n' \ f'{replace_str}' \ f'{from_select_str}' \ f'{columns_str}\n' \ f'{ind})\n' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) out_str = f'{ind}CreateFile(\n' \ f'{ind1}name={self.name.to_string()}\n' \ f'{ind1}url={self.url}\n' \ f'{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) name_str = f'\n{ind1}name={self.name.to_tree()},' out_str = f'{ind}RetrainPredictor(' \ f'{name_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level+1) name_str = f'\n{ind1}name={self.name.to_tree()},' out_str = f'{ind}DropIntegration(' \ f'{name_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) args = f'implicit={repr(self.implicit)}, join_type={repr(self.join_type)}' left_str = f'\n{ind1}left=\n{self.left.to_tree(level=level+2)}' right_str = f'\n{ind1}right=\n{self.right.to_tree(level=level+2)}' condition_str = f'\n{ind1}condition=\n{self.condition.to_tree(level=level+2)}' if self.condition else '' out_str = f'{ind}Join({args},{left_str},{right_str},{condition_str}\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level+1) table_str = f'{ind1}table={self.table.to_tree()},' db_str = f'{ind1}db={self.db.to_tree()},' if self.db else '' out_str = f'{ind}ShowIndex(' \ f'{table_str}' \ f'{db_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) where_str = f'where=\n{self.where.to_tree(level=level + 2)},' if self.where else '' out_str = f'{ind}Delete(\n' \ f'{ind1}table={self.table.to_tree()}\n' \ f'{ind1}{where_str}\n' \ f'{ind})\n' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) left_str = f'\n{ind1}left=\n{self.left.to_tree(level=level + 2)},' right_str = f'\n{ind1}right=\n{self.right.to_tree(level=level + 2)},' out_str = f'{ind}Union(unique={repr(self.unique)},' \ f'{left_str}' \ f'{right_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) name_str = f'\n{ind1}name={repr(self.name)},' from_table_str = f'\n{ind1}from_table=\n{self.from_table.to_tree(level=level+2)},' if self.from_table else '' query_str = f'\n{ind1}query="{self.query_str}"' out_str = f'{ind}CreateView(' \ f'{name_str}' \ f'{query_str}' \ f'{from_table_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level+1) cte_str = '' if self.cte: cte_trees = ',\n'.join([t.to_tree(level=level + 2) for t in self.cte]) cte_str = f'\n{ind1}cte=[\n{cte_trees}\n{ind1}],' alias_str = f'\n{ind1}alias={self.alias.to_tree()},' if self.alias else '' distinct_str = f'\n{ind1}distinct={repr(self.distinct)},' if self.distinct else '' parentheses_str = f'\n{ind1}parentheses={repr(self.parentheses)},' if self.parentheses else '' target_trees = ',\n'.join([t.to_tree(level=level+2) for t in self.targets]) targets_str = f'\n{ind1}targets=[\n{target_trees}\n{ind1}],' from_str = f'\n{ind1}from_table=\n{self.from_table.to_tree(level=level+2)},' if self.from_table else '' where_str = f'\n{ind1}where=\n{self.where.to_tree(level=level+2)},' if self.where else '' group_by_str = '' if self.group_by: group_by_trees = ',\n'.join([t.to_tree(level=level+2) for t in self.group_by]) group_by_str = f'\n{ind1}group_by=[\n{group_by_trees}\n{ind1}],' having_str = f'\n{ind1}having=\n{self.having.to_tree(level=level+2)},' if self.having else '' order_by_str = '' if self.order_by: order_by_trees = ',\n'.join([t.to_tree(level=level + 2) for t in self.order_by]) order_by_str = f'\n{ind1}order_by=[\n{order_by_trees}\n{ind1}],' limit_str = f'\n{ind1}limit={self.limit.to_tree(level=0)},' if self.limit else '' offset_str = f'\n{ind1}offset={self.offset.to_tree(level=0)},' if self.offset else '' mode_str = f'\n{ind1}mode={self.mode},' if self.mode else '' out_str = f'{ind}Select(' \ f'{cte_str}' \ f'{alias_str}' \ f'{distinct_str}' \ f'{parentheses_str}' \ f'{targets_str}' \ f'{from_str}' \ f'{where_str}' \ f'{group_by_str}' \ f'{having_str}' \ f'{order_by_str}' \ f'{limit_str}' \ f'{offset_str}' \ f'{mode_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level+1) category_str = f'category={self.category}, ' arg_str = f'arg={self.arg.to_tree()},' if self.arg else '' if self.params: param_str = 'param=' + ', '.join([f'{k}:{v}' for k,v in self.params.items()]) else: param_str = '' out_str = f'{ind}Set(' \ f'{category_str}' \ f'{arg_str} ' \ f'{param_str}' \ f')' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) # rules rules_ar = [] for condition, result in self.rules: rules_ar.append( f'{ind1}{condition.to_string()} => {result.to_string()}') rules_str = '\n'.join(rules_ar) return f'{ind}Case(\n' \ f'{rules_str}\n' \ f'{ind1}default => {self.default.to_string()}\n' \ f'{ind})'
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) target_str = f'target={self.target.to_tree(level=level+2)},' out_str = f'{ind}Explain(' \ f'{target_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) value_str = f'value={self.value.to_tree(level=level+2)},' out_str = f'{ind}Describe(' \ f'{value_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) name_str = f'\n{ind1}name={repr(self.name)},' engine_str = f'\n{ind1}engine={repr(self.engine)},' parameters_str = f'\n{ind1}parameters={str(self.parameters)},' replace_str = '' if self.is_replace: replace_str = f'\n{ind1}is_replace=True' out_str = f'{ind}CreateDatasource(' \ f'{name_str}' \ f'{engine_str}' \ f'{parameters_str}' \ f'{replace_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) name_str = f'name={self.name.to_tree()}' out_str = f'{ind}DropDatabase(' \ f'{name_str}, ' \ f'if_exists={self.if_exists}' \ f')' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) names_str = ', '.join([i.to_tree() for i in self.names]) out_str = f'{ind}DropView(' \ f'[{names_str}], ' \ f'if_exists={self.if_exists}' \ f')' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) tables_str = ', '.join([i.to_tree() for i in self.tables]) out_str = f'{ind}DropTables(' \ f'[{tables_str}], ' \ f'if_exists={self.if_exists}, ' \ f'only_temporary={self.only_temporary}' \ f')' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) ind1 = indent(level + 1) category_str = f'{ind1}category={repr(self.category)},' from_str = f'\n{ind1}from={self.from_table.to_string()},' if self.from_table else '' in_str = f'\n{ind1}in={self.in_table.to_tree(level=level + 2)},' if self.in_table else '' where_str = f'\n{ind1}where=\n{self.where.to_tree(level=level+2)},' if self.where else '' name_str = f'\n{ind1}name={self.name},' if self.name else '' like_str = f'\n{ind1}like={self.like},' if self.like else '' modes_str = f'\n{ind1}modes=[{",".join(self.modes)}],' if self.modes else '' out_str = f'{ind}Show(' \ f'{category_str}' \ f'{name_str}' \ f'{modes_str}' \ f'{from_str}' \ f'{in_str}' \ f'{like_str}' \ f'{where_str}' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) if self.scope is None: scope_str = '' else: scope_str = f'scope={self.scope}, ' properties = [] if self.isolation_level is not None: properties.append('ISOLATION LEVEL ' + self.isolation_level) if self.access_mode is not None: properties.append(self.access_mode) prop_str = ', '.join(properties) out_str = f'{ind}SetTransaction(' \ f'{scope_str}' \ f'properties=[{prop_str}]' \ f'\n{ind})' return out_str
def to_tree(self, *args, level=0, **kwargs): item_trees = ','.join([t.to_tree(level=0) for t in self.items]) out_str = indent(level) + f'Tuple(items=({item_trees}))' return out_str
def to_tree(self, *args, level=0, **kwargs): return indent(level) + f'SpecialConstant(name={self.name})'
def to_tree(self, *args, level=0, **kwargs): ind = indent(level) out_str = f'{ind}CommitTransaction()' return out_str
def to_tree(self, *args, level=0, **kwargs): alias_str = f', alias={self.alias.to_tree()}' if self.alias else '' return indent( level ) + f'Variable(value={repr(self.value)}{alias_str}, is_system_var={repr(self.is_system_var)})'
def to_tree(self, *args, level=0, **kwargs): alias_str = f', alias={self.alias.to_tree()}' if self.alias else '' return indent(level) + f'Constant(value={repr(self.value)}{alias_str})'
def to_tree(self, *args, level=0, **kwargs): return indent(level) + f'Star()'
def to_tree(self, *args, level=0, **kwargs): out_str = indent( level ) + f'TypeCast(type_name={repr(self.type_name)}, arg=\n{indent(level+1)}{self.arg.to_tree()})' return out_str
def to_tree(self, *args, level=0, **kwargs): return indent( level ) + f'OrderBy(field={self.field.to_tree()}, direction={repr(self.direction)}, nulls={repr(self.nulls)})'
def to_tree(self, *args, level=0, **kwargs): alias_str = f', alias={self.alias.to_tree()}' if self.alias else '' return indent( level ) + f'Identifier(parts={[str(i) for i in self.parts]}{alias_str})'