github.com/influxdata/influxdb/v2@v2.7.6/influxql/query/compile_internal_test.go (about) 1 package query 2 3 import ( 4 "testing" 5 6 "github.com/influxdata/influxql" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestCompile_RewriteSubqueryRegex(t *testing.T) { 11 q := `SELECT top(mean, 10), host FROM (SELECT mean(value) FROM cpu WHERE id =~ /^(server-1|server-2|server-3)$/ GROUP BY host)` 12 stmt, err := influxql.ParseStatement(q) 13 require.NoError(t, err) 14 s := stmt.(*influxql.SelectStatement) 15 16 compiled, err := Compile(s, CompileOptions{}) 17 require.NoError(t, err) 18 19 c := compiled.(*compiledStatement) 20 require.Len(t, c.stmt.Sources, 1) 21 22 subquery := c.stmt.Sources[0] 23 require.Equal(t, `(SELECT mean(value) FROM cpu WHERE id = 'server-1' OR id = 'server-2' OR id = 'server-3' GROUP BY host)`, subquery.String()) 24 }