Advertisement
cmptrwz

ACP Container Tests

Feb 25th, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- record_list(1,2,3)
  2. WITH
  3.      search_org_list AS (
  4.        SELECT DISTINCT id FROM actor.org_unit_descendants(1)
  5.      ),
  6.      luri_org_list AS (
  7.        SELECT DISTINCT id FROM actor.org_unit_ancestors(1)
  8.      )
  9. SELECT  m.source AS id,
  10.         m.source AS record,
  11.         1.0/(1)::NUMERIC AS rel,
  12.         1.0/(1)::NUMERIC AS rank,
  13.         FIRST(mrd.attrs->'date1') AS tie_break
  14.   FROM  metabib.metarecord_source_map m
  15.  
  16.         INNER JOIN metabib.record_attr mrd ON m.source = mrd.id
  17.         INNER JOIN biblio.record_entry bre ON m.source = bre.id
  18.         LEFT JOIN config.bib_source cbs ON bre.source = cbs.id
  19.   WHERE 1=1
  20.         AND (
  21.           m.source IN (E'1',E'2',E'3')
  22.         )
  23.         -- Filter records based on visibility
  24.         AND (
  25.             cbs.transcendant IS TRUE
  26.             OR
  27.             EXISTS(
  28.                 SELECT 1 FROM asset.opac_visible_copies
  29.                 WHERE circ_lib IN ( SELECT * FROM search_org_list )
  30.                     AND record = m.source
  31.                 LIMIT 1
  32.             )
  33.             OR
  34.             EXISTS(
  35.                 SELECT 1 FROM asset.call_number acn
  36.                     JOIN asset.uri_call_number_map aucnm ON acn.id = aucnm.call_number
  37.                     JOIN asset.uri uri ON aucnm.uri = uri.id
  38.                 WHERE NOT acn.deleted AND uri.active AND acn.record = m.source AND acn.owning_lib IN (
  39.                     SELECT * FROM luri_org_list
  40.                 )
  41.                 LIMIT 1
  42.             )
  43.         )
  44.  
  45.   GROUP BY 1
  46.   ORDER BY 4 ASC NULLS LAST, 5 DESC NULLS LAST, 3 DESC
  47.   LIMIT 25000
  48.  
  49. -- record_list(1,2,3) container(acp,staff_client,1,TOKEN)
  50. WITH
  51.      search_org_list AS (
  52.        SELECT DISTINCT id FROM actor.org_unit_descendants(1)
  53.      ),
  54.      luri_org_list AS (
  55.        SELECT DISTINCT id FROM actor.org_unit_ancestors(1)
  56.      ),
  57.      container_x33f4988 AS (
  58.        SELECT cn.record AS record FROM container.copy_bucket_item ci
  59.              JOIN container.copy_bucket c ON (c.id = ci.bucket) JOIN asset.copy cp ON (ci.target_copy = cp.id) JOIN asset.call_number cn ON (cp.call_number = cn.id)
  60.        WHERE c.btype = $_6520$staff_client$_6520$
  61.              AND c.id = E'1'
  62.              AND (c.pub IS TRUE OR c.owner = 1)
  63.        UNION
  64.        SELECT pr.peer_record AS record FROM container.copy_bucket_item ci
  65.              JOIN container.copy_bucket c ON (c.id = ci.bucket)
  66.              JOIN biblio.peer_bib_copy_map pr ON ci.target_copy = pr.target_copy
  67.        WHERE c.btype = $_6520$staff_client$_6520$
  68.              AND c.id = E'1'
  69.              AND (c.pub IS TRUE OR c.owner = 1)
  70.      )
  71. SELECT  m.source AS id,
  72.         m.source AS record,
  73.         1.0/(1)::NUMERIC AS rel,
  74.         1.0/(1)::NUMERIC AS rank,
  75.         FIRST(mrd.attrs->'date1') AS tie_break
  76.   FROM  metabib.metarecord_source_map m
  77.  
  78.       LEFT JOIN container_x33f4988 ON container_x33f4988.record = m.source
  79.         INNER JOIN metabib.record_attr mrd ON m.source = mrd.id
  80.         INNER JOIN biblio.record_entry bre ON m.source = bre.id
  81.         LEFT JOIN config.bib_source cbs ON bre.source = cbs.id
  82.   WHERE 1=1
  83.         AND (
  84.           m.source IN (E'1',E'2',E'3')
  85.           AND (container_x33f4988 IS NOT NULL)
  86.         )
  87.         -- Filter records based on visibility
  88.         AND (
  89.             cbs.transcendant IS TRUE
  90.             OR
  91.             EXISTS(
  92.                 SELECT 1 FROM asset.opac_visible_copies
  93.                 WHERE circ_lib IN ( SELECT * FROM search_org_list )
  94.                     AND record = m.source
  95.                 LIMIT 1
  96.             )
  97.             OR
  98.             EXISTS(
  99.                 SELECT 1 FROM asset.call_number acn
  100.                     JOIN asset.uri_call_number_map aucnm ON acn.id = aucnm.call_number
  101.                     JOIN asset.uri uri ON aucnm.uri = uri.id
  102.                 WHERE NOT acn.deleted AND uri.active AND acn.record = m.source AND acn.owning_lib IN (
  103.                     SELECT * FROM luri_org_list
  104.                 )
  105.                 LIMIT 1
  106.             )
  107.         )
  108.  
  109.   GROUP BY 1
  110.   ORDER BY 4 ASC NULLS LAST, 5 DESC NULLS LAST, 3 DESC
  111.   LIMIT 25000
  112.  
  113. -- record_list(1,2,3) -container(acp,staff_client,1,TOKEN)
  114. WITH
  115.      search_org_list AS (
  116.        SELECT DISTINCT id FROM actor.org_unit_descendants(1)
  117.      ),
  118.      luri_org_list AS (
  119.        SELECT DISTINCT id FROM actor.org_unit_ancestors(1)
  120.      ),
  121.      container_x3542938 AS (
  122.        SELECT cn.record AS record FROM container.copy_bucket_item ci
  123.              JOIN container.copy_bucket c ON (c.id = ci.bucket) JOIN asset.copy cp ON (ci.target_copy = cp.id) JOIN asset.call_number cn ON (cp.call_number = cn.id)
  124.        WHERE c.btype = $_6531$staff_client$_6531$
  125.              AND c.id = E'1'
  126.              AND (c.pub IS TRUE OR c.owner = 1)
  127.        UNION
  128.        SELECT pr.peer_record AS record FROM container.copy_bucket_item ci
  129.              JOIN container.copy_bucket c ON (c.id = ci.bucket)
  130.              JOIN biblio.peer_bib_copy_map pr ON ci.target_copy = pr.target_copy
  131.        WHERE c.btype = $_6531$staff_client$_6531$
  132.              AND c.id = E'1'
  133.              AND (c.pub IS TRUE OR c.owner = 1)
  134.      )
  135. SELECT  m.source AS id,
  136.         m.source AS record,
  137.         1.0/(1)::NUMERIC AS rel,
  138.         1.0/(1)::NUMERIC AS rank,
  139.         FIRST(mrd.attrs->'date1') AS tie_break
  140.   FROM  metabib.metarecord_source_map m
  141.  
  142.       LEFT JOIN container_x3542938 ON container_x3542938.record = m.source
  143.         INNER JOIN metabib.record_attr mrd ON m.source = mrd.id
  144.         INNER JOIN biblio.record_entry bre ON m.source = bre.id
  145.         LEFT JOIN config.bib_source cbs ON bre.source = cbs.id
  146.   WHERE 1=1
  147.         AND (
  148.           m.source IN (E'1',E'2',E'3')
  149.           AND NOT (container_x3542938 IS NOT NULL)
  150.         )
  151.         -- Filter records based on visibility
  152.         AND (
  153.             cbs.transcendant IS TRUE
  154.             OR
  155.             EXISTS(
  156.                 SELECT 1 FROM asset.opac_visible_copies
  157.                 WHERE circ_lib IN ( SELECT * FROM search_org_list )
  158.                     AND record = m.source
  159.                 LIMIT 1
  160.             )
  161.             OR
  162.             EXISTS(
  163.                 SELECT 1 FROM asset.call_number acn
  164.                     JOIN asset.uri_call_number_map aucnm ON acn.id = aucnm.call_number
  165.                     JOIN asset.uri uri ON aucnm.uri = uri.id
  166.                 WHERE NOT acn.deleted AND uri.active AND acn.record = m.source AND acn.owning_lib IN (
  167.                     SELECT * FROM luri_org_list
  168.                 )
  169.                 LIMIT 1
  170.             )
  171.         )
  172.  
  173.   GROUP BY 1
  174.   ORDER BY 4 ASC NULLS LAST, 5 DESC NULLS LAST, 3 DESC
  175.   LIMIT 25000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement