Artur Konczak created DS-1425:
---------------------------------

             Summary: DSpace OAI -  Oracle DB issues 
                 Key: DS-1425
                 URL: https://jira.duraspace.org/browse/DS-1425
             Project: DSpace
          Issue Type: Bug
          Components: OAI-PMH
    Affects Versions: 3.0
            Reporter: Artur Konczak
            Priority: Critical


Current implementation of OAI doesn't support Oracle db fully.


(ORA-00904: "TRUE": invalid identifier) 
How to replicate that issue:
Call from a command line: ./dspace oai import -o -v -c

Solution:
Queries from org/dspace/xoai/app/XOAI.java 
line 181 and 197 should have a own implementation for Oracle dialect. 
Current queries:
SELECT item_id FROM item WHERE in_archive=TRUE AND last_modified > ?
and 
SELECT item_id FROM item WHERE in_archive=TRUE

Substitute for Oracle:
SELECT item_id FROM item WHERE in_archive=1 AND last_modified > ?
and 
SELECT item_id FROM item WHERE in_archive=1


ORA-00923: FROM keyword not found where expected
How to replicate that issue:
Go to url : oai/request?verb=ListSets

Solution:
org/dspace/xoai/data/DSpaceSetRepository.java
Line 93 and 135, ln both cases we need to replace current pagination 
"SELECT *, ROWNUM r FROM (" + query + ") WHERE r BETWEEN ? AND ?";

by 

SELECT * FROM (SELECT /*+ FIRST_ROWS(n) */ rec.*, ROWNUM rnum  FROM (XXXXXXX) 
rec WHERE rownum <= ? ) WHERE rnum> ? 


Duplicated code
In each of the selected classes (BrowseDAOOracle, EPerson,  Group, 
XmlWorkflowtem) we have a duplicated code for a pagnation(Oracle/Postgres)
We can create a static method in DatabaseManage and move code there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to