RE: [xwiki-users] cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
Hi Ronald, Srinivasa and I are trying to get some help with the NULL value when starting up xwiki in Oracle 9i as well as dealing with CLob datatypes in Oracle. Do you have any suggestions on how to get this working? I read in the thread below last years there were suggestion to add more logic to the getters in some beans. Did anyone ever got that to work? We really like xWiki and are trying hard to make work with Oracle but we also have some deadlines and I hate to have to look for a replacement to xWiki. Any help will be greatly appreciate it. John G. ________________________________ From: Ronald Borman [mailto:[email protected]] Sent: Wednesday, March 14, 2007 7:50 PM To: Subject: Re: [xwiki-users] cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE") As Oracle is a company standard, I've investigated the use of an Oracle database. Appearantly, during initialisation of a new XWiki database, one or more XWikiDOC records are created that contain an empty XWD_TITLE field. It seems that Oracle interprets an empty string differently than (for instance) mySQL.When a query contains a string value that is empty (""), Oracle stores this in the database as a NULL value. Because the XWD_TITLE field has a NOT NULL constraint, the exception is raised. Oracle 10g has some kind of a switch in the form of the statement IGNORE NAV that can be included in the (Oracle specific?) MODEL clause of an SQL query. I have not tried this though, because our installation of XWiki had to be completed and it looks like the MODEL clause is not transparently supported in Hibernate. Besides, I think there is another problem with the use of Oracle. Large text fields are implemented als a CLOB type. But searching this type of field with LIKE only accesses the first 4K of the field. There is a forum thread ( http://mail-archive.objectweb.org/xwiki-users/2006-08/msg00112.html) that mentions this and the possible use of Lucene. Ludovic/Vincent: are there any (future) plans to support Oracle as mentioned in the forum thread? Regards, Ronald. 2007/3/13, Sergiu Dumitriu <[email protected]>: Hi, There's a problem with using XWiki on Oracle, which is not solved yet. Other users got stuck on the same problem: http://mail-archive.objectweb.org/xwiki-dev/2007-01/msg00142.html http://mail-archive.objectweb.org/xwiki-dev/2007-01/msg00143.html http://archivesat.com/post4701341.htm Unfortunately, I don't have Oracle, so I can't debug it to see what's the problem. Sergiu On 3/13/07, [email protected] <[email protected]> wrote: Hi Ludovic, First of all thank you for your response. I have tried by removing the Calendar Plugin but still getting the similar error. 10:17:01,204 WARN [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:71 - SQL Error: 1400, SQLState: 23000 10:17:01,211 ERROR [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:72 - ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE") 10:17:01,216 WARN [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:71 - SQL Error: 1400, SQLState: 23000 10:17:01,221 ERROR [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:72 - ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE") 10:17:01,228 ERROR [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome AbstractFlushingEventListener:performExecutions:299 - Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java :69) at org.hibernate.exception.JDBCExceptionHelper.convert (JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202 ) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultFlushEventListener.onFlush ( DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356) at org.hibernate.transaction.JDBCTransaction.commit (JDBCTransaction.java:106) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java:573) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java :547) at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java:309) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc (XWikiCacheStore.java:94) at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute (XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java :743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(St ubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServ letContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run (ExecuteThread.java:181) Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE") at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException (DatabaseError.java:343) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt atement.java:10698) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java :294) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java:294) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:5 8) at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:195) ... 40 more com.xpn.xwiki.XWikiException: Error number 3201 in 3: Exception while saving document XWiki.XWikiPreferences Wrapped Exception: Could not execute JDBC batch update at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java:314) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc (XWikiCacheStore.java:94) at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute (XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java :743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(St ubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServ letContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run (ExecuteThread.java:181) Wrapped Exception: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE") at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException (DatabaseError.java:343) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt atement.java:10698) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java :294) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java:294) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:5 8) at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEv entListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:10 6) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction (XWikiHibernateBaseStore.java:573) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java:547) at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java :309) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:94 ) at com.xpn.xwiki.XWiki.saveDocument (XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki (XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet (ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run (StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityH elper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter (SetCharacterEncodingFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java :3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute (WebAppServletContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletCont ext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 10:17:01,271 WARN [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' RequestProcessor:processException:528 - Unhandled Exception thrown: class com.xpn.xwiki.XWikiException <Mar 13, 2007 10:17:01 AM EDT> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@e5376a - appName: '_appsdir_xwiki_dir', name: 'xwiki', context-path: '/xwiki'] Root cause of ServletException. com.xpn.xwiki.XWikiException: Error number 3 in 0: Could not initialize main XWiki context Wrapped Exception: Error number 3201 in 3: Exception while saving document XWiki.XWikiPreferences Wrapped Exception: Could not execute JDBC batch update at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:290) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java :431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) Truncated. see log file for complete stacktrace
-- http://purl.org/net/sergiu -- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto: [email protected] For general help: mailto: [email protected] <mailto:[email protected]> ?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
John, Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for has chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record. That won't help you if your company standards dictate using Oracle though... For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task. A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...). Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined type in a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null. If this works, you could at least install and start up XWiki on Oracle. Regards, Ronald. 2007/3/16, Gongora, John (GE Comm Fin, non-ge) <[email protected]>:
Hi Ronald,
Srinivasa and I are trying to get some help with the NULL value when starting up xwiki in Oracle 9i as well as dealing with CLob datatypes in Oracle. Do you have any suggestions on how to get this working? I read in the thread below last years there were suggestion to add more logic to the getters in some beans. Did anyone ever got that to work? We really like xWiki and are trying hard to make work with Oracle but we also have some deadlines and I hate to have to look for a replacement to xWiki. Any help will be greatly appreciate it.
John G.
________________________________
From: Ronald Borman [mailto:[email protected]] Sent: Wednesday, March 14, 2007 7:50 PM To: Subject: Re: [xwiki-users] cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
As Oracle is a company standard, I've investigated the use of an Oracle database.
Appearantly, during initialisation of a new XWiki database, one or more XWikiDOC records are created that contain an empty XWD_TITLE field. It seems that Oracle interprets an empty string differently than (for instance) mySQL.When a query contains a string value that is empty (""), Oracle stores this in the database as a NULL value. Because the XWD_TITLE field has a NOT NULL constraint, the exception is raised.
Oracle 10g has some kind of a switch in the form of the statement IGNORE NAV that can be included in the (Oracle specific?) MODEL clause of an SQL query. I have not tried this though, because our installation of XWiki had to be completed and it looks like the MODEL clause is not transparently supported in Hibernate.
Besides, I think there is another problem with the use of Oracle. Large text fields are implemented als a CLOB type. But searching this type of field with LIKE only accesses the first 4K of the field. There is a forum thread ( http://mail-archive.objectweb.org/xwiki-users/2006-08/msg00112.html) that mentions this and the possible use of Lucene.
Ludovic/Vincent: are there any (future) plans to support Oracle as mentioned in the forum thread?
Regards,
Ronald.
2007/3/13, Sergiu Dumitriu <[email protected]>:
Hi,
There's a problem with using XWiki on Oracle, which is not solved yet. Other users got stuck on the same problem: http://mail-archive.objectweb.org/xwiki-dev/2007-01/msg00142.html http://mail-archive.objectweb.org/xwiki-dev/2007-01/msg00143.html http://archivesat.com/post4701341.htm
Unfortunately, I don't have Oracle, so I can't debug it to see what's the problem.
Sergiu
On 3/13/07, [email protected] <[email protected]> wrote:
Hi Ludovic,
First of all thank you for your response. I have tried by removing the Calendar Plugin but still getting the similar error.
10:17:01,204 WARN [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:71 - SQL Error: 1400, SQLState: 23000 10:17:01,211 ERROR [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:72 - ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
10:17:01,216 WARN [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:71 - SQL Error: 1400, SQLState: 23000 10:17:01,221 ERROR [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome JDBCExceptionReporter:logExceptions:72 - ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
10:17:01,228 ERROR [ACTIVE] ExecuteThread: '2' for queue: ' weblogic.kernel.Default (self-tuning)' http://3.170.64.77:7001/xwiki/bin/view/Main/WebHome AbstractFlushingEventListener:performExecutions:299 - Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java :69) at org.hibernate.exception.JDBCExceptionHelper.convert (JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202 ) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultFlushEventListener.onFlush ( DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356) at org.hibernate.transaction.JDBCTransaction.commit (JDBCTransaction.java:106) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java:573) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java :547) at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java:309) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc (XWikiCacheStore.java:94) at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute (XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java :743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(St ubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServ letContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run (ExecuteThread.java:181) Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException (DatabaseError.java:343) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt atement.java:10698) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java :294) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java:294) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:5 8) at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:195) ... 40 more com.xpn.xwiki.XWikiException: Error number 3201 in 3: Exception while saving document XWiki.XWikiPreferences Wrapped Exception: Could not execute JDBC batch update at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java:314) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc (XWikiCacheStore.java:94) at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute (XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java :743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(St ubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServ letContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run (ExecuteThread.java:181)
Wrapped Exception:
java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("XWIKI"."XWIKIDOC"."XWD_TITLE")
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException (DatabaseError.java:343) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt atement.java:10698) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java :294) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingState ment.java:294) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:5 8) at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEv entListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:10 6) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction (XWikiHibernateBaseStore.java:573) at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernat eBaseStore.java:547) at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore .java :309) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:10 0) at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:94 ) at com.xpn.xwiki.XWiki.saveDocument (XWiki.java:891) at com.xpn.xwiki.XWiki.getPrefsClass(XWiki.java:2292) at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:674) at com.xpn.xwiki.XWiki.<init>(XWiki.java:566) at com.xpn.xwiki.XWiki.getMainXWiki (XWiki.java:281) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet (ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run (StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityH elper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2 83) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter (SetCharacterEncodingFilter.java:121) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: 42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r un(WebAppServletContext.java :3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu bject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 ) at weblogic.servlet.internal.WebAppServletContext.securedExecute (WebAppServletContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletCont ext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java :1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 10:17:01,271 WARN [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' RequestProcessor:processException:528 - Unhandled Exception thrown: class com.xpn.xwiki.XWikiException <Mar 13, 2007 10:17:01 AM EDT> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@e5376a - appName: '_appsdir_xwiki_dir', name: 'xwiki', context-path: '/xwiki'] Root cause of ServletException. com.xpn.xwiki.XWikiException: Error number 3 in 0: Could not initialize main XWiki context Wrapped Exception: Error number 3201 in 3: Exception while saving document XWiki.XWikiPreferences Wrapped Exception: Could not execute JDBC batch update at com.xpn.xwiki.XWiki.getMainXWiki(XWiki.java:290) at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:382) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:96) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java :431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) Truncated. see log file for complete stacktrace
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto: [email protected] For general help: mailto: [email protected] <mailto:[email protected]> ?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
On Mar 19, 2007, at 1:55 PM, Ronald Borman wrote:
John,
Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for has chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record.
That won't help you if your company standards dictate using Oracle though...
For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task.
A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...).
Yes that may be a good temporary solution and it's possible that drivers or hibernate support for Oracle improves over time. See also http://jira.xwiki.org/jira/browse/XWIKI-838. Might be good to use this issue to gather feedbacks and ideas on CLOBs. Eric Sun has provided a patch. It would be cool if someone could look at the patch, validate that it works and report back on the issue. XWiki committers should also look into it.
Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined type in a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null.
Ah funny... I just replied to you with this same link :)
If this works, you could at least install and start up XWiki on Oracle.
Regards,
Thanks -Vincent
On Mar 20, 2007, at 9:26 AM, Vincent Massol wrote:
On Mar 19, 2007, at 1:55 PM, Ronald Borman wrote:
John,
Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for has chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record.
That won't help you if your company standards dictate using Oracle though...
For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task.
A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...).
Yes that may be a good temporary solution and it's possible that drivers or hibernate support for Oracle improves over time.
See also http://jira.xwiki.org/jira/browse/XWIKI-838. Might be good to use this issue to gather feedbacks and ideas on CLOBs. Eric Sun has provided a patch.
Actually it's Joachim Zhang who provided the patch. Sorry Joachim! -Vincent
It would be cool if someone could look at the patch, validate that it works and report back on the issue.
XWiki committers should also look into it.
Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined type in a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null.
Ah funny... I just replied to you with this same link :)
If this works, you could at least install and start up XWiki on Oracle.
Regards,
Thanks -Vincent
On Mar 20, 2007, at 9:26 AM, Vincent Massol wrote:
On Mar 19, 2007, at 1:55 PM, Ronald Borman wrote:
John,
Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for has chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record.
That won't help you if your company standards dictate using Oracle though...
For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task.
A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...).
Yes that may be a good temporary solution and it's possible that drivers or hibernate support for Oracle improves over time.
See also http://jira.xwiki.org/jira/browse/XWIKI-838. Might be good to use this issue to gather feedbacks and ideas on CLOBs. Eric Sun has provided a patch.
It would be cool if someone could look at the patch, validate that it works and report back on the issue.
I've just checked the patch and it looks good. It uses listeners for handling NULL/Empty string. Not sure what are the pros/cons with a user type. Anyone knows? On a minor note we should move the hbm files out of the XWiki core jar and move them into WEB-INF next to the hibernate.cfg.xml file so that it can be easily modified. This would allow to keep exactly the same configuration for all databases and provide a hbm and hibernate.cfg.xml files for Oracle. WDYT? I don't have an Oracle installation at hand. If someone could try the patch that would be cool. Thanks -Vincent
XWiki committers should also look into it.
Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined type in a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null.
Ah funny... I just replied to you with this same link :)
If this works, you could at least install and start up XWiki on Oracle.
Regards,
Thanks -Vincent
-- You receive this message as a subscriber of the xwiki- [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/ wws
Vincent, In a corporate environment XWiki will only be accepted if it conforms to company standards. Oracle is a big player in corporate data centers so it is vital that this database is supported. Our temporary XWiki implementation on MySQL is installed on a local server for now, but this situation is only tolerated because the use of XWiki is seen as innovation and backed by local management. Inevitably it has to move to our data center in the future. Even manual tweaking after installation will deter potential users. So I think XWiki has to work on Oracle out-of-the-box. Now I am not an Oracle expert, but I like a good challenge. I will try to get Oracle working on a test machine and report on the results. BTW Oracle has a free version of Oracle 10g called Oracle Express Edition. It has many features of the standard edition (the in-process JVM is missing though) with some limitations on memory, storage and processor use). The Windows package comes with a decent installer and it will run on a machine with 512MB. Ideal for testing... Regards, Ronald. 2007/3/20, Vincent Massol <[email protected]>:
On Mar 20, 2007, at 9:26 AM, Vincent Massol wrote:
On Mar 19, 2007, at 1:55 PM, Ronald Borman wrote:
John,
Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for has chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record.
That won't help you if your company standards dictate using Oracle though...
For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task.
A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...).
Yes that may be a good temporary solution and it's possible that drivers or hibernate support for Oracle improves over time.
See also http://jira.xwiki.org/jira/browse/XWIKI-838. Might be good to use this issue to gather feedbacks and ideas on CLOBs. Eric Sun has provided a patch.
It would be cool if someone could look at the patch, validate that it works and report back on the issue.
I've just checked the patch and it looks good. It uses listeners for handling NULL/Empty string. Not sure what are the pros/cons with a user type. Anyone knows?
On a minor note we should move the hbm files out of the XWiki core jar and move them into WEB-INF next to the hibernate.cfg.xml file so that it can be easily modified. This would allow to keep exactly the same configuration for all databases and provide a hbm and hibernate.cfg.xml files for Oracle.
WDYT?
I don't have an Oracle installation at hand. If someone could try the patch that would be cool.
Thanks -Vincent
XWiki committers should also look into it.
Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined type in a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null.
Ah funny... I just replied to you with this same link :)
If this works, you could at least install and start up XWiki on Oracle.
Regards,
Thanks -Vincent
-- You receive this message as a subscriber of the xwiki- [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/ wws
-- You receive this message as a subscriber of the [email protected] list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
On Mar 23, 2007, at 5:59 AM, Ronald Borman wrote:
Vincent,
In a corporate environment XWiki will only be accepted if it conforms to company standards. Oracle is a big player in corporate data centers so it is vital that this database is supported. Our temporary XWiki implementation on MySQL is installed on a local server for now, but this situation is only tolerated because the use of XWiki is seen as innovation and backed by local management. Inevitably it has to move to our data center in the future.
Even manual tweaking after installation will deter potential users. So I think XWiki has to work on Oracle out-of-the-box.
In my past 6 years of consulting at big companies 90% of them were using Oracle so I really agree... :)
Now I am not an Oracle expert, but I like a good challenge. I will try to get Oracle working on a test machine and report on the results.
Spiffy
BTW Oracle has a free version of Oracle 10g called Oracle Express Edition. It has many features of the standard edition (the in- process JVM is missing though) with some limitations on memory, storage and processor use). The Windows package comes with a decent installer and it will run on a machine with 512MB. Ideal for testing...
Ok thanks. I'm on mac but I'll check if they have an install for it. Thanks -Vincent
2007/3/20, Vincent Massol <[email protected]>:
On Mar 20, 2007, at 9:26 AM, Vincent Massol wrote:
On Mar 19, 2007, at 1:55 PM, Ronald Borman wrote:
John,
Even if the problems mentioned are solved, there could be more incompatibilities when using Oracle. The organization I work for
has
chosen to install XWiki on MySQL for the time being until a working version under Oracle in a test environment has a track record.
That won't help you if your company standards dictate using Oracle though...
For the problem regarding searching clobs I currently don't see a solution with minimal impact. Oracle has a search engine (Oracle Text) but it seems to be an extra (external?) feature. Lucene could be an option (there is even a XWiki plugin), but implementing this is also no trivial task.
A collegae of mine suggested living with the knowledge that only the first 4K of a document is searched (if it works that way...).
Yes that may be a good temporary solution and it's possible that drivers or hibernate support for Oracle improves over time.
See also http://jira.xwiki.org/jira/browse/XWIKI-838. Might be good to use this issue to gather feedbacks and ideas on CLOBs. Eric Sun has provided a patch.
It would be cool if someone could look at the patch, validate that it works and report back on the issue.
I've just checked the patch and it looks good. It uses listeners for handling NULL/Empty string. Not sure what are the pros/cons with a user type. Anyone knows?
On a minor note we should move the hbm files out of the XWiki core jar and move them into WEB-INF next to the hibernate.cfg.xml file so that it can be easily modified. This would allow to keep exactly the same configuration for all databases and provide a hbm and hibernate.cfg.xml files for Oracle.
WDYT?
I don't have an Oracle installation at hand. If someone could try the patch that would be cool.
Thanks -Vincent
XWiki committers should also look into it.
Regarding the problem with empty strings there may be a solution. Hibernate lets you define a UserType and substitute a defined
type in
a mapping file with this type. The URL http://www.hibernate.org/169.html descibes a type that stores empty strings by escaping or marking an empty string so that the value is not converted into null.
Ah funny... I just replied to you with this same link :)
If this works, you could at least install and start up XWiki on Oracle.
Regards,
Thanks -Vincent
-- You receive this message as a subscriber of the xwiki- [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected] ?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/ wws
-- You receive this message as a subscriber of the xwiki- [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto: [email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/ wws
-- You receive this message as a subscriber of the xwiki- [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/ wws
participants (3)
-
Gongora, John (GE Comm Fin, non-ge) -
Ronald Borman -
Vincent Massol