mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-13 00:58:06 +02:00
postgres: fix record deletion (#3446)
This commit is contained in:
parent
270f8b4f2c
commit
1727d178ef
2 changed files with 22 additions and 2 deletions
|
@ -256,6 +256,9 @@ func putRecordAndChange(ctx context.Context, q querier, record *databroker.Recor
|
|||
RETURNING *
|
||||
)
|
||||
`
|
||||
args := []any{
|
||||
record.GetType(), record.GetId(), data, modifiedAt, deletedAt,
|
||||
}
|
||||
if record.GetDeletedAt() == nil {
|
||||
query += `
|
||||
INSERT INTO ` + schemaName + `.` + recordsTableName + ` (type, id, version, data, modified_at, index_cidr)
|
||||
|
@ -264,6 +267,7 @@ func putRecordAndChange(ctx context.Context, q querier, record *databroker.Recor
|
|||
SET version=(SELECT version FROM t1), data=$3, modified_at=$4, index_cidr=$6
|
||||
RETURNING ` + schemaName + `.` + recordsTableName + `.version
|
||||
`
|
||||
args = append(args, indexCIDR)
|
||||
} else {
|
||||
query += `
|
||||
DELETE FROM ` + schemaName + `.` + recordsTableName + `
|
||||
|
@ -271,8 +275,8 @@ func putRecordAndChange(ctx context.Context, q querier, record *databroker.Recor
|
|||
RETURNING ` + schemaName + `.` + recordsTableName + `.version
|
||||
`
|
||||
}
|
||||
err = q.QueryRow(ctx, query, record.GetType(), record.GetId(), data, modifiedAt, deletedAt, indexCIDR).Scan(&record.Version)
|
||||
if err != nil {
|
||||
err = q.QueryRow(ctx, query, args...).Scan(&record.Version)
|
||||
if err != nil && !isNotFound(err) {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue