You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2023/02/19 01:14:52 UTC

[skywalking-banyandb] 01/01: Fix the broken of schema chain

This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch e2e
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 1f4a69a789ab23cb736fe0bd65c0578790c2d8f5
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Sun Feb 19 01:13:52 2023 +0000

    Fix the broken of schema chain
    
    Signed-off-by: Gao Hongtao <ha...@gmail.com>
---
 pkg/query/logical/measure/measure_plan_aggregation.go | 7 ++++---
 pkg/query/logical/measure/measure_plan_groupby.go     | 5 +++--
 test/cases/measure/data/input/top.yaml                | 2 +-
 test/cases/measure/measure.go                         | 2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/pkg/query/logical/measure/measure_plan_aggregation.go b/pkg/query/logical/measure/measure_plan_aggregation.go
index f9fa5cf9..96482bd5 100644
--- a/pkg/query/logical/measure/measure_plan_aggregation.go
+++ b/pkg/query/logical/measure/measure_plan_aggregation.go
@@ -59,7 +59,8 @@ func (gba *unresolvedAggregation) Analyze(measureSchema logical.Schema) (logical
 		return nil, err
 	}
 	// check validity of aggregation fields
-	aggregationFieldRefs, err := prevPlan.Schema().CreateFieldRef(gba.aggregationField)
+	schema := prevPlan.Schema()
+	aggregationFieldRefs, err := schema.CreateFieldRef(gba.aggregationField)
 	if err != nil {
 		return nil, err
 	}
@@ -69,9 +70,9 @@ func (gba *unresolvedAggregation) Analyze(measureSchema logical.Schema) (logical
 	fieldRef := aggregationFieldRefs[0]
 	switch fieldRef.Spec.Spec.FieldType {
 	case databasev1.FieldType_FIELD_TYPE_INT:
-		return newAggregationPlan[int64](gba, prevPlan, measureSchema, fieldRef)
+		return newAggregationPlan[int64](gba, prevPlan, schema, fieldRef)
 	case databasev1.FieldType_FIELD_TYPE_FLOAT:
-		return newAggregationPlan[float64](gba, prevPlan, measureSchema, fieldRef)
+		return newAggregationPlan[float64](gba, prevPlan, schema, fieldRef)
 	default:
 		return nil, errors.WithMessagef(errUnsupportedAggregationField, "field: %s", fieldRef.Spec.Spec)
 	}
diff --git a/pkg/query/logical/measure/measure_plan_groupby.go b/pkg/query/logical/measure/measure_plan_groupby.go
index 9779e859..5a31d035 100644
--- a/pkg/query/logical/measure/measure_plan_groupby.go
+++ b/pkg/query/logical/measure/measure_plan_groupby.go
@@ -57,7 +57,8 @@ func (gba *unresolvedGroup) Analyze(measureSchema logical.Schema) (logical.Plan,
 		return nil, err
 	}
 	// check validity of groupBy tags
-	groupByTagRefs, err := prevPlan.Schema().CreateTagRef(gba.groupBy...)
+	schema := prevPlan.Schema()
+	groupByTagRefs, err := schema.CreateTagRef(gba.groupBy...)
 	if err != nil {
 		return nil, err
 	}
@@ -66,7 +67,7 @@ func (gba *unresolvedGroup) Analyze(measureSchema logical.Schema) (logical.Plan,
 			UnresolvedInput: gba.unresolvedInput,
 			Input:           prevPlan,
 		},
-		schema:          measureSchema,
+		schema:          schema,
 		groupByTagsRefs: groupByTagRefs,
 		groupByEntity:   gba.groupByEntity,
 	}, nil
diff --git a/test/cases/measure/data/input/top.yaml b/test/cases/measure/data/input/top.yaml
index 678db51e..c103d033 100644
--- a/test/cases/measure/data/input/top.yaml
+++ b/test/cases/measure/data/input/top.yaml
@@ -23,7 +23,7 @@ tagProjection:
   - name: "default"
     tags: ["entity_id"]
 fieldProjection:
-  names: ["total", "value"]
+  names: ["value"]
 groupBy:
   tagProjection:
     tagFamilies:
diff --git a/test/cases/measure/measure.go b/test/cases/measure/measure.go
index 4db0b05d..b906d86b 100644
--- a/test/cases/measure/measure.go
+++ b/test/cases/measure/measure.go
@@ -39,7 +39,7 @@ var (
 	}
 )
 
-var _ = g.DescribeTable("Scanning Measures", verify,
+var _ = g.FDescribeTable("Scanning Measures", verify,
 	g.Entry("all", helpers.Args{Input: "all", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),
 	g.Entry("all_only_fields", helpers.Args{Input: "all", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),
 	g.Entry("filter by tag", helpers.Args{Input: "tag_filter", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),