From eeb4d08031fc0c4e7b6e79ce4b0796682fbe3fc6 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Thu, 25 Oct 2018 10:29:40 +0200 Subject: [PATCH 1/5] mysql: fix timeFilter macro should respect local time zone (cherry picked from commit 97b22aa5a90b4869bfa35cdf880feca9b4b9cff3) --- pkg/tsdb/mysql/macros.go | 2 +- pkg/tsdb/mysql/macros_test.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/tsdb/mysql/macros.go b/pkg/tsdb/mysql/macros.go index 0f1c4fcaf2c..d53e9fc1896 100644 --- a/pkg/tsdb/mysql/macros.go +++ b/pkg/tsdb/mysql/macros.go @@ -60,7 +60,7 @@ func (m *mySqlMacroEngine) evaluateMacro(name string, args []string) (string, er return "", fmt.Errorf("missing time column argument for macro %v", name) } - return fmt.Sprintf("%s BETWEEN '%s' AND '%s'", args[0], m.timeRange.GetFromAsTimeUTC().Format(time.RFC3339), m.timeRange.GetToAsTimeUTC().Format(time.RFC3339)), nil + return fmt.Sprintf("%s BETWEEN FROM_UNIXTIME(%d) AND FROM_UNIXTIME(%d)", args[0], m.timeRange.GetFromAsSecondsEpoch(), m.timeRange.GetToAsSecondsEpoch()), nil case "__timeFrom": return fmt.Sprintf("'%s'", m.timeRange.GetFromAsTimeUTC().Format(time.RFC3339)), nil case "__timeTo": diff --git a/pkg/tsdb/mysql/macros_test.go b/pkg/tsdb/mysql/macros_test.go index fe153ca3e2d..de6ceabec50 100644 --- a/pkg/tsdb/mysql/macros_test.go +++ b/pkg/tsdb/mysql/macros_test.go @@ -60,7 +60,7 @@ func TestMacroEngine(t *testing.T) { sql, err := engine.Interpolate(query, timeRange, "WHERE $__timeFilter(time_column)") So(err, ShouldBeNil) - So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN '%s' AND '%s'", from.Format(time.RFC3339), to.Format(time.RFC3339))) + So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN FROM_UNIXTIME(%d) AND FROM_UNIXTIME(%d)", from.Unix(), to.Unix())) }) Convey("interpolate __timeFrom function", func() { @@ -120,7 +120,7 @@ func TestMacroEngine(t *testing.T) { sql, err := engine.Interpolate(query, timeRange, "WHERE $__timeFilter(time_column)") So(err, ShouldBeNil) - So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN '%s' AND '%s'", from.Format(time.RFC3339), to.Format(time.RFC3339))) + So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN FROM_UNIXTIME(%d) AND FROM_UNIXTIME(%d)", from.Unix(), to.Unix())) }) Convey("interpolate __timeFrom function", func() { @@ -168,7 +168,7 @@ func TestMacroEngine(t *testing.T) { sql, err := engine.Interpolate(query, timeRange, "WHERE $__timeFilter(time_column)") So(err, ShouldBeNil) - So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN '%s' AND '%s'", from.Format(time.RFC3339), to.Format(time.RFC3339))) + So(sql, ShouldEqual, fmt.Sprintf("WHERE time_column BETWEEN FROM_UNIXTIME(%d) AND FROM_UNIXTIME(%d)", from.Unix(), to.Unix())) }) Convey("interpolate __timeFrom function", func() { From c7736c0b7d8ff699c2f3146eab2b79a6d4ecd05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 31 Oct 2018 06:03:26 -0700 Subject: [PATCH 2/5] IE11 fix for legend tables below graph (cherry picked from commit d46c258933790384323f5e45fadc3a00850b076f) --- public/sass/components/_panel_graph.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/sass/components/_panel_graph.scss b/public/sass/components/_panel_graph.scss index 63d9169a4f8..a42aa4ef60e 100644 --- a/public/sass/components/_panel_graph.scss +++ b/public/sass/components/_panel_graph.scss @@ -28,6 +28,7 @@ position: relative; cursor: crosshair; flex-grow: 1; + min-height: 65%; } .datapoints-warning { @@ -46,7 +47,7 @@ .graph-legend { display: flex; flex: 0 1 auto; - max-height: 30%; + max-height: 35%; margin: 0; text-align: center; padding-top: 6px; From 2d237040823e38f8fd4c6c3ac94c7ba39285301e Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 5 Nov 2018 14:24:08 +0100 Subject: [PATCH 3/5] alerting: delete alerts when parent folder is deleted closes #13322 (cherry picked from commit 423331dae03e9abe33c6656d72d6185dd5a9bd06) --- pkg/services/sqlstore/dashboard.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pkg/services/sqlstore/dashboard.go b/pkg/services/sqlstore/dashboard.go index 1b853d17b5f..bad46c10af4 100644 --- a/pkg/services/sqlstore/dashboard.go +++ b/pkg/services/sqlstore/dashboard.go @@ -327,6 +327,24 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error { if dashboard.IsFolder { deletes = append(deletes, "DELETE FROM dashboard_provisioning WHERE dashboard_id in (select id from dashboard where folder_id = ?)") deletes = append(deletes, "DELETE FROM dashboard WHERE folder_id = ?") + + dashIds := []struct { + Id int64 + }{} + err := sess.SQL("select id from dashboard where folder_id = ?", dashboard.Id).Find(&dashIds) + if err != nil { + return err + } + + for _, id := range dashIds { + if err := deleteAlertDefinition(id.Id, sess); err != nil { + return nil + } + } + } + + if err := deleteAlertDefinition(dashboard.Id, sess); err != nil { + return nil } for _, sql := range deletes { @@ -337,10 +355,6 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error { } } - if err := deleteAlertDefinition(dashboard.Id, sess); err != nil { - return nil - } - return nil }) } From 738db3319ed2bb1e7ae00613238ab777e5005eea Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Tue, 6 Nov 2018 11:49:22 +0100 Subject: [PATCH 4/5] fix selecting datasource using enter key (cherry picked from commit e5e886ccb7bacd483f2423cc9cdc2dea0891e7f0) --- public/app/core/components/form_dropdown/form_dropdown.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/app/core/components/form_dropdown/form_dropdown.ts b/public/app/core/components/form_dropdown/form_dropdown.ts index 6e863e1cb5d..81d4b336443 100644 --- a/public/app/core/components/form_dropdown/form_dropdown.ts +++ b/public/app/core/components/form_dropdown/form_dropdown.ts @@ -88,7 +88,7 @@ export class FormDropdownCtrl { if (evt.keyCode === 13) { setTimeout(() => { this.inputElement.blur(); - }, 100); + }, 300); } }); From 617e69d41155df0a806aeecac653925d38a2e506 Mon Sep 17 00:00:00 2001 From: bergquist Date: Tue, 6 Nov 2018 15:09:48 +0100 Subject: [PATCH 5/5] bump version to 5.3.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 85546d0813c..ac1e2a9282d 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "company": "Grafana Labs" }, "name": "grafana", - "version": "5.3.2", + "version": "5.3.3", "repository": { "type": "git", "url": "http://github.com/grafana/grafana.git"