public void Visit(AliasedFromNode node)
        {
            var schemaInfo = _explicitlyUsedAliases[node.Identifier];
            var tableName  = _explicitlyCoupledTablesWithAliases[node.Identifier];
            var table      = _explicitlyDefinedTables[tableName];

            var schema = _provider.GetSchema(schemaInfo.Schema);

            AddAssembly(schema.GetType().Assembly);

            _queryAlias = StringHelpers.CreateAliasIfEmpty(node.Alias, _generatedAliases);
            _generatedAliases.Add(_queryAlias);

            var tableSymbol = new TableSymbol(_queryAlias, schema, table, !string.IsNullOrEmpty(node.Alias));

            _currentScope.ScopeSymbolTable.AddSymbol(_queryAlias, tableSymbol);
            _currentScope[node.Id] = _queryAlias;

            var aliasedSchemaFromNode = new SchemaFromNode(schemaInfo.Schema, schemaInfo.Method, node.Args, _queryAlias);

            if (!InferredColumns.ContainsKey(aliasedSchemaFromNode))
            {
                InferredColumns.Add(aliasedSchemaFromNode, table.Columns);
            }

            Nodes.Push(aliasedSchemaFromNode);
        }
Esempio n. 2
0
 public void Visit(AliasedFromNode node)
 {
     node.Accept(Visitor);
 }
Esempio n. 3
0
 public void Visit(AliasedFromNode node)
 {
     Nodes.Push(new AliasedFromNode(node.Identifier, node.Args, node.Alias));
 }
Esempio n. 4
0
 public void Visit(AliasedFromNode node)
 {
 }