[release-12.3.1] Secrets: Fix MariaDB syntax error due to unsupported CTE syntax (#113769)

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

---------


(cherry picked from commit 6c512dabdc)

Co-authored-by: Mike <mmelvin0@gmail.com>
This commit is contained in:
Matheus Macabu
2025-11-12 17:56:02 +01:00
committed by GitHub
co-authored by Mike
parent 767edc47dc
commit dbf1794c37
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)
;