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

Commit 3835d60

Browse files
authored
Fix size parsing (#961)
#949 fixed size parsing for aggregations, but it can as well appear in top-level query part.
1 parent 30be815 commit 3835d60

File tree

3 files changed

+24
-18
lines changed

3 files changed

+24
-18
lines changed

quesma/queryparser/query_parser.go

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ func NewEmptyHighlighter() model.Highlighter {
3232
}
3333
}
3434

35+
const (
36+
defaultQueryResultSize = 10
37+
defaultTrackTotalHits = 10000
38+
)
39+
3540
func (cw *ClickhouseQueryTranslator) ParseQuery(body types.JSON) (*model.ExecutionPlan, error) {
3641

3742
simpleQuery, hitsInfo, highlighter, err := cw.parseQueryInternal(body)
@@ -148,17 +153,8 @@ func (cw *ClickhouseQueryTranslator) parseQueryInternal(body types.JSON) (*model
148153
if sortPart, ok := queryAsMap["sort"]; ok {
149154
parsedQuery.OrderBy = cw.parseSortFields(sortPart)
150155
}
151-
const defaultSize = 10
152-
size := defaultSize
153-
if sizeRaw, ok := queryAsMap["size"]; ok {
154-
if sizeFloat, ok := sizeRaw.(float64); ok {
155-
size = int(sizeFloat)
156-
} else {
157-
logger.WarnWithCtx(cw.Ctx).Msgf("unknown size format, size value: %v type: %T. Using default (%d)", sizeRaw, sizeRaw, defaultSize)
158-
}
159-
}
156+
size := cw.parseSize(queryAsMap, defaultQueryResultSize)
160157

161-
const defaultTrackTotalHits = 10000
162158
trackTotalHits := defaultTrackTotalHits
163159
if trackTotalHitsRaw, ok := queryAsMap["track_total_hits"]; ok {
164160
switch trackTotalHitsTyped := trackTotalHitsRaw.(type) {

quesma/quesma/config/config.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,11 @@ func (c *QuesmaConfiguration) optimizersConfigAsString(s string, cfg map[string]
177177
func (c *QuesmaConfiguration) OptimizersConfigAsString() string {
178178

179179
var lines []string
180-
181-
lines = append(lines, "\n")
182-
183180
for indexName, indexConfig := range c.IndexConfig {
184181
if len(indexConfig.Optimizers) > 0 {
185182
lines = append(lines, c.optimizersConfigAsString(indexName, indexConfig.Optimizers))
186183
}
187184
}
188-
189-
lines = append(lines, "\n")
190185
return strings.Join(lines, "\n")
191186
}
192187

@@ -253,8 +248,16 @@ Quesma Configuration:
253248
Log Level: %v
254249
Public TCP Port: %d
255250
Ingest Statistics: %t,
256-
Quesma Telemetry URL: %s
257-
Optimizers: %s`,
251+
Quesma Telemetry URL: %s,
252+
Optimizers: %s,
253+
DisableAuth: %t,
254+
AutodiscoveryEnabled: %t,
255+
EnableIngest: %t,
256+
CreateCommonTable: %t,
257+
UseCommonTableForWildcard: %t,
258+
DefaultIngestTarget: %v,
259+
DefaultQueryTarget: %v,
260+
`,
258261
c.TransparentProxy,
259262
elasticUrl,
260263
elasticsearchExtra,
@@ -268,6 +271,13 @@ Quesma Configuration:
268271
c.IngestStatistics,
269272
quesmaInternalTelemetryUrl,
270273
c.OptimizersConfigAsString(),
274+
c.DisableAuth,
275+
c.AutodiscoveryEnabled,
276+
c.EnableIngest,
277+
c.CreateCommonTable,
278+
c.UseCommonTableForWildcard,
279+
c.DefaultIngestTarget,
280+
c.DefaultQueryTarget,
271281
)
272282
}
273283

quesma/testdata/requests.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ var TestsAsyncSearch = []AsyncSearchTestCase{
6363
}
6464
},
6565
"runtime_mappings": {},
66-
"size": 0,
66+
"size": "0",
6767
"track_total_hits": false
6868
}`,
6969
`{

0 commit comments

Comments
 (0)