From 3a0288aa389a2c42bdf43aa08ff2e247604b0127 Mon Sep 17 00:00:00 2001 From: Richard Rodgers Date: Wed, 7 Apr 2004 19:58:26 +0000 Subject: [PATCH] Part of fix for bug SF# 917560 (sub-community browse). Fix consists of addition of a new table 'Communities2Item' which contains the entire mapping of parent communities to items (i.e. one row for each comm-item pair). This table is substituted in all the community-restricted views used in the browse: communityitembydate, communityitembyauthor, etc git-svn-id: http://scm.dspace.org/svn/repo/trunk@837 9c30dcfa-912a-0410-8fc2-9e0234be79fd --- dspace/etc/database_schema.sql | 37 ++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/dspace/etc/database_schema.sql b/dspace/etc/database_schema.sql index fb5f728c84..c2c2fd34d1 100644 --- a/dspace/etc/database_schema.sql +++ b/dspace/etc/database_schema.sql @@ -104,6 +104,7 @@ CREATE SEQUENCE registrationdata_seq; CREATE SEQUENCE subscription_seq; CREATE SEQUENCE history_seq; CREATE SEQUENCE historystate_seq; +CREATE SEQUENCE communities2item_seq; CREATE SEQUENCE itemsbyauthor_seq; CREATE SEQUENCE itemsbytitle_seq; CREATE SEQUENCE itemsbydate_seq; @@ -475,8 +476,18 @@ CREATE TABLE HistoryState ------------------------------------------------------------ ------------------------------------------------------- --- Community2Item view +-- Communities2Item table ------------------------------------------------------- +CREATE TABLE Communities2Item +( + id INTEGER PRIMARY KEY, + community_id INTEGER REFERENCES Community(community_id), + item_id INTEGER REFERENCES Item(item_id) +); + +------------------------------------------------------- +-- Community2Item view +------------------------------------------------------ CREATE VIEW Community2Item as SELECT Community2Collection.community_id, Collection2Item.item_id FROM Community2Collection, Collection2Item @@ -510,9 +521,9 @@ WHERE ItemsByAuthor.item_id = Collection2Item.item_id -- CommunityItemsByAuthor view ------------------------------------------------------- CREATE VIEW CommunityItemsByAuthor as -SELECT Community2Item.community_id, ItemsByAuthor.* -FROM ItemsByAuthor, Community2Item -WHERE ItemsByAuthor.item_id = Community2Item.item_id +SELECT Communities2Item.community_id, ItemsByAuthor.* +FROM ItemsByAuthor, Communities2Item +WHERE ItemsByAuthor.item_id = Communities2Item.item_id ; ---------------------------------------- @@ -543,9 +554,9 @@ WHERE ItemsByTitle.item_id = Collection2Item.item_id -- CommunityItemsByTitle view ------------------------------------------------------- CREATE VIEW CommunityItemsByTitle as -SELECT Community2Item.community_id, ItemsByTitle.* -FROM ItemsByTitle, Community2Item -WHERE ItemsByTitle.item_id = Community2Item.item_id +SELECT Communities2Item.community_id, ItemsByTitle.* +FROM ItemsByTitle, Communities2Item +WHERE ItemsByTitle.item_id = Communities2Item.item_id ; ------------------------------------------------------- @@ -574,9 +585,9 @@ WHERE ItemsByDate.item_id = Collection2Item.item_id -- CommunityItemsByDate view ------------------------------------------------------- CREATE VIEW CommunityItemsByDate as -SELECT Community2Item.community_id, ItemsByDate.* -FROM ItemsByDate, Community2Item -WHERE ItemsByDate.item_id = Community2Item.item_id +SELECT Communities2Item.community_id, ItemsByDate.* +FROM ItemsByDate, Communities2Item +WHERE ItemsByDate.item_id = Communities2Item.item_id ; ------------------------------------------------------- @@ -602,9 +613,9 @@ WHERE ItemsByDateAccessioned.item_id = Collection2Item.item_id -- CommunityItemsByDateAccession view ------------------------------------------------------- CREATE VIEW CommunityItemsByDateAccession as -SELECT Community2Item.community_id, ItemsByDateAccessioned.* -FROM ItemsByDateAccessioned, Community2Item -WHERE ItemsByDateAccessioned.item_id = Community2Item.item_id +SELECT Communities2Item.community_id, ItemsByDateAccessioned.* +FROM ItemsByDateAccessioned, Communities2Item +WHERE ItemsByDateAccessioned.item_id = Communities2Item.item_id ;