Bug 38330: (QA follow-up) Improve resilience of DB update
David considered using boolean, but this would catch 'no' and 0 as truthy. I instead look for common values here more explicitly. Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
354dbc9649
commit
393c9fc2c8
|
|
@ -18,15 +18,15 @@ return {
|
|||
|
||||
$dbh->do(
|
||||
q{
|
||||
UPDATE biblio b
|
||||
JOIN biblio_metadata m ON b.biblionumber = m.biblionumber
|
||||
SET b.opac_suppressed =
|
||||
CASE
|
||||
WHEN ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]') REGEXP '^[01]$' THEN
|
||||
ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]')
|
||||
ELSE 0
|
||||
END
|
||||
WHERE m.metadata LIKE '%<datafield tag="942">%';
|
||||
UPDATE biblio b
|
||||
JOIN biblio_metadata m ON b.biblionumber = m.biblionumber
|
||||
SET b.opac_suppressed =
|
||||
CASE
|
||||
WHEN LOWER(TRIM(ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]'))) IN ('1', 'yes', 'true') THEN 1
|
||||
WHEN LOWER(TRIM(ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]'))) IN ('0', 'no', 'false', '') THEN 0
|
||||
ELSE 0
|
||||
END
|
||||
WHERE m.metadata LIKE '%<datafield tag="942">%';
|
||||
}
|
||||
);
|
||||
|
||||
|
|
@ -47,8 +47,8 @@ return {
|
|||
JOIN deletedbiblio_metadata m ON b.biblionumber = m.biblionumber
|
||||
SET b.opac_suppressed =
|
||||
CASE
|
||||
WHEN ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]') REGEXP '^[01]$' THEN
|
||||
ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]')
|
||||
WHEN LOWER(TRIM(ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]'))) IN ('1', 'yes', 'true') THEN 1
|
||||
WHEN LOWER(TRIM(ExtractValue(m.metadata, '//datafield[@tag="942"]/subfield[@code="n"]'))) IN ('0', 'no', 'false', '') THEN 0
|
||||
ELSE 0
|
||||
END
|
||||
WHERE m.metadata LIKE '%<datafield tag="942">%';
|
||||
|
|
|
|||
Loading…
Reference in New Issue