Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 400387

Summary: Optimize the storage of view, state, id and revision per CDOObject
Product: [Modeling] EMF Reporter: Eike Stepper <stepper>
Component: cdo.coreAssignee: Eike Stepper <stepper>
Status: CLOSED FIXED QA Contact: Eike Stepper <stepper>
Severity: enhancement    
Priority: P3 CC: Ed.Merks
Version: 4.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard: Lighter, Faster and Better

Description Eike Stepper CLA 2013-02-10 00:17:13 EST
CDOObjectImpl used to store the view, state, id and revision in 4 different instance fields. Observations:

1) All objects of a view share a small number of CDOState literals. 
2) if a revision is set, the object's ID is equal to the revision's ID.

The is to pack the resulting combinations into these 2 fields and adjust the getters and setters accordingly:

  private ViewAndState viewAndState = ViewAndState.TRANSIENT;
  private Object idOrRevision;
Comment 1 Eike Stepper CLA 2013-02-10 00:18:22 EST
commit 05ab5611ac2bd3f7841077468090ba25aa9486ed
Comment 2 Eike Stepper CLA 2013-06-27 03:31:30 EDT
Available in R20130613-1157 (4.2)