Community
Participate
Working Groups
Build Identifier: Hello, When trying to commit a newly created legacy object referencing an element in another model with an URI longer than 255 characters, I have the following exception : Rollback in DBStore: org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Value too long for column URI VARCHAR(255): ...my long uri... (284); SQL statement: INSERT INTO cdo_external_refs(id,uri,committime) VALUES (?, ?, ?) [90005-117] at org.eclipse.emf.cdo.server.internal.db.ExternalReferenceManager.insertNew(ExternalReferenceManager.java:252) at org.eclipse.emf.cdo.server.internal.db.ExternalReferenceManager.mapURI(ExternalReferenceManager.java:105) at org.eclipse.emf.cdo.server.internal.db.ExternalReferenceManager.mapExternalReference(ExternalReferenceManager.java:87) Is there any way to customize the default mapping between URIs and column to make it use more that 255 characters ? As I'm in legacy mode, I cannot do it with annotations on my metamodel. This bug follows this topic on the forum : http://www.eclipse.org/forums/index.php/m/693495/#msg_693495 Reproducible: Always Steps to Reproduce: 1. commit a newly created legacy object referencing an element in another model, which is not stored in the repository, with an URI longer than 255 characters
Stefan, if you attach a patch for head I can merge it to 4.0 subsequently.
Created attachment 199730 [details] Patch-v1 Patch and Testcase
Created attachment 199731 [details] mylyn/context/zip
According to the wording of the bug title this is an enhancement.
Committed to TRUNK (Revision 8718)
(In reply to comment #1) > Stefan, if you attach a patch for head I can merge it to 4.0 subsequently. Hello! Currently, I am using version 4.0. Eike, did you have time to merge this patch to branch 4.0? Should I create another bug for version 4.0? Thanks, Steve
Back port via bug 353965.
(In reply to comment #7) > Back port via bug 353965. Thank you.
Closing.
I just noticed that Bugzilla_351393_Test started to fail in all UUID scenarios, see bug 396379. The reason is that in these scenarios (client-side assigned IDs, UUIDs) external references are NOT stored in a separate table, but "in sito". That means that all CDOID columns need to have at least the length of the longest external URI! Excluding that particular test case from UUID scenarios: commit 8a7885b70e7d4158392fde0ab75f55080516498d