Secrets: Fix MariaDB syntax error due to unsupported CTE syntax (#111610) (#113690)

* Secrets: fix MariaDB syntax error due to unsupported CTE syntax (#111610)

* parametrize guid/created columns and re-generate test fixtures

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
This commit is contained in:
Mike
2025-11-12 15:15:43 +01:00
committed by GitHub
co-authored by Matheus Macabu
parent 3e2dccb544
commit 6c512dabdc
4 changed files with 49 additions and 53 deletions
@@ -1,20 +1,19 @@
WITH to_update AS (
SELECT guid FROM (
SELECT
guid,
ROW_NUMBER() OVER (ORDER BY created ASC) AS rn
FROM `secret_secure_value`
WHERE
UPDATE
`secret_secure_value`
SET
`lease_token` = 'token',
`lease_created` = 10
WHERE `guid` IN (
SELECT `guid` FROM (
SELECT
`guid`,
ROW_NUMBER() OVER (ORDER BY `created` ASC) AS rn
FROM `secret_secure_value`
WHERE
`active` = FALSE AND
10 - `created` > 300 AND
10 - `lease_created` > 30
) AS sub
WHERE rn <= 10
)
UPDATE
`secret_secure_value`
SET
`lease_token` = 'token',
`lease_created` = 10
WHERE guid IN (SELECT guid FROM to_update)
;
@@ -1,20 +1,19 @@
WITH to_update AS (
SELECT guid FROM (
SELECT
guid,
ROW_NUMBER() OVER (ORDER BY created ASC) AS rn
FROM "secret_secure_value"
WHERE
UPDATE
"secret_secure_value"
SET
"lease_token" = 'token',
"lease_created" = 10
WHERE "guid" IN (
SELECT "guid" FROM (
SELECT
"guid",
ROW_NUMBER() OVER (ORDER BY "created" ASC) AS rn
FROM "secret_secure_value"
WHERE
"active" = FALSE AND
10 - "created" > 300 AND
10 - "lease_created" > 30
) AS sub
WHERE rn <= 10
)
UPDATE
"secret_secure_value"
SET
"lease_token" = 'token',
"lease_created" = 10
WHERE guid IN (SELECT guid FROM to_update)
;
@@ -1,20 +1,19 @@
WITH to_update AS (
SELECT guid FROM (
SELECT
guid,
ROW_NUMBER() OVER (ORDER BY created ASC) AS rn
FROM "secret_secure_value"
WHERE
UPDATE
"secret_secure_value"
SET
"lease_token" = 'token',
"lease_created" = 10
WHERE "guid" IN (
SELECT "guid" FROM (
SELECT
"guid",
ROW_NUMBER() OVER (ORDER BY "created" ASC) AS rn
FROM "secret_secure_value"
WHERE
"active" = FALSE AND
10 - "created" > 300 AND
10 - "lease_created" > 30
) AS sub
WHERE rn <= 10
)
UPDATE
"secret_secure_value"
SET
"lease_token" = 'token',
"lease_created" = 10
WHERE guid IN (SELECT guid FROM to_update)
;