Don't pass datasource to newPostgresMacroEngine

This commit is contained in:
Sven Klemm 2018-08-14 09:15:24 +02:00
parent 3552a4cb86
commit 3955133f7e
3 changed files with 7 additions and 13 deletions

View File

@ -7,7 +7,6 @@ import (
"strings"
"time"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/tsdb"
)
@ -21,10 +20,8 @@ type postgresMacroEngine struct {
timescaledb bool
}
func newPostgresMacroEngine(datasource *models.DataSource) tsdb.SqlMacroEngine {
engine := &postgresMacroEngine{}
engine.timescaledb = datasource.JsonData.Get("timescaledb").MustBool(false)
return engine
func newPostgresMacroEngine(timescaledb bool) tsdb.SqlMacroEngine {
return &postgresMacroEngine{timescaledb: timescaledb}
}
func (m *postgresMacroEngine) Interpolate(query *tsdb.Query, timeRange *tsdb.TimeRange, sql string) (string, error) {

View File

@ -6,19 +6,14 @@ import (
"testing"
"time"
"github.com/grafana/grafana/pkg/components/simplejson"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/tsdb"
. "github.com/smartystreets/goconvey/convey"
)
func TestMacroEngine(t *testing.T) {
Convey("MacroEngine", t, func() {
datasource := &models.DataSource{JsonData: simplejson.New()}
engine := newPostgresMacroEngine(datasource)
datasourceTS := &models.DataSource{JsonData: simplejson.New()}
datasourceTS.JsonData.Set("timescaledb", true)
engineTS := newPostgresMacroEngine(datasourceTS)
engine := newPostgresMacroEngine(false)
engineTS := newPostgresMacroEngine(true)
query := &tsdb.Query{}
Convey("Given a time range between 2018-04-12 00:00 and 2018-04-12 00:05", func() {

View File

@ -32,7 +32,9 @@ func newPostgresQueryEndpoint(datasource *models.DataSource) (tsdb.TsdbQueryEndp
log: logger,
}
return tsdb.NewSqlQueryEndpoint(&config, &rowTransformer, newPostgresMacroEngine(datasource), logger)
timescaledb := datasource.JsonData.Get("timescaledb").MustBool(false)
return tsdb.NewSqlQueryEndpoint(&config, &rowTransformer, newPostgresMacroEngine(timescaledb), logger)
}
func generateConnectionString(datasource *models.DataSource) string {