ResourceStore: Fix sql List (#91043)

* fix resource list

* ensure we get the resource version without FOR SHARE
This commit is contained in:
Georges Chaudy 2024-07-26 13:56:24 +02:00 committed by GitHub
parent 8423d06988
commit e4ed000d05
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 5 additions and 0 deletions

View File

@ -541,6 +541,7 @@ func fetchLatestRV(ctx context.Context, x db.ContextExecer, d sqltemplate.Dialec
SQLTemplate: sqltemplate.New(d),
Group: group,
Resource: resource,
ReadOnly: true,
resourceVersion: new(resourceVersion),
})
if errors.Is(err, sql.ErrNoRows) {

View File

@ -4,5 +4,7 @@ SELECT
WHERE 1 = 1
AND {{ .Ident "group" }} = {{ .Arg .Group }}
AND {{ .Ident "resource" }} = {{ .Arg .Resource }}
{{ if not .ReadOnly }}
{{ .SelectFor "UPDATE" }}
{{ end}}
;

View File

@ -189,6 +189,7 @@ func (r *resourceVersion) Results() (*resourceVersion, error) {
type sqlResourceVersionRequest struct {
*sqltemplate.SQLTemplate
Group, Resource string
ReadOnly bool
*resourceVersion
}

View File

@ -268,6 +268,7 @@ func TestQueries(t *testing.T) {
Data: &sqlResourceVersionRequest{
SQLTemplate: new(sqltemplate.SQLTemplate),
resourceVersion: new(resourceVersion),
ReadOnly: false,
},
Expected: expected{
"resource_version_get_mysql.sql": dialects{