Unified Storage: Add ListSinceModified to StorageBackend (#109697)

* WIP added ListSinceModified to StorageBackend interface

* fix compile time check

* Fix method name

* Fix naming

* fix the rest of the ListSinceModified names

* Uses resource key without name field

* get latest rv from resource_version. Update test.

* adds moar tests

* adds method stub for ListModifiedSince to other StorageBackend implementations

* adds dummy impl to noop storage backend for ListModifiedSince

* skip tests for badger kv backend for now

* fixes tests and adds badgerkv impl for ListModifiedSince

* add badger kv impl

* adds test for new query

* adds test data for new query

* adds ListModifiedSince stub to mockStorageBackend

* uncomment tests

* refactors ListModifiedSince to return an iter.seq2 and handles deduplication. Updates tests. Updates query result sorting.

* remove comments

* remove folder from query (dont need it, yet?)

* regen test queries

* updates test

* updates function comment

* use resourcepb.ResourceKey instead of ModifiedResourceKey

* wrap seq in single transaction. Rollback transaction after 30s if iterator never used. Only track last seen event. Formatting.

* skip TestListModifiedSince for kv backend

* use WatchEvent_Type for action type

* remove redundant fields from order by clause and regen test data for query

* remove redundant fields from order by clause and regen test data for query
This commit is contained in:
owensmallwood
2025-08-20 11:54:31 -06:00
committed by GitHub
parent 49739618fa
commit cace999671
15 changed files with 329 additions and 19 deletions
@@ -0,0 +1,14 @@
SELECT
`namespace`,
`group`,
`resource`,
`name`,
`resource_version`,
`action`,
`value`
FROM resource_history
WHERE `namespace` = 'ns'
AND `group` = 'group'
AND `resource` = 'res'
AND `resource_version` > 10000 -- needs to be exclusive of the sinceRv
ORDER BY `name` ASC, `resource_version` DESC
@@ -0,0 +1,14 @@
SELECT
"namespace",
"group",
"resource",
"name",
"resource_version",
"action",
"value"
FROM resource_history
WHERE "namespace" = 'ns'
AND "group" = 'group'
AND "resource" = 'res'
AND "resource_version" > 10000 -- needs to be exclusive of the sinceRv
ORDER BY "name" ASC, "resource_version" DESC
@@ -0,0 +1,14 @@
SELECT
"namespace",
"group",
"resource",
"name",
"resource_version",
"action",
"value"
FROM resource_history
WHERE "namespace" = 'ns'
AND "group" = 'group'
AND "resource" = 'res'
AND "resource_version" > 10000 -- needs to be exclusive of the sinceRv
ORDER BY "name" ASC, "resource_version" DESC