mirror of
https://github.com/mozilla-services/syncstorage-rs.git
synced 2025-08-06 03:46:57 +02:00
51 lines
1.5 KiB
SQL
51 lines
1.5 KiB
SQL
UPDATE bsos
|
|
SET sortindex = COALESCE(
|
|
(SELECT sortindex
|
|
FROM batch_bsos
|
|
WHERE fxa_uid = @fxa_uid
|
|
AND fxa_kid = @fxa_kid
|
|
AND collection_id = @collection_id
|
|
AND batch_id = @batch_id
|
|
AND batch_bso_id = bsos.bso_id
|
|
),
|
|
bsos.sortindex
|
|
),
|
|
|
|
payload = COALESCE(
|
|
(SELECT payload
|
|
FROM batch_bsos
|
|
WHERE fxa_uid = @fxa_uid
|
|
AND fxa_kid = @fxa_kid
|
|
AND collection_id = @collection_id
|
|
AND batch_id = @batch_id
|
|
AND batch_bso_id = bsos.bso_id
|
|
),
|
|
bsos.payload
|
|
),
|
|
|
|
modified = @timestamp,
|
|
|
|
expiry = COALESCE(
|
|
-- TIMESTAMP_ADD returns NULL when ttl is null
|
|
(SELECT TIMESTAMP_ADD(@timestamp, INTERVAL ttl SECOND)
|
|
FROM batch_bsos
|
|
WHERE fxa_uid = @fxa_uid
|
|
AND fxa_kid = @fxa_kid
|
|
AND collection_id = @collection_id
|
|
AND batch_id = @batch_id
|
|
AND batch_bso_id = bsos.bso_id
|
|
),
|
|
bsos.expiry
|
|
)
|
|
WHERE fxa_uid = @fxa_uid
|
|
AND fxa_kid = @fxa_kid
|
|
AND collection_id = @collection_id
|
|
AND bso_id in (
|
|
SELECT batch_bso_id
|
|
FROM batch_bsos
|
|
WHERE fxa_uid = @fxa_uid
|
|
AND fxa_kid = @fxa_kid
|
|
AND collection_id = @collection_id
|
|
AND batch_id = @batch_id
|
|
)
|