From 32b8e8f3ea760c28070537911d6681ba1e6ae139 Mon Sep 17 00:00:00 2001 From: Simon Esposito Date: Thu, 3 Aug 2023 17:37:19 +0100 Subject: [PATCH] Upgrade docker compose crdb to v23.1 --- docker-compose.yml | 2 +- server/core_storage.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 687f870c01..89c45fdf32 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: cockroachdb: - image: cockroachdb/cockroach:latest-v20.2 + image: cockroachdb/cockroach:latest-v23.1 command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/ restart: "no" volumes: diff --git a/server/core_storage.go b/server/core_storage.go index 48b2069ad6..945dfe6a7e 100644 --- a/server/core_storage.go +++ b/server/core_storage.go @@ -635,7 +635,7 @@ func storagePrepBatch(batch *pgx.Batch, authoritativeWrite bool, op *StorageOpWr query = ` WITH upd AS ( UPDATE storage SET value = $4, version = $5, read = $6, write = $7, update_time = now() - WHERE collection = $1 AND key = $2 AND user_id = $3::UUID AND version = $8 + WHERE collection = $1 AND key = $2 AND user_id = $3 AND version = $8 ` + writeCheck + ` AND NOT (storage.version = $5 AND storage.read = $6 AND storage.write = $7) -- micro optimization: don't update row unnecessary RETURNING read, write, version @@ -662,7 +662,7 @@ func storagePrepBatch(batch *pgx.Batch, authoritativeWrite bool, op *StorageOpWr query = ` WITH upd AS ( INSERT INTO storage (collection, key, user_id, value, version, read, write, create_time, update_time) - VALUES ($1, $2, $3::UUID, $4, $5, $6, $7, now(), now()) + VALUES ($1, $2, $3, $4, $5, $6, $7, now(), now()) ON CONFLICT (collection, key, user_id) DO UPDATE SET value = $4, version = $5, read = $6, write = $7, update_time = now() WHERE TRUE` + writeCheck + ` @@ -683,7 +683,7 @@ func storagePrepBatch(batch *pgx.Batch, authoritativeWrite bool, op *StorageOpWr // Existing permission checks are not applicable for new storage objects. query = ` INSERT INTO storage (collection, key, user_id, value, version, read, write, create_time, update_time) - VALUES ($1, $2, $3::UUID, $4, $5, $6, $7, now(), now()) + VALUES ($1, $2, $3, $4, $5, $6, $7, now(), now()) RETURNING read, write, version` // Outcomes: