[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 {{ .Ident "secret_secure_value" }}
WHERE
UPDATE
{{ .Ident "secret_secure_value" }}
SET
{{ .Ident "lease_token" }} = {{ .Arg .LeaseToken }},
{{ .Ident "lease_created" }} = {{ .Arg .Now }}
WHERE {{ .Ident "guid" }} IN (
SELECT {{ .Ident "guid" }} FROM (
SELECT
{{ .Ident "guid" }},
ROW_NUMBER() OVER (ORDER BY {{ .Ident "created" }} ASC) AS rn
FROM {{ .Ident "secret_secure_value" }}
WHERE
{{ .Ident "active" }} = FALSE AND
{{ .Arg .Now }} - {{ .Ident "created" }} > {{ .Arg .MinAge }} AND
{{ .Arg .Now }} - {{ .Ident "lease_created" }} > {{ .Arg .LeaseTTL }}
) AS sub
WHERE rn <= {{ .Arg .MaxBatchSize }}
)
UPDATE
{{ .Ident "secret_secure_value" }}
SET
{{ .Ident "lease_token" }} = {{ .Arg .LeaseToken }},
{{ .Ident "lease_created" }} = {{ .Arg .Now }}
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)
;
@@ -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)
;