[ http://jira.dspace.org/jira/browse/DS-596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Donohue updated DS-596: --------------------------- Component/s: DSpace API Forgot to mention -- there is a workaround for anyone who encounters this issue. All you need to do is delete the sub-sub-community, and then you'll be able to delete the top-level community successfully. > Cannot Delete Community which has two or more levels of SubCommunities > ---------------------------------------------------------------------- > > Key: DS-596 > URL: http://jira.dspace.org/jira/browse/DS-596 > Project: DSpace 1.x > Issue Type: Bug > Components: DSpace API > Affects Versions: 1.6.1 > Environment: Any > Reporter: Tim Donohue > > If you have a Community which has two or more levels of subcommunities, a > database error will be thrown when you attempt to delete it. > As an example, suppose you have the following hierarchy: > Community 1 > - Sub-Community 1.1 > - Sub-Sub-Community 1.1.1 > In that example, if you attempt to delete "Community 1", then you will end > up receiving a "PSQLException" similar to the following: > org.postgresql.util.PSQLException: ERROR: update or delete on table > "community" violates foreign key constraint "com2com_child_fk" on table > "community2community" > Detail: Key (community_id)=(SOME_ID) is still referenced from table > "community2community". > (Where "SOME_ID" will be the internal ID of the "Sub-Community 1.1) > Essentially, it looks like the Sub-Community 1.1 is unable to be deleted as > its ID is not removed from community2community. > You can see this error by logging in as an Admin and trying to delete the > following Top-Level Community on the Demo Server (it has both a sub-community > & a sub-sub-community): > http://demo.dspace.org/xmlui/handle/10673/203 > However, it's worth noting that Community deletion works fine if you only > have "Sub-Communities" and do not have an "Sub-Sub-Communities". > I haven't had a chance to figure out *why* this happens -- just wanted to > note that it is happening. > Here's a slightly larger Java stacktrace: > org.postgresql.util.PSQLException: ERROR: update or delete on table > "community" violates foreign key constraint "com2com_child_fk" on table > "community2community" > Detail: Key (community_id)=(42) is still referenced from table > "community2community". > at > org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531) > at > org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313) > at > org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188) > at > org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) > at > org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354) > at > org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:308) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102) > at > org.dspace.storage.rdbms.DatabaseManager.updateQuery(DatabaseManager.java:460) > at > org.dspace.storage.rdbms.DatabaseManager.deleteByValue(DatabaseManager.java:605) > at > org.dspace.storage.rdbms.DatabaseManager.delete(DatabaseManager.java:572) > at > org.dspace.storage.rdbms.DatabaseManager.delete(DatabaseManager.java:807) > at org.dspace.content.Community.rawDelete(Community.java:1053) > at org.dspace.content.Community.removeSubcommunity(Community.java:954) > at org.dspace.content.Community.rawDelete(Community.java:1030) > at org.dspace.content.Community.delete(Community.java:1001) > at > org.dspace.app.xmlui.aspect.administrative.FlowContainerUtils.processDeleteCommunity(FlowContainerUtils.java:922) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > .... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.dspace.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel