From 721eb3e6b2fbe70e79a7c3e5edbf965d3a8f0771 Mon Sep 17 00:00:00 2001 From: Eric Wei Date: Wed, 19 Oct 2022 22:24:40 -0700 Subject: [PATCH] fix not a function issue Signed-off-by: Eric Wei --- .../common/query_manager/ast/builder/stats_ast_builder.ts | 8 ++++++-- .../common/query_manager/ast/builder/stats_builder.ts | 4 ++-- .../common/query_manager/ast/types/index.ts | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dashboards-observability/common/query_manager/ast/builder/stats_ast_builder.ts b/dashboards-observability/common/query_manager/ast/builder/stats_ast_builder.ts index 6c33b37a1..6a396654a 100644 --- a/dashboards-observability/common/query_manager/ast/builder/stats_ast_builder.ts +++ b/dashboards-observability/common/query_manager/ast/builder/stats_ast_builder.ts @@ -3,6 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { isFunction, isEqual } from 'lodash'; import { AbstractParseTreeVisitor } from 'antlr4ts/tree/AbstractParseTreeVisitor'; import { RootContext, @@ -49,13 +50,16 @@ export class StatsAstBuilder visitRoot(ctx: RootContext) { if (!ctx.pplStatement()) return this.defaultResult(); - return this.visitChildren(ctx.pplStatement()!); + return this.visitPplStatement(ctx.pplStatement()!); } visitPplStatement(ctx: PplStatementContext): PPLNode { let statsTree: VisitResult = this.defaultResult(); ctx.commands().map((pplCommandContext) => { - if (this.visitChildren(pplCommandContext).getName() === 'stats_command') + if ( + isFunction(this.visitChildren(pplCommandContext).getName) && + isEqual(this.visitChildren(pplCommandContext).getName(), 'stats_command') + ) statsTree = this.visitChildren(pplCommandContext); }); return statsTree; diff --git a/dashboards-observability/common/query_manager/ast/builder/stats_builder.ts b/dashboards-observability/common/query_manager/ast/builder/stats_builder.ts index 577ee4c8c..064ac8c5d 100644 --- a/dashboards-observability/common/query_manager/ast/builder/stats_builder.ts +++ b/dashboards-observability/common/query_manager/ast/builder/stats_builder.ts @@ -22,13 +22,13 @@ import { StatsAggregationFunctionChunk, GroupByChunk, GroupField, - statsChunk, + StatsChunk, SpanExpressionChunk, } from '../types'; import { CUSTOM_LABEL } from '../../../../common/constants/explorer'; export class StatsBuilder implements QueryBuilder { - constructor(private statsChunk: statsChunk) {} + constructor(private statsChunk: StatsChunk) {} build(): Aggregations { // return a new stats subtree diff --git a/dashboards-observability/common/query_manager/ast/types/index.ts b/dashboards-observability/common/query_manager/ast/types/index.ts index 956731baf..3256b0992 100644 --- a/dashboards-observability/common/query_manager/ast/types/index.ts +++ b/dashboards-observability/common/query_manager/ast/types/index.ts @@ -10,7 +10,7 @@ export { StatsAggregationFunctionChunk, GroupByChunk, GroupField, - statsChunk, + StatsChunk, SpanExpressionChunk, AggregationConfigurations, PreviouslyParsedStaleStats