mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
unifiedStorage: sort by namespace/name ASC (#91314)
* unified: sort by key asc * sort by key * keep tests commented
This commit is contained in:
parent
a77ff98d3f
commit
36c2e0cfae
@ -359,9 +359,9 @@ func buildTree(ctx context.Context, s *cdkBackend, key *ResourceKey) (*cdkListIt
|
|||||||
resources = append(resources, *res)
|
resources = append(resources, *res)
|
||||||
}
|
}
|
||||||
sort.Slice(resources, func(i, j int) bool {
|
sort.Slice(resources, func(i, j int) bool {
|
||||||
a := resources[i].versions[0].rv
|
a := resources[i].prefix
|
||||||
b := resources[j].versions[0].rv
|
b := resources[j].prefix
|
||||||
return a > b
|
return a < b
|
||||||
})
|
})
|
||||||
|
|
||||||
return &cdkListIterator{
|
return &cdkListIterator{
|
||||||
|
@ -46,7 +46,7 @@ SELECT
|
|||||||
AND kv.{{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
AND kv.{{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
ORDER BY kv.{{ .Ident "resource_version" }} DESC
|
ORDER BY kv.{{ .Ident "namespace" }} ASC, kv.{{ .Ident "name" }} ASC
|
||||||
{{ if (gt .Request.Limit 0) }}
|
{{ if (gt .Request.Limit 0) }}
|
||||||
LIMIT {{ .Arg .Request.Limit }} OFFSET {{ .Arg .Request.Offset }}
|
LIMIT {{ .Arg .Request.Limit }} OFFSET {{ .Arg .Request.Offset }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -19,5 +19,5 @@ SELECT
|
|||||||
AND {{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
AND {{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
ORDER BY {{ .Ident "resource_version" }} DESC
|
ORDER BY {{ .Ident "namespace" }} ASC, {{ .Ident "name" }} ASC
|
||||||
;
|
;
|
||||||
|
@ -220,12 +220,12 @@ func TestIntegrationBackendList(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Nil(t, res.Error)
|
require.Nil(t, res.Error)
|
||||||
require.Len(t, res.Items, 5)
|
require.Len(t, res.Items, 5)
|
||||||
// should be sorted by resource version DESC
|
// should be sorted by key ASC
|
||||||
require.Equal(t, "item6 ADDED", string(res.Items[0].Value))
|
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||||
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
||||||
require.Equal(t, "item5 ADDED", string(res.Items[2].Value))
|
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||||
require.Equal(t, "item4 ADDED", string(res.Items[3].Value))
|
require.Equal(t, "item5 ADDED", string(res.Items[3].Value))
|
||||||
require.Equal(t, "item1 ADDED", string(res.Items[4].Value))
|
require.Equal(t, "item6 ADDED", string(res.Items[4].Value))
|
||||||
|
|
||||||
require.Empty(t, res.NextPageToken)
|
require.Empty(t, res.NextPageToken)
|
||||||
})
|
})
|
||||||
@ -245,9 +245,9 @@ func TestIntegrationBackendList(t *testing.T) {
|
|||||||
require.Len(t, res.Items, 3)
|
require.Len(t, res.Items, 3)
|
||||||
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, "item6 ADDED", string(res.Items[0].Value))
|
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||||
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
||||||
require.Equal(t, "item5 ADDED", string(res.Items[2].Value))
|
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||||
require.Equal(t, int64(8), continueToken.ResourceVersion)
|
require.Equal(t, int64(8), continueToken.ResourceVersion)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -264,10 +264,10 @@ func TestIntegrationBackendList(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Nil(t, res.Error)
|
require.Nil(t, res.Error)
|
||||||
require.Len(t, res.Items, 4)
|
require.Len(t, res.Items, 4)
|
||||||
require.Equal(t, "item4 ADDED", string(res.Items[0].Value))
|
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||||
require.Equal(t, "item3 ADDED", string(res.Items[1].Value))
|
require.Equal(t, "item2 ADDED", string(res.Items[1].Value))
|
||||||
require.Equal(t, "item2 ADDED", string(res.Items[2].Value))
|
require.Equal(t, "item3 ADDED", string(res.Items[2].Value))
|
||||||
require.Equal(t, "item1 ADDED", string(res.Items[3].Value))
|
require.Equal(t, "item4 ADDED", string(res.Items[3].Value))
|
||||||
require.Empty(t, res.NextPageToken)
|
require.Empty(t, res.NextPageToken)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -287,8 +287,8 @@ func TestIntegrationBackendList(t *testing.T) {
|
|||||||
require.Nil(t, res.Error)
|
require.Nil(t, res.Error)
|
||||||
require.Len(t, res.Items, 3)
|
require.Len(t, res.Items, 3)
|
||||||
t.Log(res.Items)
|
t.Log(res.Items)
|
||||||
require.Equal(t, "item2 MODIFIED", string(res.Items[0].Value))
|
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||||
require.Equal(t, "item5 ADDED", string(res.Items[1].Value))
|
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
||||||
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||||
|
|
||||||
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
||||||
@ -315,8 +315,8 @@ func TestIntegrationBackendList(t *testing.T) {
|
|||||||
require.Nil(t, res.Error)
|
require.Nil(t, res.Error)
|
||||||
require.Len(t, res.Items, 2)
|
require.Len(t, res.Items, 2)
|
||||||
t.Log(res.Items)
|
t.Log(res.Items)
|
||||||
require.Equal(t, "item5 ADDED", string(res.Items[0].Value))
|
require.Equal(t, "item4 ADDED", string(res.Items[0].Value))
|
||||||
require.Equal(t, "item4 ADDED", string(res.Items[1].Value))
|
require.Equal(t, "item5 ADDED", string(res.Items[1].Value))
|
||||||
|
|
||||||
continueToken, err = sql.GetContinueToken(res.NextPageToken)
|
continueToken, err = sql.GetContinueToken(res.NextPageToken)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
@ -8,6 +8,6 @@ INNER JOIN (
|
|||||||
) AS maxkv
|
) AS maxkv
|
||||||
ON maxkv."resource_version" = kv."resource_version" AND maxkv."namespace" = kv."namespace" AND maxkv."group" = kv."group" AND maxkv."resource" = kv."resource" AND maxkv."name" = kv."name"
|
ON maxkv."resource_version" = kv."resource_version" AND maxkv."namespace" = kv."namespace" AND maxkv."group" = kv."group" AND maxkv."resource" = kv."resource" AND maxkv."name" = kv."name"
|
||||||
WHERE kv."action" != 3 AND kv."namespace" = ?
|
WHERE kv."action" != 3 AND kv."namespace" = ?
|
||||||
ORDER BY kv."resource_version" DESC
|
ORDER BY kv."namespace" ASC, kv."name" ASC
|
||||||
LIMIT ? OFFSET ?
|
LIMIT ? OFFSET ?
|
||||||
;
|
;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
SELECT "resource_version", "namespace", "name", "value"
|
SELECT "resource_version", "namespace", "name", "value"
|
||||||
FROM "resource"
|
FROM "resource"
|
||||||
WHERE 1 = 1 AND "namespace" = ?
|
WHERE 1 = 1 AND "namespace" = ?
|
||||||
ORDER BY "resource_version" DESC
|
ORDER BY "namespace" ASC, "name" ASC
|
||||||
;
|
;
|
||||||
|
Loading…
Reference in New Issue
Block a user