install_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
+INSERT INTO config.upgrade_log (version) VALUES ('0003');
+
CREATE TABLE config.bib_source (
id SERIAL PRIMARY KEY,
quality INT CHECK ( quality BETWEEN 0 AND 100 ),
circ_lib INT NOT NULL,
fail_time TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
+CREATE INDEX uhr_hold_idx ON action.unfulfilled_hold_list (hold);
+
+CREATE OR REPLACE VIEW action.unfulfilled_hold_loops AS
+ SELECT u.hold,
+ c.circ_lib,
+ count(*)
+ FROM action.unfulfilled_hold_list u
+ JOIN asset.copy c ON (c.id = u.current_copy)
+ GROUP BY 1,2;
+
+CREATE OR REPLACE VIEW action.unfulfilled_hold_min_loop AS
+ SELECT hold,
+ min(count)
+ FROM action.unfulfilled_hold_loops
+ GROUP BY 1;
+
+CREATE OR REPLACE VIEW action.unfulfilled_hold_innermost_loop AS
+ SELECT DISTINCT l.*
+ FROM action.unfulfilled_hold_loops l
+ JOIN action.unfulfilled_hold_min_loop m USING (hold)
+ WHERE l.count = m.min;
+
COMMIT;
SELECT SETVAL('action_trigger.event_definition_id_seq'::TEXT, 100);
+-- Org Unit Settings for configuring org unit weights and org unit max-loops for hold targeting
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.org_unit_target_weight',
+ 'Holds: Org Unit Target Weight',
+ 'Org Units can be organized into hold target groups based on a weight. Potential copies from org units with the same weight are chosen at random.',
+ 'integer'
+);
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.target_holds_by_org_unit_weight',
+ 'Holds: Use weight-based hold targeting',
+ 'Use library weight based hold targeting',
+ 'bool'
+);
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.max_org_unit_target_loops',
+ 'Holds: Maximum library target attempts',
+ 'When this value is set and greater than 0, the system will only attempt to find a copy at each possible branch the configured number of times',
+ 'integer'
+);
+
--- /dev/null
+BEGIN;
+
+-- Org Unit Settings for configuring org unit weights and org unit max-loops for hold targeting
+
+INSERT INTO config.upgrade_log (version) VALUES ('0001.data.config.org_unit_setting_type.sql');
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.org_unit_target_weight',
+ 'Holds: Org Unit Target Weight',
+ 'Org Units can be organized into hold target groups based on a weight. Potential copies from org units with the same weight are chosen at random.',
+ 'integer'
+);
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.target_holds_by_org_unit_weight',
+ 'Holds: Use weight-based hold targeting',
+ 'Use library weight based hold targeting',
+ 'bool'
+);
+
+INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
+ 'circ.holds.max_org_unit_target_loops',
+ 'Holds: Maximum library target attempts',
+ 'When this value is set and greater than 0, the system will only attempt to find a copy at each possible branch the configured number of times',
+ 'integer'
+);
+
+COMMIT;
+
+++ /dev/null
-BEGIN;
-
--- Org Unit Settings for configuring org unit weights and org unit max-loops for hold targeting
-
-INSERT INTO config.upgrade_log (version) VALUES ('0001.data.config.org_unit_setting_type.sql');
-
-INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
- 'circ.holds.org_unit_target_weight',
- 'Holds: Org Unit Target Weight',
- 'Org Units can be organized into hold target groups based on a weight. Potential copies from org units with the same weight are chosen at random.',
- 'integer'
-);
-
-INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
- 'circ.holds.target_holds_by_org_unit_weight',
- 'Holds: Use weight-based hold targeting',
- 'Use library weight based hold targeting',
- 'bool'
-);
-
-INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES (
- 'circ.holds.max_org_unit_target_loops',
- 'Holds: Maximum library target attempts',
- 'When this value is set and greater than 0, the system will only attempt to find a copy at each possible branch the configured number of times',
- 'integer'
-);
-
-COMMIT;
-