Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Commit 99e2438

Browse files
committed
Cleanup
1 parent 205a43f commit 99e2438

File tree

6 files changed

+23
-33
lines changed

6 files changed

+23
-33
lines changed

quesma/model/bucket_aggregations/date_histogram.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,10 @@ func (query *DateHistogram) TranslateSqlResponseToJson(rows []model.QueryResultR
8383
// Implement default when query.minDocCount == DefaultMinDocCount, we need to return
8484
// all buckets between the first bucket that matches documents and the last one.
8585

86-
fmt.Println("rowsy", rows)
87-
8886
if query.minDocCount == 0 {
8987
rows = query.NewRowsTransformer().Transform(query.ctx, rows)
9088
}
9189

92-
fmt.Println("rowsy", rows)
93-
9490
var response []model.JsonMap
9591
for _, row := range rows {
9692
docCount := row.LastColValue()

quesma/model/bucket_aggregations/filters.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,24 @@ import (
1010
)
1111

1212
type Filters struct {
13-
Ctx context.Context
13+
ctx context.Context
1414
Filters []Filter
1515
}
1616

1717
func NewFiltersEmpty(ctx context.Context) Filters {
18-
return Filters{Ctx: ctx}
18+
return Filters{ctx: ctx}
1919
}
2020

2121
func NewFilters(ctx context.Context, filters []Filter) Filters {
22-
return Filters{Ctx: ctx, Filters: filters}
22+
return Filters{ctx: ctx, Filters: filters}
23+
}
24+
25+
func (query Filters) NewFiltersSingleFilter(idx int) Filters {
26+
if idx < 0 || idx >= len(query.Filters) {
27+
logger.ErrorWithCtx(query.ctx).Msgf("invalid index %d for filters aggregation", idx)
28+
return NewFiltersEmpty(query.ctx)
29+
}
30+
return NewFilters(query.ctx, []Filter{query.Filters[idx]})
2331
}
2432

2533
type Filter struct {
@@ -41,7 +49,7 @@ func (query Filters) TranslateSqlResponseToJson(rows []model.QueryResultRow) mod
4149
if len(rows[0].Cols) > 0 {
4250
value = rows[0].Cols[len(rows[0].Cols)-1].Value
4351
} else {
44-
logger.ErrorWithCtx(query.Ctx).Msgf("unexpected number of columns in filters aggregation response, len(rows[0].Cols): %d", len(rows[0].Cols))
52+
logger.ErrorWithCtx(query.ctx).Msgf("unexpected number of columns in filters aggregation response, len(rows[0].Cols): %d", len(rows[0].Cols))
4553
}
4654
}
4755
return model.JsonMap{
@@ -58,7 +66,6 @@ func (query Filters) DoesNotHaveGroupBy() bool {
5866
}
5967

6068
func (query Filters) CombinatorGroups() (result []CombinatorGroup) {
61-
fmt.Println("combining groups", query.Filters)
6269
for filterIdx, filter := range query.Filters {
6370
prefix := fmt.Sprintf("filter_%d__", filterIdx)
6471
if len(query.Filters) == 1 {
@@ -80,8 +87,8 @@ func (query Filters) CombinatorTranslateSqlResponseToJson(subGroup CombinatorGro
8087

8188
func (query Filters) CombinatorSplit() []model.QueryType {
8289
result := make([]model.QueryType, 0, len(query.Filters))
83-
for _, filter := range query.Filters {
84-
result = append(result, NewFilters(query.Ctx, []Filter{filter}))
90+
for i := range query.Filters {
91+
result = append(result, query.NewFiltersSingleFilter(i))
8592
}
8693
return result
8794
}

quesma/queryparser/aggregation_parser_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,6 @@ func allAggregationTests() []testdata.AggregationTestCase {
666666
add(kibana_visualize.PipelineAggregationTests, "kibana-visualize/pipeline_agg_req")
667667
add(clients.KunkkaTests, "clients/kunkka")
668668
add(clients.OpheliaTests, "clients/ophelia")
669-
add(clients.OpheliaTests, "clients/ophelia")
670669
add(clients.CloverTests, "clients/clover")
671670

672671
return allTests

quesma/queryparser/pancake_json_rendering.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package queryparser
55
import (
66
"context"
77
"fmt"
8-
"github.com/k0kubun/pp"
98
"quesma/logger"
109
"quesma/model"
1110
"quesma/model/bucket_aggregations"
@@ -185,12 +184,7 @@ func (p *pancakeJSONRenderer) combinatorBucketToJSON(remainingLayers []*pancakeM
185184
case bucket_aggregations.CombinatorAggregationInterface:
186185
var bucketArray []model.JsonMap
187186
for _, subGroup := range queryType.CombinatorGroups() {
188-
fmt.Println("subGroup", subGroup, rows)
189187
selectedRowsWithoutPrefix := p.selectPrefixRows(subGroup.Prefix, rows)
190-
if len(selectedRowsWithoutPrefix) == 0 || len(selectedRowsWithoutPrefix[0].Cols) == 0 {
191-
selectedRowsWithoutPrefix = rows // haaaack
192-
}
193-
fmt.Println("selectedRowsWithoutPrefix", selectedRowsWithoutPrefix)
194188

195189
subAggr, err := p.layerToJSON(remainingLayers[1:], selectedRowsWithoutPrefix)
196190
if err != nil {
@@ -254,11 +248,8 @@ func (p *pancakeJSONRenderer) layerToJSON(remainingLayers []*pancakeModelLayer,
254248

255249
if layer.nextBucketAggregation != nil {
256250
// sampler and filter are special
257-
pp.Println("DoesHaveGroupBy", layer.nextBucketAggregation.DoesHaveGroupBy())
258251
if !layer.nextBucketAggregation.DoesHaveGroupBy() {
259-
fmt.Println("jestem :blush:")
260252
json, err := p.combinatorBucketToJSON(remainingLayers, rows)
261-
pp.Println("json", json)
262253
if err != nil {
263254
return nil, err
264255
}
@@ -293,7 +284,6 @@ func (p *pancakeJSONRenderer) layerToJSON(remainingLayers []*pancakeModelLayer,
293284
bucketRows, subAggrRows = p.potentiallyRemoveExtraBucket(layer, bucketRows, subAggrRows)
294285

295286
buckets := layer.nextBucketAggregation.queryType.TranslateSqlResponseToJson(bucketRows)
296-
fmt.Println("buckets", buckets)
297287

298288
if len(buckets) == 0 { // without this we'd generate {"buckets": []} in the response, which Elastic doesn't do.
299289
if layer.nextBucketAggregation.metadata != nil {

quesma/queryparser/pancake_model.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@ type pancakeModel struct {
2020
sampleLimit int
2121
}
2222

23-
func (p *pancakeModel) ShallowClone() *pancakeModel {
23+
func (p *pancakeModel) Clone() *pancakeModel {
2424
layers := make([]*pancakeModelLayer, len(p.layers))
2525
for i, layer := range p.layers {
26-
layers[i] = &pancakeModelLayer{
27-
nextBucketAggregation: layer.nextBucketAggregation,
28-
currentMetricAggregations: layer.currentMetricAggregations,
29-
currentPipelineAggregations: layer.currentPipelineAggregations,
30-
childrenPipelineAggregations: layer.childrenPipelineAggregations,
31-
}
26+
layers[i] = newPancakeModelLayer(layer.nextBucketAggregation)
27+
layers[i].currentMetricAggregations = p.layers[i].currentMetricAggregations
28+
layers[i].currentPipelineAggregations = p.layers[i].currentPipelineAggregations
29+
layers[i].childrenPipelineAggregations = p.layers[i].childrenPipelineAggregations
3230
}
3331
return &pancakeModel{
3432
layers: layers,

quesma/queryparser/pancake_transformer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,17 +453,17 @@ func (a *pancakeTransformer) createFiltersPancakes(pancake *pancakeModel) (resul
453453
if len(firstLayer.currentMetricAggregations) == 0 && len(firstLayer.currentPipelineAggregations) == 0 && len(pancake.layers) > 1 { // maybe secondLayer, not first?
454454
// If filter is in the first layer, we can just add it to the where clause
455455
fmt.Println("jestem tu?", len(filters.Filters))
456-
for _, filter := range filters.Filters[1:] {
457-
newPancake := pancake.ShallowClone()
456+
for i, filter := range filters.Filters[1:] {
457+
newPancake := pancake.Clone()
458458
// new (every) pancake has only 1 filter instead of all
459459
bucketAggr := newPancake.layers[0].nextBucketAggregation.ShallowClone()
460-
bucketAggr.queryType = bucket_aggregations.NewFilters(filters.Ctx, []bucket_aggregations.Filter{filter})
460+
bucketAggr.queryType = filters.NewFiltersSingleFilter(i + 1) // +1 because we iterate over [1:]
461461
pp.Println("new filter", bucketAggr.queryType)
462462
newPancake.layers[0] = newPancakeModelLayer(&bucketAggr)
463463
newPancake.whereClause = model.And([]model.Expr{newPancake.whereClause, filter.Sql.WhereClause})
464464
result = append(result, newPancake)
465465
}
466-
pancake.layers[0].nextBucketAggregation.queryType = bucket_aggregations.NewFilters(filters.Ctx, []bucket_aggregations.Filter{filters.Filters[0]})
466+
pancake.layers[0].nextBucketAggregation.queryType = filters.NewFiltersSingleFilter(0)
467467
pp.Println("hoho", filters)
468468
}
469469
return

0 commit comments

Comments
 (0)