[OS-JIRA] Created: (CAY-65) Use RelationshipFault as "flyweight"

From: jir..bjectstyle.org
Date: Wed Dec 17 2003 - 18:00:32 EST

  • Next message: Andrus Adamchik: "Object Graph Refreshing: design ideas?"

    Message:

      A new issue has been created in JIRA.

    ---------------------------------------------------------------------
    View the issue:

      http://objectstyle.org/jira/secure/ViewIssue.jspa?key=CAY-65

    Here is an overview of the issue:
    ---------------------------------------------------------------------
            Key: CAY-65
        Summary: Use RelationshipFault as "flyweight"
           Type: Improvement

         Status: Assigned
       Priority: Major

        Project: Cayenne
     Components:
                 Cayenne Core Library
       Fix Fors:
                 1.1 [DEV]
       Versions:
                 1.1 [DEV]

       Assignee: Andrus Adamchik
       Reporter: Andrus Adamchik

        Created: Wed, 17 Dec 2003 5:59 PM
        Updated: Wed, 17 Dec 2003 5:59 PM

    Description:
    RelationshipFault class is currently used as a placeholder for DataObjects that are not resolved and can't be stored as HOLLOW (e.g. we can't create a HOLLOW instance for flattened to-one target, since we can't derive the PK from FK).

    This feature improvement is about
    1. More efficient use of RelationshipFault as a "flyweight".
    2. Extending its use to regular to-one relationships.

    For each relationship there should be only one instance of RelationshipFault shared by all DataObjects. This would allow to avoid creating faults instances per object, saving memory and processing time.

    Extending its use to normal many-to-one relationships should give even bigger performance boost since they are more common than flattened and one-to-ones. This will work like this

    - on object fetch relationship target is set to RelationshipFault flyweight
    - on "getXYZ" method call of a parent object, RelationshipFault is resolved to a HOLLOW object
    - and only when getXYZ on a HOLLOW object is called, it is being fetched.

    ---------------------------------------------------------------------
    JIRA INFORMATION:
    This message is automatically generated by JIRA.

    If you think it was sent incorrectly contact one of the administrators:
       http://objectstyle.org/jira/secure/Administrators.jspa

    If you want more information on JIRA, or have a bug to report see:
       http://www.atlassian.com/software/jira



    This archive was generated by hypermail 2.0.0 : Wed Dec 17 2003 - 18:00:32 EST