public void Visit(InMemoryTableFromNode node) { _queryAlias = string.IsNullOrEmpty(node.Alias) ? node.VariableName : node.Alias; _generatedAliases.Add(_queryAlias); TableSymbol tableSymbol; if (_currentScope.Parent.ScopeSymbolTable.SymbolIsOfType <TableSymbol>(node.VariableName)) { tableSymbol = _currentScope.Parent.ScopeSymbolTable.GetSymbol <TableSymbol>(node.VariableName); } else { var scope = _currentScope; while (scope != null && scope.Name != "CTE") { scope = scope.Parent; } tableSymbol = scope.ScopeSymbolTable.GetSymbol <TableSymbol>(node.VariableName); } var tableSchemaPair = tableSymbol.GetTableByAlias(node.VariableName); _currentScope.ScopeSymbolTable.AddSymbol(_queryAlias, new TableSymbol(_queryAlias, tableSchemaPair.Schema, tableSchemaPair.Table, node.Alias == _queryAlias)); _currentScope[node.Id] = _queryAlias; Nodes.Push(new InMemoryTableFromNode(node.VariableName, _queryAlias)); }
public virtual void Visit(InMemoryTableFromNode node) { node.Accept(Visitor); }
public void Visit(InMemoryTableFromNode node) { SetQueryPart(QueryPart.From); node.Accept(_visitor); }
public void Visit(InMemoryTableFromNode node) { node.Accept(_visitor); }
public void Visit(InMemoryTableFromNode node) { Nodes.Push(new InMemoryTableFromNode(node.VariableName, node.Alias)); }
public void Visit(InMemoryTableFromNode node) { }
public void Visit(InMemoryTableFromNode node) { var alias = string.IsNullOrEmpty(node.Alias) ? node.VariableName : node.Alias; Nodes.Push(new InMemoryTableFromNode(node.VariableName, alias)); }
public override void Visit(InMemoryTableFromNode node) { Visitor.SetQueryPart(QueryPart.From); base.Visit(node); Visitor.SetQueryPart(QueryPart.None); }