Skip to content

Commit ec87081

Browse files
author
Kusto Build System
committed
Auto-sync from Azure-Kusto-Service
1 parent 41acd67 commit ec87081

3 files changed

Lines changed: 23 additions & 2 deletions

File tree

src/Kusto.Language/Binder/Binder_NodeBinder.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4223,14 +4223,20 @@ public override SemanticInfo VisitGraphToTableOperator(GraphToTableOperator node
42234223
}
42244224
else if (node.OutputClause.Count == 2)
42254225
{
4226-
42274226
var nodesTableClause = node.OutputClause.FirstOrDefault(oc => oc.Element.EntityKeyword.Kind == SyntaxKind.NodesKeyword)?.Element;
42284227
var edgesTableClause = node.OutputClause.FirstOrDefault(oc => oc.Element.EntityKeyword.Kind == SyntaxKind.GraphEdgesKeyword)?.Element;
4228+
42294229
if (nodesTableClause == null || edgesTableClause == null)
42304230
{
42314231
diagnostics.Add(DiagnosticFacts.GetMissingGraphEntityType().WithLocation(node.OutputClause));
42324232
return new SemanticInfo(diagnostics);
42334233
}
4234+
4235+
if (nodesTableClause.AsClause == null)
4236+
diagnostics.Add(DiagnosticFacts.GetMultipleGraphOutputsRequireAliases().WithLocation(nodesTableClause));
4237+
4238+
if (edgesTableClause.AsClause == null)
4239+
diagnostics.Add(DiagnosticFacts.GetMultipleGraphOutputsRequireAliases().WithLocation(edgesTableClause));
42344240

42354241
var nodesTable = VisitGraphToTableNodesClause(nodesTableClause, leftGraph);
42364242
var edgesTable = VisitGraphToTableEdgesClause(edgesTableClause, leftGraph);

src/Kusto.Language/Binder/Binder_TreeBinder.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -774,9 +774,20 @@ public override void VisitScanOperator(ScanOperator node)
774774
BindNode(node);
775775
}
776776

777+
public override void VisitRowSchema(RowSchema node)
778+
{
779+
_binder.BindColumnDeclarations(node.Columns);
780+
}
781+
782+
public override void VisitEvaluateRowSchema(EvaluateRowSchema node)
783+
{
784+
_binder.BindColumnDeclarations(node.Columns);
785+
}
786+
777787
public override void VisitInlineExternalTableExpression(InlineExternalTableExpression node)
778788
{
779789
node.Parameters.Accept(this);
790+
node.Schema?.Accept(this);
780791

781792
var oldLocalScope = _binder._localScope;
782793

@@ -785,7 +796,6 @@ public override void VisitInlineExternalTableExpression(InlineExternalTableExpre
785796
_binder._localScope = new LocalScope(oldLocalScope);
786797
if (node.Schema != null)
787798
{
788-
_binder.BindColumnDeclarations(node.Schema.Columns);
789799
_binder.AddDeclarationsToLocalScope(node.Schema.Columns);
790800
}
791801
node.PartitionClause?.Accept(this);

src/Kusto.Language/Diagnostics/DiagnosticFacts.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,6 +1112,11 @@ public static Diagnostic GetInlineExternalTableDeltaRequiresSingleRootUri()
11121112
return new Diagnostic("KS272", "Inline external table kind=delta requires exactly one root URI.");
11131113
}
11141114

1115+
public static Diagnostic GetMultipleGraphOutputsRequireAliases()
1116+
{
1117+
return new Diagnostic("KS273", "Multiple graph outputs require aliases.");
1118+
}
1119+
11151120
#region command diagnostics
11161121
public static Diagnostic GetMissingCommand()
11171122
{

0 commit comments

Comments
 (0)