@@ -10,6 +10,10 @@ import {formatExpression} from 'src/variables/utils/formatExpression'
1010import { tagToFlux } from 'src/timeMachine/utils/queryBuilder'
1111import { event } from 'src/cloud/utils/reporting'
1212import { isFlagEnabled } from 'src/shared/utils/featureFlag'
13+ import {
14+ CACHING_REQUIRED_END_DATE ,
15+ CACHING_REQUIRED_START_DATE ,
16+ } from 'src/utils/datetime/constants'
1317
1418// Types
1519import { TimeRange , BuilderConfig } from 'src/types'
@@ -53,7 +57,7 @@ export function findKeys({
5357
5458 // TODO: Use the `v1.tagKeys` function from the Flux standard library once
5559 // this issue is resolved: https://github.com/influxdata/flux/issues/1071
56- const query = `import "regexp"
60+ let query = `import "regexp"
5761
5862 from(bucket: "${ bucket } ")
5963 |> range(${ timeRangeArguments } )
@@ -65,6 +69,21 @@ export function findKeys({
6569 |> sort()
6670 |> limit(n: ${ adjustedLimit } )`
6771
72+ if ( bucket !== 'sample' && isFlagEnabled ( 'newQueryBuilder' ) ) {
73+ query = `import "regexp"
74+ import "influxdata/influxdb/schema"
75+
76+ schema.tagKeys(
77+ bucket: "${ bucket } ",
78+ predicate: (r) => ${ tagFilters } ,
79+ start: ${ CACHING_REQUIRED_START_DATE } ,
80+ stop: ${ CACHING_REQUIRED_END_DATE } ,
81+ )${ searchFilter } ${ previousKeyFilter }
82+ |> filter(fn: (r) => r._value != "_time" and r._value != "_start" and r._value != "_stop" and r._value != "_value")
83+ |> sort()
84+ |> limit(n: ${ limit } )`
85+ }
86+
6887 event ( 'runQuery' , {
6988 context : 'queryBuilder-findKeys' ,
7089 } )
@@ -106,7 +125,7 @@ export function findValues({
106125
107126 // TODO: Use the `v1.tagValues` function from the Flux standard library once
108127 // this issue is resolved: https://github.com/influxdata/flux/issues/1071
109- const query = `import "regexp"
128+ let query = `import "regexp"
110129
111130 from(bucket: "${ bucket } ")
112131 |> range(${ timeRangeArguments } )
@@ -117,6 +136,21 @@ export function findValues({
117136 |> limit(n: ${ adjustedLimit } )
118137 |> sort()`
119138
139+ if ( bucket !== 'sample' && isFlagEnabled ( 'newQueryBuilder' ) ) {
140+ query = `import "regexp"
141+ import "influxdata/influxdb/schema"
142+
143+ schema.tagKeys(
144+ bucket: "${ bucket } ",
145+ predicate: (r) => ${ tagFilters } ,
146+ start: ${ CACHING_REQUIRED_START_DATE } ,
147+ stop: ${ CACHING_REQUIRED_END_DATE } ,
148+ )${ searchFilter }
149+ |> filter(fn: (r) => r._value != "_time" and r._value != "_start" and r._value != "_stop" and r._value != "_value")
150+ |> sort()
151+ |> limit(n: ${ limit } )`
152+ }
153+
120154 event ( 'runQuery' , {
121155 context : 'queryBuilder-findValues' ,
122156 } )
0 commit comments