--- /dev/null
+-- https://redmine.commandprompt.com/issues/35179
+
+SET statement_timeout = 0;
+
+-- hiding by status
+
+UPDATE asset.copy
+ SET (edit_date, opac_visible) = (now(), 'f')
+ WHERE id IN (
+ SELECT asset.copy.id
+ FROM asset.copy
+ WHERE deleted = 'f'
+ AND opac_visible = 't'
+ AND status IN (
+ 105, 121, 2, 106, 11, 101, 14, 13, 117, 104,
+ 115, 10, 3, 4, 120, 109, 118, 111, 103, 114
+ )
+ );
+
+-- hiding by location
+
+UPDATE asset.copy
+ SET (edit_date, opac_visible) = (now(), 'f')
+ WHERE id IN (
+ SELECT asset.copy.id
+ FROM asset.copy
+ INNER JOIN asset.copy_location
+ ON asset.copy.location = asset.copy_location.id
+ INNER JOIN config.i18n_core
+ ON cast(config.i18n_core.identity_value as integer) = asset.copy_location.id
+ WHERE asset.copy.deleted = 'f'
+ AND asset.copy.opac_visible = 't'
+ AND string IN (
+ 'Equipment' , 'Adult Paperbacks' , 'Adult Toys/Games' ,
+ 'Children''s Storytime' , 'Children''s Toys/Games' ,
+ 'Children''s Materials' , 'Children''s Easy Materials' ,
+ 'KidReach' , 'Tech Lab' , 'Storage' , 'Teen Materials' ,
+ 'Generic' , 'Normandy Park' , 'Choice Reads'
+ )
+ );
+
+-- make the items that should be visible again as they become some
+-- kind of "available", but still following our business rules
+
+UPDATE asset.copy
+ SET (edit_date, opac_visible) = (now(), 't')
+ WHERE id IN (
+ SELECT DISTINCT asset.copy.id
+ FROM asset.copy
+ INNER JOIN asset.copy_location
+ ON asset.copy.location = asset.copy_location.id
+ INNER JOIN config.i18n_core
+ ON cast(config.i18n_core.identity_value as integer) = asset.copy_location.id
+ WHERE asset.copy.deleted = 'f'
+ AND asset.copy.opac_visible = 'f'
+ AND asset.copy.status IN ('0', '1', '6', '7', '8')
+ AND asset.copy.call_number <> '-1'
+ AND asset.copy.circ_modifier NOT IN (
+ '40', '41', '45', '46', '52', '1', '20', '23',
+ '24', '27', '33', '44', '56', '58', '66', '7')
+ AND asset.copy_location.opac_visible = 't'
+ AND string NOT IN (
+ 'Equipment' , 'Adult Paperbacks' , 'Adult Toys/Games' ,
+ 'Children''s Storytime' , 'Children''s Toys/Games' ,
+ 'Children''s Materials' , 'Children''s Easy Materials' ,
+ 'KidReach' , 'Tech Lab' , 'Storage' , 'Teen Materials' ,
+ 'Generic' , 'Normandy Park' , 'Choice Reads' )
+ AND floating IS NULL
+ );
+
+