3 -- These are copy level holds
4 -- CREATE TABLE legacy_copy_hold_insert AS
5 create table copy_hold_fix as
6 SELECT lh.hold_key AS id,
9 'C'::TEXT AS hold_type,
11 pou.id AS selection_ou,
12 CASE WHEN lh.hold_range = 'SYSTEM' THEN 0
13 WHEN lh.hold_range = 'GROUP' THEN 1
15 END AS selection_depth,
16 lh.hold_date AS request_time,
17 CASE WHEN lh.available IN ('Y','I') THEN '2006-09-01'::timestamptz
20 rou.id AS request_lib,
25 ON ( jl.cat_key = lh.cat_key
26 AND jl.call_key = lh.call_key
27 AND jl.item_key = lh.item_key )
28 JOIN asset.copy cp ON (cp.barcode = jl.item_id)
29 JOIN actor.usr au ON (au.id = lh.user_key)
30 JOIN actor.org_unit rou ON (rou.shortname = lh.placing_lib)
31 JOIN actor.org_unit pou ON (pou.shortname = lh.pickup_lib)
32 WHERE lh.hold_level = 'C'
33 AND lh.hold_date > '2006-01-01';
36 -- And these are CN level holds
37 -- CREATE TABLE legacy_cn_hold_insert AS
38 create table cn_hold_fix as
39 SELECT lh.hold_key AS id,
40 cp.call_number AS target,
41 cp.id AS current_copy,
42 'V'::TEXT AS hold_type,
44 pou.id AS selection_ou,
45 CASE WHEN lh.hold_range = 'SYSTEM' THEN 0
46 WHEN lh.hold_range = 'GROUP' THEN 1
48 END AS selection_depth,
49 lh.hold_date AS request_time,
50 CASE WHEN lh.available IN ('Y','I') THEN '2006-09-01'::timestamptz
53 rou.id AS request_lib,
58 ON ( jl.cat_key = lh.cat_key
59 AND jl.call_key = lh.call_key
60 AND jl.item_key = lh.item_key )
61 JOIN asset.copy cp ON (cp.barcode = jl.item_id)
62 JOIN actor.usr au ON (au.id = lh.user_key)
63 JOIN actor.org_unit rou ON (rou.shortname = lh.placing_lib)
64 JOIN actor.org_unit pou ON (pou.shortname = lh.pickup_lib)
65 WHERE lh.hold_level = 'A'
66 AND lh.hold_date > '2006-01-01';
68 -- And these are Title level holds
69 -- CREATE TABLE legacy_title_hold_insert AS
70 create table title_hold_fix as
71 SELECT lh.hold_key AS id,
73 cp.id AS current_copy,
74 'T'::TEXT AS hold_type,
76 pou.id AS selection_ou,
77 CASE WHEN lh.hold_range = 'SYSTEM' THEN 0
78 WHEN lh.hold_range = 'GROUP' THEN 1
80 END AS selection_depth,
81 lh.hold_date AS request_time,
82 CASE WHEN lh.available IN ('Y','I') THEN '2006-09-01'::timestamptz
85 rou.id AS request_lib,
90 ON ( jl.cat_key = lh.cat_key
91 AND jl.call_key = lh.call_key
92 AND jl.item_key = lh.item_key )
93 JOIN asset.copy cp ON (cp.barcode = jl.item_id)
94 JOIN actor.usr au ON (au.id = lh.user_key)
95 JOIN actor.org_unit rou ON (rou.shortname = lh.placing_lib)
96 JOIN actor.org_unit pou ON (pou.shortname = lh.pickup_lib)
97 WHERE lh.hold_level = 'T'
98 AND lh.hold_date > '2006-01-01';
100 SELECT SETVAL('action.hold_request_id_seq',(SELECT MAX(id) FROM action.hold_request),TRUE);