Storage: always use transactions and make them readonly when possible (#92110)

* always use transactions and make them readonly when possible

* fix linters

* fix reference
This commit is contained in:
Diego Augusto Molina
2024-08-20 09:29:06 -03:00
committed by GitHub
parent 704b07b3f0
commit e788df921c
2 changed files with 85 additions and 63 deletions
+33 -3
View File
@@ -79,6 +79,7 @@ func (r *historyPollResponse) Results() (*historyPollResponse, error) {
}
type groupResourceRV map[string]map[string]int64
type sqlResourceHistoryPollRequest struct {
sqltemplate.SQLTemplate
Resource string
@@ -87,10 +88,24 @@ type sqlResourceHistoryPollRequest struct {
Response *historyPollResponse
}
func (r sqlResourceHistoryPollRequest) Validate() error {
func (r *sqlResourceHistoryPollRequest) Validate() error {
return nil // TODO
}
func (r *sqlResourceHistoryPollRequest) Results() (*historyPollResponse, error) {
return &historyPollResponse{
Key: resource.ResourceKey{
Namespace: r.Response.Key.Namespace,
Group: r.Response.Key.Group,
Resource: r.Response.Key.Resource,
Name: r.Response.Key.Name,
},
ResourceVersion: r.Response.ResourceVersion,
Value: r.Response.Value,
Action: r.Response.Action,
}, nil
}
// sqlResourceReadRequest can be used to retrieve a row fromthe "resource" tables.
type readResponse struct {
@@ -107,10 +122,20 @@ type sqlResourceReadRequest struct {
*readResponse
}
func (r sqlResourceReadRequest) Validate() error {
func (r *sqlResourceReadRequest) Validate() error {
return nil // TODO
}
func (r *sqlResourceReadRequest) Results() (*readResponse, error) {
return &readResponse{
ReadResponse: resource.ReadResponse{
Error: r.ReadResponse.Error,
ResourceVersion: r.ReadResponse.ResourceVersion,
Value: r.ReadResponse.Value,
},
}, nil
}
// List
type sqlResourceListRequest struct {
sqltemplate.SQLTemplate
@@ -189,6 +214,11 @@ type sqlResourceVersionListRequest struct {
*groupResourceVersion
}
func (r sqlResourceVersionListRequest) Validate() error {
func (r *sqlResourceVersionListRequest) Validate() error {
return nil // TODO
}
func (r *sqlResourceVersionListRequest) Results() (*groupResourceVersion, error) {
x := *r.groupResourceVersion
return &x, nil
}