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)
|
||||
}
|
||||
sort.Slice(resources, func(i, j int) bool {
|
||||
a := resources[i].versions[0].rv
|
||||
b := resources[j].versions[0].rv
|
||||
return a > b
|
||||
a := resources[i].prefix
|
||||
b := resources[j].prefix
|
||||
return a < b
|
||||
})
|
||||
|
||||
return &cdkListIterator{
|
||||
|
@ -46,7 +46,7 @@ SELECT
|
||||
AND kv.{{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
ORDER BY kv.{{ .Ident "resource_version" }} DESC
|
||||
ORDER BY kv.{{ .Ident "namespace" }} ASC, kv.{{ .Ident "name" }} ASC
|
||||
{{ if (gt .Request.Limit 0) }}
|
||||
LIMIT {{ .Arg .Request.Limit }} OFFSET {{ .Arg .Request.Offset }}
|
||||
{{ end }}
|
||||
|
@ -19,5 +19,5 @@ SELECT
|
||||
AND {{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }}
|
||||
{{ 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.Nil(t, res.Error)
|
||||
require.Len(t, res.Items, 5)
|
||||
// should be sorted by resource version DESC
|
||||
require.Equal(t, "item6 ADDED", string(res.Items[0].Value))
|
||||
// should be sorted by key ASC
|
||||
require.Equal(t, "item1 ADDED", string(res.Items[0].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[3].Value))
|
||||
require.Equal(t, "item1 ADDED", string(res.Items[4].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||
require.Equal(t, "item5 ADDED", string(res.Items[3].Value))
|
||||
require.Equal(t, "item6 ADDED", string(res.Items[4].Value))
|
||||
|
||||
require.Empty(t, res.NextPageToken)
|
||||
})
|
||||
@ -245,9 +245,9 @@ func TestIntegrationBackendList(t *testing.T) {
|
||||
require.Len(t, res.Items, 3)
|
||||
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
||||
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, "item5 ADDED", string(res.Items[2].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||
require.Equal(t, int64(8), continueToken.ResourceVersion)
|
||||
})
|
||||
|
||||
@ -264,10 +264,10 @@ func TestIntegrationBackendList(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.Nil(t, res.Error)
|
||||
require.Len(t, res.Items, 4)
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item3 ADDED", string(res.Items[1].Value))
|
||||
require.Equal(t, "item2 ADDED", string(res.Items[2].Value))
|
||||
require.Equal(t, "item1 ADDED", string(res.Items[3].Value))
|
||||
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item2 ADDED", string(res.Items[1].Value))
|
||||
require.Equal(t, "item3 ADDED", string(res.Items[2].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[3].Value))
|
||||
require.Empty(t, res.NextPageToken)
|
||||
})
|
||||
|
||||
@ -287,8 +287,8 @@ func TestIntegrationBackendList(t *testing.T) {
|
||||
require.Nil(t, res.Error)
|
||||
require.Len(t, res.Items, 3)
|
||||
t.Log(res.Items)
|
||||
require.Equal(t, "item2 MODIFIED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item5 ADDED", string(res.Items[1].Value))
|
||||
require.Equal(t, "item1 ADDED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item2 MODIFIED", string(res.Items[1].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[2].Value))
|
||||
|
||||
continueToken, err := sql.GetContinueToken(res.NextPageToken)
|
||||
@ -315,8 +315,8 @@ func TestIntegrationBackendList(t *testing.T) {
|
||||
require.Nil(t, res.Error)
|
||||
require.Len(t, res.Items, 2)
|
||||
t.Log(res.Items)
|
||||
require.Equal(t, "item5 ADDED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[1].Value))
|
||||
require.Equal(t, "item4 ADDED", string(res.Items[0].Value))
|
||||
require.Equal(t, "item5 ADDED", string(res.Items[1].Value))
|
||||
|
||||
continueToken, err = sql.GetContinueToken(res.NextPageToken)
|
||||
require.NoError(t, err)
|
||||
|
@ -8,6 +8,6 @@ INNER JOIN (
|
||||
) 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"
|
||||
WHERE kv."action" != 3 AND kv."namespace" = ?
|
||||
ORDER BY kv."resource_version" DESC
|
||||
ORDER BY kv."namespace" ASC, kv."name" ASC
|
||||
LIMIT ? OFFSET ?
|
||||
;
|
||||
|
@ -1,5 +1,5 @@
|
||||
SELECT "resource_version", "namespace", "name", "value"
|
||||
FROM "resource"
|
||||
WHERE 1 = 1 AND "namespace" = ?
|
||||
ORDER BY "resource_version" DESC
|
||||
ORDER BY "namespace" ASC, "name" ASC
|
||||
;
|
||||
|
Loading…
Reference in New Issue
Block a user