If you see the following error in your tomcat log, you have to do a cleanup:
2013-01-01 01:01:01,111 ajp-8009-1 ERROR [500ErrorPage.jsp] Exception caught in 500 page org.apache.jasper.JasperException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Passed List had more than one value. org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Passed List had more than one value. (...) Caused by: java.lang.IllegalArgumentException: Passed List had more than one value. at org.ofbiz.core.entity.EntityUtil.getOnly(EntityUtil.java:62) (...)This actually deletes all the duplicated rows, to make every row to be unique (over 'username', at least):
DELETE FROM columnlayout WHERE ROWID IN ( SELECT "ROWID" FROM ( SELECT RANK() OVER(PARTITION BY USERNAME ORDER BY ROWID) RANK_N, ROWID AS "ROWID" FROM columnlayout WHERE USERNAME IN ( SELECT USERNAME FROM columnlayout GROUP BY USERNAME HAVING COUNT(*) > 1 ) ) WHERE RANK_N > 1 );
No comments :
Post a Comment