| Summary: | [DB] Make the used CDOIDObject subtype and storage pluggable | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Eike Stepper <stepper> | ||||||||||||||||||||||||
| Component: | cdo.db | Assignee: | Eike Stepper <stepper> | ||||||||||||||||||||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||||||||||||||||||||
| Severity: | enhancement | ||||||||||||||||||||||||||
| Priority: | P3 | CC: | stefan | ||||||||||||||||||||||||
| Version: | 4.0 | Keywords: | noteworthy | ||||||||||||||||||||||||
| Target Milestone: | --- | ||||||||||||||||||||||||||
| Hardware: | All | ||||||||||||||||||||||||||
| OS: | All | ||||||||||||||||||||||||||
| Whiteboard: | |||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||
|
Description
Eike Stepper
Created attachment 188385 [details]
Patch v1
I renamed the typical helper methods that create, parse or deal otherwise with long value IDs. Then I fixed most of the resulting compile errors by delegating to the new IIDHandler which is maintained by IDBStore. Now I'm down to 18 errors.
I roughly identified some additional challenges:
ITypeMapping
ITypeMapping.Factory
initTable() methods
IMetaDataManager
ObjectTypeTable.idField
IExternalReferenceManager
CDODBSchema.EXTERNAL_ID!!!
FeatureMap tags???
repairAfterCrash()
Created attachment 188402 [details]
Patch v2
Created attachment 188403 [details]
Patch v3 - comile error free
All issues addressed, untested.
Created attachment 188405 [details]
Patch v4 - most tests pass
Created attachment 188409 [details]
Patch v5
Created attachment 188410 [details]
Patch v6
Created attachment 188412 [details]
Patch v7
Created attachment 188414 [details]
Patch v8
Created attachment 188420 [details]
Patch v9 - for future reference
Created attachment 188428 [details]
Patch v10 - full patch with StringIDHandler
feature maps fail with StringIDHandler
Committed revision 7028 (patch v10): - trunk/org.eclipse.emf.cdo.server - trunk/org.eclipse.emf.cdo.server.db - trunk/org.eclipse.emf.cdo.server.hibernate - trunk/org.eclipse.emf.cdo.server.objectivity Created attachment 188446 [details]
supplemental-patch-v1
Patch-v10 misses a handler-dependent DBField (which actually should have been BIGINT, not INTEGER, BTW). This patch fixes the field.
All non-Workspace tests pass now.
Committed revision 7029: - trunk/plugins/org.eclipse.emf.cdo.server.db - trunk/plugins/org.eclipse.emf.cdo.tests Good catch, Stefan! Available in R20110608-1407 |