mirror of
https://github.com/grafana/grafana.git
synced 2025-08-03 01:32:13 +08:00
Unified Storage: Don't read before create (#102906)
* Unified Storage: Don't read before create * test: use the existing test infra * fix: support pq We use pgx, but it seems to be wrapped in a pq driver shim, causing the errors to be remapped to pq's type. Weird situation. * feat: support CDK backend * revert: there is a postgres_tests block * fix(CDK): only check existence on ADDED updates * fix(CDK): use ReadResource to deal with deleted files
This commit is contained in:

committed by
GitHub

parent
827d86a985
commit
f0a6327edc
@ -13,6 +13,7 @@ import (
|
||||
"github.com/google/uuid"
|
||||
unifiedbackend "github.com/grafana/grafana/pkg/storage/unified/backend"
|
||||
"github.com/jackc/pgx/v5/pgconn"
|
||||
"github.com/lib/pq"
|
||||
"github.com/mattn/go-sqlite3"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
@ -397,6 +398,12 @@ func isRowAlreadyExistsError(err error) bool {
|
||||
return pg.Code == "23505" // unique_violation
|
||||
}
|
||||
|
||||
var pqerr *pq.Error
|
||||
if errors.As(err, &pqerr) {
|
||||
// https://www.postgresql.org/docs/current/errcodes-appendix.html
|
||||
return pqerr.Code == "23505" // unique_violation
|
||||
}
|
||||
|
||||
var mysqlerr *mysql.MySQLError
|
||||
if errors.As(err, &mysqlerr) {
|
||||
// https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html
|
||||
|
Reference in New Issue
Block a user