InfluxDB: Refactor frame and field creation (#97635)

* refactor frame and field creation

* use influxql package to get the type of the query

* remove unnecessary tests

* add influxql in go.mod

* fix unit test

* update ownership

* update query expression
This commit is contained in:
ismail simsek
2024-12-20 12:23:17 +01:00
committed by GitHub
parent 293a90f76f
commit 58d17ecad1
10 changed files with 97 additions and 36 deletions
@@ -108,7 +108,7 @@ func TestInfluxdbQueryParser_Parse(t *testing.T) {
Interval: time.Second * 20,
}
res, err := QueryParse(query)
res, err := QueryParse(query, nil)
require.NoError(t, err)
require.Len(t, res.GroupBy, 3)
require.Len(t, res.Selects, 3)
@@ -140,7 +140,7 @@ func TestInfluxdbQueryParser_Parse(t *testing.T) {
],
"interval": ">10s",
"policy": "default",
"query": "RawDummyQuery",
"query": "SELECT \"value\" FROM \"measurement\"",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
@@ -171,9 +171,9 @@ func TestInfluxdbQueryParser_Parse(t *testing.T) {
Interval: time.Second * 10,
}
res, err := QueryParse(query)
res, err := QueryParse(query, nil)
require.NoError(t, err)
require.Equal(t, "RawDummyQuery", res.RawQuery)
require.Equal(t, `SELECT "value" FROM "measurement"`, res.RawQuery)
require.Len(t, res.GroupBy, 2)
require.Len(t, res.Selects, 1)
require.Empty(t, res.Tags)
@@ -183,7 +183,7 @@ func TestInfluxdbQueryParser_Parse(t *testing.T) {
t.Run("will enforce a minInterval of 1 millisecond", func(t *testing.T) {
json := `
{
"query": "RawDummyQuery",
"query": "SELECT \"value\" FROM \"measurement\"",
"rawQuery": true,
"resultFormat": "time_series"
}
@@ -194,7 +194,7 @@ func TestInfluxdbQueryParser_Parse(t *testing.T) {
Interval: time.Millisecond * 0,
}
res, err := QueryParse(query)
res, err := QueryParse(query, nil)
require.NoError(t, err)
require.Equal(t, time.Millisecond*1, res.Interval)
})