Hi all,
not sure if it's a bug, but when I'm trying to execute the scripts about monthly stats or initial stats, I'm getting this Oracle error :
Exception in thread "main" java.sql.SQLException: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:952)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1054)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:259)
at org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:384)
at org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:395)
at org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1264)
at org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1293)
at org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:532)
at org.dspace.app.statistics.LogAnalyser.main(LogAnalyser.java:327)
I'm pretty sure that all my "accessioned" dates are OK in my metadatas, since it is filled automatically by DSpace. I've picked up the generated query that is executed in that code and it's pretty difficult to see why Oracle doesn't seem to like it, unless it is related to the CLOB change for the TEXT_VALUE column. Here's an example of the query :
select count(*) as num
from item
where in_archive = 1
and withdrawn = 0
and item_id in
(
select item_id
from metadatavalue
where metadata_field_id =
(
select metadata_field_id
from metadatafieldregistry
where element = 'date'
and qualifier = 'accessioned'
)
and to_timestamp( to_char(text_value), 'yyyy-mm-dd"t"hh24:mi:ss"z"' ) > to_date('2007-09-01', 'yyyy-mm-dd')
and to_timestamp( to_char(text_value), 'yyyy-mm-dd"t"hh24:mi:ss"z"' ) < to_date('2007-09-30', 'yyyy-mm-dd')
)
Doesn't anyone have an idea at what is causing this and did someone has experienced the same issue?
Thanks for your time.