Trevor Higgins created CAY-1979:
-----------------------------------

             Summary: Prefetches on Many-to-Many Relationships with Longvarchar
                 Key: CAY-1979
                 URL: https://issues.apache.org/jira/browse/CAY-1979
             Project: Cayenne
          Issue Type: Bug
          Components: Core Library
    Affects Versions: 3.1
            Reporter: Trevor Higgins
            Priority: Critical


Discovered when performing a prefetch on a many-to-many relationship involving 
a jump table, but may affect a varietey of prefetches.

(Note: this is a 'disjoint' prefetch, as selected by Cayenne not by the calling 
code)
When performing a prefetch SelectAction.performAction checks 
'translator.isSuppressingDistinct()' and if so wraps the resultset iterator in 
a DistinctResultIterator.

The problem arises because when the unsupported distinct type is detected in 
the target table SelectTranslator sets 'suppressingDistinct' to true and 
DistinctResultIterator does NOT use full row comparisons (alternatively it 
could also use the PKs from both sides of the arc but that currently isn't 
implemented).

This causes only the first row that a foreign pk appears in to be used and the 
rest discarded, resulting in some to most of the relationships not being 
represented in the object model.

Expected behavior is for all arcs to show up in the object model regardless of 
the column types.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to