K8s/Dashboard/SQL: Support ascending order query (#101363)
This commit is contained in:
@@ -195,6 +195,7 @@ func (a *dashboardSqlAccess) migrateDashboards(ctx context.Context, orgId int64,
|
||||
OrgID: orgId,
|
||||
Limit: 100000000,
|
||||
GetHistory: opts.WithHistory, // include history
|
||||
Order: "ASC", // oldest first
|
||||
}
|
||||
|
||||
blobs := &BlobStoreInfo{}
|
||||
@@ -301,6 +302,7 @@ func (a *dashboardSqlAccess) migrateFolders(ctx context.Context, orgId int64, op
|
||||
OrgID: orgId,
|
||||
Limit: 100000000,
|
||||
GetFolders: true,
|
||||
Order: "ASC",
|
||||
}
|
||||
|
||||
sql, err := a.sql(ctx)
|
||||
|
||||
@@ -41,10 +41,16 @@ type sqlQuery struct {
|
||||
}
|
||||
|
||||
func (r sqlQuery) Validate() error {
|
||||
if r.Query.Order == "ASC" && r.Query.LastID > 0 {
|
||||
return fmt.Errorf("ascending order does not support paging by last id")
|
||||
}
|
||||
return nil // TODO
|
||||
}
|
||||
|
||||
func newQueryReq(sql *legacysql.LegacyDatabaseHelper, query *DashboardQuery) sqlQuery {
|
||||
if query.Order == "" {
|
||||
query.Order = "DESC" // use version as RV
|
||||
}
|
||||
return sqlQuery{
|
||||
SQLTemplate: sqltemplate.New(sql.DialectForDriver()),
|
||||
Query: query,
|
||||
|
||||
@@ -76,6 +76,14 @@ func TestDashboardQueries(t *testing.T) {
|
||||
GetFolders: true,
|
||||
}),
|
||||
},
|
||||
{
|
||||
Name: "export_with_history",
|
||||
Data: getQuery(&DashboardQuery{
|
||||
OrgID: 1,
|
||||
GetHistory: true,
|
||||
Order: "ASC",
|
||||
}),
|
||||
},
|
||||
},
|
||||
sqlQueryPanels: {
|
||||
{
|
||||
|
||||
@@ -33,8 +33,8 @@ WHERE dashboard.is_folder = {{ .Arg .Query.GetFolders }}
|
||||
AND dashboard_version.version < {{ .Arg .Query.LastID }}
|
||||
{{ end }}
|
||||
ORDER BY
|
||||
dashboard_version.created DESC,
|
||||
dashboard_version.version DESC,
|
||||
dashboard_version.created {{ .Query.Order }},
|
||||
dashboard_version.version {{ .Query.Order }},
|
||||
dashboard.uid ASC
|
||||
{{ else }}
|
||||
{{ if .Query.UID }}
|
||||
|
||||
Vendored
Executable
+22
@@ -0,0 +1,22 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
provisioning.name as repo_name,
|
||||
provisioning.external_id as repo_path,
|
||||
provisioning.check_sum as repo_hash,
|
||||
provisioning.updated as repo_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM `grafana`.`dashboard` as dashboard
|
||||
LEFT OUTER JOIN `grafana`.`dashboard_version` as dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN `grafana`.`dashboard_provisioning` as provisioning ON dashboard.id = provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `grafana`.`user` as created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `grafana`.`user` as updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = FALSE
|
||||
AND dashboard.org_id = 1
|
||||
ORDER BY
|
||||
dashboard_version.created ASC,
|
||||
dashboard_version.version ASC,
|
||||
dashboard.uid ASC
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `user` AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `user` AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
ORDER BY dashboard.id DESC
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `user` AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `user` AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.id > 22
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `user` AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `user` AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `user` AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `user` AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard_version.version = 3
|
||||
ORDER BY dashboard_version.version DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN `user` AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN `user` AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
Executable
+22
@@ -0,0 +1,22 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
provisioning.name as repo_name,
|
||||
provisioning.external_id as repo_path,
|
||||
provisioning.check_sum as repo_hash,
|
||||
provisioning.updated as repo_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM "grafana"."dashboard" as dashboard
|
||||
LEFT OUTER JOIN "grafana"."dashboard_version" as dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN "grafana"."dashboard_provisioning" as provisioning ON dashboard.id = provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "grafana"."user" as created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "grafana"."user" as updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = FALSE
|
||||
AND dashboard.org_id = 1
|
||||
ORDER BY
|
||||
dashboard_version.created ASC,
|
||||
dashboard_version.version ASC,
|
||||
dashboard.uid ASC
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.id > 22
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard_version.version = 3
|
||||
ORDER BY dashboard_version.version DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
Executable
+22
@@ -0,0 +1,22 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
provisioning.name as repo_name,
|
||||
provisioning.external_id as repo_path,
|
||||
provisioning.check_sum as repo_hash,
|
||||
provisioning.updated as repo_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM "grafana"."dashboard" as dashboard
|
||||
LEFT OUTER JOIN "grafana"."dashboard_version" as dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN "grafana"."dashboard_provisioning" as provisioning ON dashboard.id = provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "grafana"."user" as created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "grafana"."user" as updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = FALSE
|
||||
AND dashboard.org_id = 1
|
||||
ORDER BY
|
||||
dashboard_version.created ASC,
|
||||
dashboard_version.version ASC,
|
||||
dashboard.uid ASC
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.id > 22
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
ORDER BY dashboard.id DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard_version.created, updated_user.uid as updated_by,updated_user.id as created_by_id,
|
||||
dashboard_version.version, dashboard_version.message, dashboard_version.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_version ON dashboard.id = dashboard_version.dashboard_id
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard_version.version = 3
|
||||
ORDER BY dashboard_version.version DESC
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
SELECT
|
||||
dashboard.org_id, dashboard.id,
|
||||
dashboard.uid, dashboard.folder_uid,
|
||||
dashboard.deleted, plugin_id,
|
||||
dashboard_provisioning.name as origin_name,
|
||||
dashboard_provisioning.external_id as origin_path,
|
||||
dashboard_provisioning.check_sum as origin_key,
|
||||
dashboard_provisioning.updated as origin_ts,
|
||||
dashboard.created, created_user.uid as created_by, dashboard.created_by as created_by_id,
|
||||
dashboard.updated, updated_user.uid as updated_by, dashboard.updated_by as updated_by_id,
|
||||
dashboard.version, '' as message, dashboard.data
|
||||
FROM dashboard
|
||||
LEFT OUTER JOIN dashboard_provisioning ON dashboard.id = dashboard_provisioning.dashboard_id
|
||||
LEFT OUTER JOIN "user" AS created_user ON dashboard.created_by = created_user.id
|
||||
LEFT OUTER JOIN "user" AS updated_user ON dashboard.updated_by = updated_user.id
|
||||
WHERE dashboard.is_folder = false
|
||||
AND dashboard.org_id = 2
|
||||
AND dashboard.uid = 'UUU'
|
||||
AND dashboard.deleted IS NULL
|
||||
ORDER BY dashboard.id DESC
|
||||
@@ -30,6 +30,9 @@ type DashboardQuery struct {
|
||||
|
||||
// The label requirements
|
||||
Labels []*resource.Requirement
|
||||
|
||||
// DESC|ASC, how to order the IDs
|
||||
Order string // asc required to use lastID, desc required for export with history
|
||||
}
|
||||
|
||||
func (r *DashboardQuery) UseHistoryTable() bool {
|
||||
|
||||
Reference in New Issue
Block a user