mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Added previous macros to mssql
This commit is contained in:
parent
9105625f24
commit
b4eac406d5
@ -96,6 +96,15 @@ func (m *msSqlMacroEngine) evaluateMacro(name string, args []string) (string, er
|
|||||||
return "", fmt.Errorf("missing time column argument for macro %v", name)
|
return "", fmt.Errorf("missing time column argument for macro %v", name)
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("%s >= %d AND %s <= %d", args[0], m.timeRange.GetFromAsSecondsEpoch(), args[0], m.timeRange.GetToAsSecondsEpoch()), nil
|
return fmt.Sprintf("%s >= %d AND %s <= %d", args[0], m.timeRange.GetFromAsSecondsEpoch(), args[0], m.timeRange.GetToAsSecondsEpoch()), nil
|
||||||
|
case "__unixEpochNanoFilter":
|
||||||
|
if len(args) == 0 {
|
||||||
|
return "", fmt.Errorf("missing time column argument for macro %v", name)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%s >= %d AND %s <= %d", args[0], m.timeRange.GetFromAsTimeUTC().UnixNano(), args[0], m.timeRange.GetToAsTimeUTC().UnixNano()), nil
|
||||||
|
case "__unixEpochNanoFrom":
|
||||||
|
return fmt.Sprintf("'%d'", m.timeRange.GetFromAsTimeUTC().UnixNano()), nil
|
||||||
|
case "__unixEpochNanoTo":
|
||||||
|
return fmt.Sprintf("'%d'", m.timeRange.GetToAsTimeUTC().UnixNano()), nil
|
||||||
case "__unixEpochGroup":
|
case "__unixEpochGroup":
|
||||||
if len(args) < 2 {
|
if len(args) < 2 {
|
||||||
return "", fmt.Errorf("macro %v needs time column and interval and optional fill value", name)
|
return "", fmt.Errorf("macro %v needs time column and interval and optional fill value", name)
|
||||||
|
@ -132,6 +132,26 @@ func TestMacroEngine(t *testing.T) {
|
|||||||
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Convey("interpolate __unixEpochNanoFilter function", func() {
|
||||||
|
sql, err := engine.Interpolate(query, timeRange, "select $__unixEpochNanoFilter(time_column)")
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
|
||||||
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.UnixNano(), to.UnixNano()))
|
||||||
|
})
|
||||||
|
Convey("interpolate __unixEpochNanoFrom function", func() {
|
||||||
|
sql, err := engine.Interpolate(query, timeRange, "select $__unixEpochNanoFrom()")
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
|
||||||
|
So(sql, ShouldEqual, fmt.Sprintf("select '%d'", from.UnixNano()))
|
||||||
|
})
|
||||||
|
|
||||||
|
Convey("interpolate __unixEpochNanoTo function", func() {
|
||||||
|
sql, err := engine.Interpolate(query, timeRange, "select $__unixEpochNanoTo()")
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
|
||||||
|
So(sql, ShouldEqual, fmt.Sprintf("select '%d'", to.UnixNano()))
|
||||||
|
})
|
||||||
|
|
||||||
Convey("interpolate __unixEpochGroup function", func() {
|
Convey("interpolate __unixEpochGroup function", func() {
|
||||||
|
|
||||||
sql, err := engine.Interpolate(query, timeRange, "SELECT $__unixEpochGroup(time_column,'5m')")
|
sql, err := engine.Interpolate(query, timeRange, "SELECT $__unixEpochGroup(time_column,'5m')")
|
||||||
@ -163,6 +183,13 @@ func TestMacroEngine(t *testing.T) {
|
|||||||
|
|
||||||
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Convey("interpolate __unixEpochNanoFilter function", func() {
|
||||||
|
sql, err := engine.Interpolate(query, timeRange, "select $__unixEpochNanoFilter(time_column)")
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
|
||||||
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.UnixNano(), to.UnixNano()))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Convey("Given a time range between 1960-02-01 07:00 and 1980-02-03 08:00", func() {
|
Convey("Given a time range between 1960-02-01 07:00 and 1980-02-03 08:00", func() {
|
||||||
@ -183,6 +210,13 @@ func TestMacroEngine(t *testing.T) {
|
|||||||
|
|
||||||
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.Unix(), to.Unix()))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Convey("interpolate __unixEpochNanoFilter function", func() {
|
||||||
|
sql, err := engine.Interpolate(query, timeRange, "select $__unixEpochNanoFilter(time_column)")
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
|
||||||
|
So(sql, ShouldEqual, fmt.Sprintf("select time_column >= %d AND time_column <= %d", from.UnixNano(), to.UnixNano()))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user