The value column in actor.org_unit_setting should be valid JSON. In this
revised version the new value is jiggered to make it a string instead of a
number. This conversion is a bit simplistic and can be defeated by various
kinds of improbable input.
M Open-ILS/src/sql/Pg/upgrade/0274.data.org-setting-type-est-wait.sql
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16496
dcc99617-32d9-48b4-a31d-
7c20da2025e4
UPDATE actor.org_unit_setting SET
name = 'circ.holds.default_estimated_wait_interval',
UPDATE actor.org_unit_setting SET
name = 'circ.holds.default_estimated_wait_interval',
- value = value || ' days'
+ --
+ -- The value column should be JSON. The old value should be a number,
+ -- but it may or may not be quoted. The following CASE behaves
+ -- differently depending on whether value is quoted. It is simplistic,
+ -- and will be defeated by leading or trailing white space, or various
+ -- malformations.
+ --
+ value = CASE WHEN SUBSTR( value, 1, 1 ) = '"'
+ THEN '"' || SUBSTR( value, 2, LENGTH(value) - 2 ) || ' days"'
+ ELSE '"' || value || ' days"'
+ END
WHERE name = 'circ.hold_estimate_wait_interval';
INSERT INTO config.org_unit_setting_type (
WHERE name = 'circ.hold_estimate_wait_interval';
INSERT INTO config.org_unit_setting_type (