diff --git a/pkg/storage/unified/resource/server.go b/pkg/storage/unified/resource/server.go index 816ef58791b..64b5a20a22e 100644 --- a/pkg/storage/unified/resource/server.go +++ b/pkg/storage/unified/resource/server.go @@ -1,7 +1,7 @@ package resource import ( - context "context" + "context" "encoding/json" "fmt" "log/slog" @@ -71,6 +71,8 @@ type BackendReadResponse struct { Key *ResourceKey Folder string + // GUID that is used internally + GUID string // The new resource version ResourceVersion int64 // The properties diff --git a/pkg/storage/unified/sql/backend.go b/pkg/storage/unified/sql/backend.go index 965d6dc1711..8cbc8b91eea 100644 --- a/pkg/storage/unified/sql/backend.go +++ b/pkg/storage/unified/sql/backend.go @@ -21,6 +21,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "github.com/grafana/grafana-app-sdk/logging" + "github.com/grafana/grafana/pkg/storage/unified/resource" "github.com/grafana/grafana/pkg/storage/unified/sql/db" "github.com/grafana/grafana/pkg/storage/unified/sql/dbutil" @@ -593,9 +594,12 @@ type listIter struct { err error // The row + guid string rv int64 value []byte namespace string + resource string + group string name string folder string } @@ -639,7 +643,7 @@ func (l *listIter) Value() []byte { func (l *listIter) Next() bool { if l.rows.Next() { l.offset++ - l.err = l.rows.Scan(&l.rv, &l.namespace, &l.name, &l.folder, &l.value) + l.err = l.rows.Scan(&l.guid, &l.rv, &l.namespace, &l.resource, &l.group, &l.name, &l.folder, &l.value) return true } return false diff --git a/pkg/storage/unified/sql/backend_test.go b/pkg/storage/unified/sql/backend_test.go index a53b4fad957..2540452a9d2 100644 --- a/pkg/storage/unified/sql/backend_test.go +++ b/pkg/storage/unified/sql/backend_test.go @@ -7,16 +7,17 @@ import ( "fmt" "testing" - sqlmock "github.com/DATA-DOG/go-sqlmock" + "github.com/DATA-DOG/go-sqlmock" "github.com/mattn/go-sqlite3" + "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "github.com/grafana/grafana/pkg/apimachinery/utils" "github.com/grafana/grafana/pkg/storage/unified/resource" "github.com/grafana/grafana/pkg/storage/unified/sql/db/dbimpl" "github.com/grafana/grafana/pkg/storage/unified/sql/test" "github.com/grafana/grafana/pkg/util/testutil" - "github.com/stretchr/testify/require" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) var ( @@ -401,6 +402,7 @@ func TestBackend_delete(t *testing.T) { } type readHistoryRow struct { + guid string namespace string group string resource string @@ -418,6 +420,7 @@ func TestBackend_ReadResource(t *testing.T) { b, ctx := setupBackendTest(t) expectedReadRow := readHistoryRow{ + guid: "guid", namespace: "ns", group: "gr", resource: "rs", @@ -426,11 +429,12 @@ func TestBackend_ReadResource(t *testing.T) { resource_version: "300", value: "rv-300", } - readResource := []string{"namespace", "group", "resource", "name", "folder", "resource_version", "value"} + readResource := []string{"guid", "namespace", "group", "resource", "name", "folder", "resource_version", "value"} b.SQLMock.ExpectBegin() b.SQLMock.ExpectQuery("SELECT .* FROM resource"). WillReturnRows(sqlmock.NewRows(readResource). AddRow( + expectedReadRow.guid, expectedReadRow.namespace, expectedReadRow.group, expectedReadRow.resource, @@ -473,6 +477,7 @@ func TestBackend_ReadResource(t *testing.T) { b, ctx := setupBackendTest(t) expectedReadRow := readHistoryRow{ + guid: "guid", namespace: "ns", group: "gr", resource: "rs", @@ -482,11 +487,12 @@ func TestBackend_ReadResource(t *testing.T) { value: "rv-300", } - readHistoryColumns := []string{"namespace", "group", "resource", "name", "folder", "resource_version", "value"} + readHistoryColumns := []string{"guid", "namespace", "group", "resource", "name", "folder", "resource_version", "value"} b.SQLMock.ExpectBegin() b.SQLMock.ExpectQuery("SELECT .* FROM resource_history"). WillReturnRows(sqlmock.NewRows(readHistoryColumns). AddRow( + expectedReadRow.guid, expectedReadRow.namespace, expectedReadRow.group, expectedReadRow.resource, @@ -534,7 +540,7 @@ func TestBackend_getHistory(t *testing.T) { Name: "nm", } rv1, rv2, rv3 := int64(100), int64(200), int64(300) - cols := []string{"resource_version", "namespace", "name", "folder", "value"} + cols := []string{"guid", "resource_version", "namespace", "group", "resource", "name", "folder", "value"} tests := []struct { name string @@ -657,8 +663,11 @@ func TestBackend_getHistory(t *testing.T) { historyRows := sqlmock.NewRows(cols) for _, rv := range tc.expectedVersions { historyRows.AddRow( + "guid", // guid rv, // resource_version "ns", // namespace + "gr", // group + "rs", // resource "nm", // name "folder", // folder []byte(fmt.Sprintf("rv-%d", rv)), // value @@ -829,12 +838,15 @@ func setupHistoryTest(b testBackend, resourceVersions []int64, latestRV int64, e } // Create the mock rows for the history items - cols := []string{"resource_version", "namespace", "name", "folder", "value"} + cols := []string{"guid", "resource_version", "namespace", "group", "resource", "name", "folder", "value"} historyRows := sqlmock.NewRows(cols) for _, rv := range resourceVersions { historyRows.AddRow( + "guid", // guid rv, // resource_version "ns", // namespace + "gr", // group + "rs", // resource "nm", // name "folder", // folder []byte(fmt.Sprintf("rv-%d", rv)), // value diff --git a/pkg/storage/unified/sql/data/resource_history_get.sql b/pkg/storage/unified/sql/data/resource_history_get.sql index 379cc67967c..8d9e267f741 100644 --- a/pkg/storage/unified/sql/data/resource_history_get.sql +++ b/pkg/storage/unified/sql/data/resource_history_get.sql @@ -1,6 +1,9 @@ SELECT + {{ .Ident "guid" }}, {{ .Ident "resource_version" }}, {{ .Ident "namespace" }}, + {{ .Ident "group" }}, + {{ .Ident "resource" }}, {{ .Ident "name" }}, {{ .Ident "folder" }}, {{ .Ident "value" }} diff --git a/pkg/storage/unified/sql/data/resource_history_list.sql b/pkg/storage/unified/sql/data/resource_history_list.sql index 5d4f91df2ca..9a0bbe1fa78 100644 --- a/pkg/storage/unified/sql/data/resource_history_list.sql +++ b/pkg/storage/unified/sql/data/resource_history_list.sql @@ -1,10 +1,13 @@ SELECT + kv.{{ .Ident "guid" }}, kv.{{ .Ident "resource_version" }}, kv.{{ .Ident "namespace" }}, + kv.{{ .Ident "group" }}, + kv.{{ .Ident "resource" }}, kv.{{ .Ident "name" }}, kv.{{ .Ident "folder" }}, kv.{{ .Ident "value" }} - FROM {{ .Ident "resource_history" }} as kv + FROM {{ .Ident "resource_history" }} as kv INNER JOIN ( SELECT {{ .Ident "namespace" }}, {{ .Ident "group" }}, {{ .Ident "resource" }}, {{ .Ident "name" }}, max({{ .Ident "resource_version" }}) AS {{ .Ident "resource_version" }} FROM {{ .Ident "resource_history" }} AS mkv @@ -24,7 +27,7 @@ SELECT AND {{ .Ident "name" }} = {{ .Arg .Request.Options.Key.Name }} {{ end }} {{ end }} - GROUP BY mkv.{{ .Ident "namespace" }}, mkv.{{ .Ident "group" }}, mkv.{{ .Ident "resource" }}, mkv.{{ .Ident "name" }} + GROUP BY mkv.{{ .Ident "namespace" }}, mkv.{{ .Ident "group" }}, mkv.{{ .Ident "resource" }}, mkv.{{ .Ident "name" }} ) AS maxkv ON maxkv.{{ .Ident "resource_version" }} = kv.{{ .Ident "resource_version" }} @@ -32,7 +35,7 @@ SELECT AND maxkv.{{ .Ident "group" }} = kv.{{ .Ident "group" }} AND maxkv.{{ .Ident "resource" }} = kv.{{ .Ident "resource" }} AND maxkv.{{ .Ident "name" }} = kv.{{ .Ident "name" }} - WHERE kv.{{ .Ident "action" }} != 3 + WHERE kv.{{ .Ident "action" }} != 3 {{ if and .Request.Options .Request.Options.Key }} {{ if .Request.Options.Key.Namespace }} AND kv.{{ .Ident "namespace" }} = {{ .Arg .Request.Options.Key.Namespace }} diff --git a/pkg/storage/unified/sql/data/resource_history_poll.sql b/pkg/storage/unified/sql/data/resource_history_poll.sql index 235690d9975..531ebdad7e5 100644 --- a/pkg/storage/unified/sql/data/resource_history_poll.sql +++ b/pkg/storage/unified/sql/data/resource_history_poll.sql @@ -1,4 +1,5 @@ SELECT + {{ .Ident "guid" | .Into .Response.GUID }}, {{ .Ident "resource_version" | .Into .Response.ResourceVersion }}, {{ .Ident "namespace" | .Into .Response.Key.Namespace }}, {{ .Ident "group" | .Into .Response.Key.Group }}, diff --git a/pkg/storage/unified/sql/data/resource_history_read.sql b/pkg/storage/unified/sql/data/resource_history_read.sql index 3eb350e275d..e9bf729da98 100644 --- a/pkg/storage/unified/sql/data/resource_history_read.sql +++ b/pkg/storage/unified/sql/data/resource_history_read.sql @@ -1,4 +1,5 @@ SELECT + {{ .Ident "guid" | .Into .Response.GUID }}, {{ .Ident "namespace" | .Into .Response.Key.Namespace }}, {{ .Ident "group" | .Into .Response.Key.Group }}, {{ .Ident "resource" | .Into .Response.Key.Resource }}, diff --git a/pkg/storage/unified/sql/data/resource_list.sql b/pkg/storage/unified/sql/data/resource_list.sql index 80fdcc41273..2041618a370 100644 --- a/pkg/storage/unified/sql/data/resource_list.sql +++ b/pkg/storage/unified/sql/data/resource_list.sql @@ -1,6 +1,9 @@ SELECT + {{ .Ident "guid" }}, {{ .Ident "resource_version" }}, {{ .Ident "namespace" }}, + {{ .Ident "group" }}, + {{ .Ident "resource" }}, {{ .Ident "name" }}, {{ .Ident "folder" }}, {{ .Ident "value" }} diff --git a/pkg/storage/unified/sql/data/resource_read.sql b/pkg/storage/unified/sql/data/resource_read.sql index d83f400b90b..1149cc5c255 100644 --- a/pkg/storage/unified/sql/data/resource_read.sql +++ b/pkg/storage/unified/sql/data/resource_read.sql @@ -1,4 +1,5 @@ SELECT + {{ .Ident "guid" | .Into .Response.GUID }}, {{ .Ident "namespace" | .Into .Response.Key.Namespace }}, {{ .Ident "group" | .Into .Response.Key.Group }}, {{ .Ident "resource" | .Into .Response.Key.Resource }}, diff --git a/pkg/storage/unified/sql/queries.go b/pkg/storage/unified/sql/queries.go index d3592225199..e754881b0c6 100644 --- a/pkg/storage/unified/sql/queries.go +++ b/pkg/storage/unified/sql/queries.go @@ -116,6 +116,7 @@ func (r sqlStatsRequest) Validate() error { type historyPollResponse struct { Key resource.ResourceKey + GUID string ResourceVersion int64 PreviousRV *int64 Value []byte diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read object history.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read object history.sql index 5a5a68c0a8d..4cde1c5f536 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read object history.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read object history.sql @@ -1,6 +1,9 @@ SELECT + `guid`, `resource_version`, `namespace`, + `group`, + `resource`, `name`, `folder`, `value` diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash second page.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash second page.sql index cd026c1dfef..ea01c4d12c6 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash second page.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash second page.sql @@ -1,6 +1,9 @@ SELECT + `guid`, `resource_version`, `namespace`, + `group`, + `resource`, `name`, `folder`, `value` diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash.sql index 4013d06d64f..2992bb8e34c 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_get-read trash.sql @@ -1,6 +1,9 @@ SELECT + `guid`, `resource_version`, `namespace`, + `group`, + `resource`, `name`, `folder`, `value` diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_list-single path.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_list-single path.sql index f57ad91ff02..0599ac2e10f 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_list-single path.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_list-single path.sql @@ -1,17 +1,20 @@ SELECT + kv.`guid`, kv.`resource_version`, kv.`namespace`, + kv.`group`, + kv.`resource`, kv.`name`, kv.`folder`, kv.`value` - FROM `resource_history` as kv + FROM `resource_history` as kv INNER JOIN ( SELECT `namespace`, `group`, `resource`, `name`, max(`resource_version`) AS `resource_version` FROM `resource_history` AS mkv WHERE 1 = 1 AND `resource_version` <= 0 AND `namespace` = 'ns' - GROUP BY mkv.`namespace`, mkv.`group`, mkv.`resource`, mkv.`name` + GROUP BY mkv.`namespace`, mkv.`group`, mkv.`resource`, mkv.`name` ) AS maxkv ON maxkv.`resource_version` = kv.`resource_version` @@ -19,7 +22,7 @@ SELECT AND maxkv.`group` = kv.`group` AND maxkv.`resource` = kv.`resource` AND maxkv.`name` = kv.`name` - WHERE kv.`action` != 3 + WHERE kv.`action` != 3 AND kv.`namespace` = 'ns' ORDER BY kv.`namespace` ASC, kv.`name` ASC LIMIT 10 OFFSET 0 diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_poll-single path.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_poll-single path.sql index 12e16ee980a..d7a9bc875c4 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_poll-single path.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_poll-single path.sql @@ -1,4 +1,5 @@ SELECT + `guid`, `resource_version`, `namespace`, `group`, diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_history_read-single path.sql b/pkg/storage/unified/sql/testdata/mysql--resource_history_read-single path.sql index 2fef4f54bd8..5c6c991ed67 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_history_read-single path.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_history_read-single path.sql @@ -1,4 +1,5 @@ SELECT + `guid`, `namespace`, `group`, `resource`, diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_list-filter_on_namespace.sql b/pkg/storage/unified/sql/testdata/mysql--resource_list-filter_on_namespace.sql index a289cf2a2ec..d72fc1ddd1e 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_list-filter_on_namespace.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_list-filter_on_namespace.sql @@ -1,6 +1,9 @@ SELECT + `guid`, `resource_version`, `namespace`, + `group`, + `resource`, `name`, `folder`, `value` diff --git a/pkg/storage/unified/sql/testdata/mysql--resource_read-without_resource_version.sql b/pkg/storage/unified/sql/testdata/mysql--resource_read-without_resource_version.sql index 6d7b2f412b5..55c2b412c90 100755 --- a/pkg/storage/unified/sql/testdata/mysql--resource_read-without_resource_version.sql +++ b/pkg/storage/unified/sql/testdata/mysql--resource_read-without_resource_version.sql @@ -1,4 +1,5 @@ SELECT + `guid`, `namespace`, `group`, `resource`, diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read object history.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read object history.sql index 5262fa55ec1..b0b6a310419 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read object history.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read object history.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash second page.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash second page.sql index b5df5de6315..17efa0f5758 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash second page.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash second page.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash.sql index 68d13bcf11a..7e4c76ecd74 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_get-read trash.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_list-single path.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_list-single path.sql index e576a9b778c..400b2a502cf 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_list-single path.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_list-single path.sql @@ -1,17 +1,20 @@ SELECT + kv."guid", kv."resource_version", kv."namespace", + kv."group", + kv."resource", kv."name", kv."folder", kv."value" - FROM "resource_history" as kv + FROM "resource_history" as kv INNER JOIN ( SELECT "namespace", "group", "resource", "name", max("resource_version") AS "resource_version" FROM "resource_history" AS mkv WHERE 1 = 1 AND "resource_version" <= 0 AND "namespace" = 'ns' - GROUP BY mkv."namespace", mkv."group", mkv."resource", mkv."name" + GROUP BY mkv."namespace", mkv."group", mkv."resource", mkv."name" ) AS maxkv ON maxkv."resource_version" = kv."resource_version" @@ -19,7 +22,7 @@ SELECT AND maxkv."group" = kv."group" AND maxkv."resource" = kv."resource" AND maxkv."name" = kv."name" - WHERE kv."action" != 3 + WHERE kv."action" != 3 AND kv."namespace" = 'ns' ORDER BY kv."namespace" ASC, kv."name" ASC LIMIT 10 OFFSET 0 diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_poll-single path.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_poll-single path.sql index 90b5830eee1..70e3d168eae 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_poll-single path.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_poll-single path.sql @@ -1,4 +1,5 @@ SELECT + "guid", "resource_version", "namespace", "group", diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_history_read-single path.sql b/pkg/storage/unified/sql/testdata/postgres--resource_history_read-single path.sql index a37f00ac13b..9a423e43026 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_history_read-single path.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_history_read-single path.sql @@ -1,4 +1,5 @@ SELECT + "guid", "namespace", "group", "resource", diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_list-filter_on_namespace.sql b/pkg/storage/unified/sql/testdata/postgres--resource_list-filter_on_namespace.sql index 3a32ec49aa7..41131a1520f 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_list-filter_on_namespace.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_list-filter_on_namespace.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/postgres--resource_read-without_resource_version.sql b/pkg/storage/unified/sql/testdata/postgres--resource_read-without_resource_version.sql index f103015dac9..df7541ac504 100755 --- a/pkg/storage/unified/sql/testdata/postgres--resource_read-without_resource_version.sql +++ b/pkg/storage/unified/sql/testdata/postgres--resource_read-without_resource_version.sql @@ -1,4 +1,5 @@ SELECT + "guid", "namespace", "group", "resource", diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read object history.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read object history.sql index 5262fa55ec1..b0b6a310419 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read object history.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read object history.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash second page.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash second page.sql index b5df5de6315..17efa0f5758 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash second page.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash second page.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash.sql index 68d13bcf11a..7e4c76ecd74 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_get-read trash.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_list-single path.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_list-single path.sql index e576a9b778c..400b2a502cf 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_list-single path.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_list-single path.sql @@ -1,17 +1,20 @@ SELECT + kv."guid", kv."resource_version", kv."namespace", + kv."group", + kv."resource", kv."name", kv."folder", kv."value" - FROM "resource_history" as kv + FROM "resource_history" as kv INNER JOIN ( SELECT "namespace", "group", "resource", "name", max("resource_version") AS "resource_version" FROM "resource_history" AS mkv WHERE 1 = 1 AND "resource_version" <= 0 AND "namespace" = 'ns' - GROUP BY mkv."namespace", mkv."group", mkv."resource", mkv."name" + GROUP BY mkv."namespace", mkv."group", mkv."resource", mkv."name" ) AS maxkv ON maxkv."resource_version" = kv."resource_version" @@ -19,7 +22,7 @@ SELECT AND maxkv."group" = kv."group" AND maxkv."resource" = kv."resource" AND maxkv."name" = kv."name" - WHERE kv."action" != 3 + WHERE kv."action" != 3 AND kv."namespace" = 'ns' ORDER BY kv."namespace" ASC, kv."name" ASC LIMIT 10 OFFSET 0 diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_poll-single path.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_poll-single path.sql index 90b5830eee1..70e3d168eae 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_poll-single path.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_poll-single path.sql @@ -1,4 +1,5 @@ SELECT + "guid", "resource_version", "namespace", "group", diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_history_read-single path.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_history_read-single path.sql index a37f00ac13b..9a423e43026 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_history_read-single path.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_history_read-single path.sql @@ -1,4 +1,5 @@ SELECT + "guid", "namespace", "group", "resource", diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_list-filter_on_namespace.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_list-filter_on_namespace.sql index 3a32ec49aa7..41131a1520f 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_list-filter_on_namespace.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_list-filter_on_namespace.sql @@ -1,6 +1,9 @@ SELECT + "guid", "resource_version", "namespace", + "group", + "resource", "name", "folder", "value" diff --git a/pkg/storage/unified/sql/testdata/sqlite--resource_read-without_resource_version.sql b/pkg/storage/unified/sql/testdata/sqlite--resource_read-without_resource_version.sql index f103015dac9..df7541ac504 100755 --- a/pkg/storage/unified/sql/testdata/sqlite--resource_read-without_resource_version.sql +++ b/pkg/storage/unified/sql/testdata/sqlite--resource_read-without_resource_version.sql @@ -1,4 +1,5 @@ SELECT + "guid", "namespace", "group", "resource",