You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2014/12/16 17:02:13 UTC

[jira] [Commented] (CAY-1979) Prefetches on Many-to-Many Relationships with Longvarchar

    [ https://issues.apache.org/jira/browse/CAY-1979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14248405#comment-14248405 ] 

Andrus Adamchik commented on CAY-1979:
--------------------------------------

Were able to reproduce the problem (thanks for a good description - it is a confluence of all the parameters here - disjoint prefetch, many-to-many, LONGVARCHAR columns). Now working on a fix. 

I guess a temp workaround may be to switch to joint prefetches to disjoint-by-id. Those seem unaffected.

> 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
>            Assignee: Andrus Adamchik
>            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)