Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-1136

"Compiled" EntityResult ; Switch SelectQuery processing to use EntityResult

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 3.0
    • 3.0
    • Core Library
    • None

    Description

      Related to the inheritance tasks (CAY-795)... We need a way to process all different forms of DataRows that inheritance select queries require. Till now Cayenne worked with DataRows that represented a single entity and used DbAttribute names as keys to the values.

      There were a few exceptions that were handled by "normalization" process during object creation. I want this to exception to become a rule, and abstract normalization process via EntityResult, "compiled" in the ClassDescriptor. So for the old style rows , normalization will be a noop (encapsulated in an EntityResult), and for the rows using special column naming and extra meta-columns (such as in case of horizontal inheritance), there will be a conversion process involved.

      Also the plan is to use EntityResult in SELECT ... clause column name generation, including UNION queries under horizontal inheritance.

      [Finally going forward (will not be done under this Jira, or maybe not even in 3.0), we may migrate to array-based positional DataRows instead of a current Map-based. Per CAY-999 this should provide huge memory savings, and preclude the need for "normalization".]

      Attachments

        Issue Links

          Activity

            People

              andrus Andrus Adamchik
              andrus Andrus Adamchik
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: