diff --git a/backend/v3/storage/database/dialect/postgres/error.go b/backend/v3/storage/database/dialect/postgres/error.go index a16d885fa1..3edbf0692c 100644 --- a/backend/v3/storage/database/dialect/postgres/error.go +++ b/backend/v3/storage/database/dialect/postgres/error.go @@ -20,13 +20,17 @@ func wrapError(err error) error { return database.NewUnknownError(err) } switch pgxErr.Code { - case "23514": // check_violation + // 23514: check_violation - A value violates a CHECK constraint. + case "23514": return database.NewCheckError(pgxErr.TableName, pgxErr.ConstraintName, pgxErr) - case "23505": // unique_violation + // 23505: unique_violation - A value violates a UNIQUE constraint. + case "23505": return database.NewUniqueError(pgxErr.TableName, pgxErr.ConstraintName, pgxErr) - case "23503": // foreign_key_violation + // 23503: foreign_key_violation - A value violates a foreign key constraint. + case "23503": return database.NewForeignKeyError(pgxErr.TableName, pgxErr.ConstraintName, pgxErr) - case "23502": // not_null_violation + // 23502: not_null_violation - A value violates a NOT NULL constraint. + case "23502": return database.NewNotNullError(pgxErr.TableName, pgxErr.ConstraintName, pgxErr) } return database.NewUnknownError(err)