Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 68144 invoked from network); 13 May 2008 12:49:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 May 2008 12:49:20 -0000 Received: (qmail 93929 invoked by uid 500); 13 May 2008 12:49:22 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 93762 invoked by uid 500); 13 May 2008 12:49:21 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 93751 invoked by uid 99); 13 May 2008 12:49:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 May 2008 05:49:21 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 May 2008 12:48:35 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6925A234C111 for ; Tue, 13 May 2008 05:48:56 -0700 (PDT) Message-ID: <1736437443.1210682936429.JavaMail.jira@brutus> Date: Tue, 13 May 2008 05:48:56 -0700 (PDT) From: "Christiaan (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Resolved: (OPENJPA-504) Duplicate order numbers in relationshiptable for the same List field In-Reply-To: <26011885.1201276897364.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christiaan resolved OPENJPA-504. -------------------------------- Resolution: Fixed Fix Version/s: 1.2.0 1.1.0 Fixed due to issue OPENJPA-567 > Duplicate order numbers in relationshiptable for the same List field > -------------------------------------------------------------------- > > Key: OPENJPA-504 > URL: https://issues.apache.org/jira/browse/OPENJPA-504 > Project: OpenJPA > Issue Type: Bug > Environment: Kodo 4.1.4 > Reporter: Christiaan > Fix For: 1.1.0, 1.2.0 > > > I now and then encounter entries in the relationship tables for List fields (id, element, ordr) non-unique entries for id, ordr. (Two elements are placed on the same index in the same list). I am not sure how to reproduce this, but I do have a question regarding the code in StoreCollectionFieldStrategy.load(): > ChangeTracker ct = null; > if (field.getTypeCode() == JavaTypes.ARRAY) > coll = new ArrayList(); > else { > coll = sm.newProxy(field.getIndex()); > if (coll instanceof Proxy) > ct = ((Proxy) coll).getChangeTracker(); > } > // load values > Result res = union.execute(store, fetch); > try { > int seq = 0; > while (res.next()) { > if (ct != null && field.getOrderColumn() != null) > seq = res.getInt(field.getOrderColumn()); > add(store, coll, loadElement(sm, store, fetch, res, > resJoins[res.indexOf()])); > } > if (ct != null && field.getOrderColumn() != null) > ct.setNextSequence(seq + 1); > } finally { > res.close(); > } > If I am not mistaken, this initializes the changetracker for list fields for persistent objects loaded from the database with an empty list attribute (res.next() = false) with order number of "1", whereas objects with non-empty List fields which are persisted start with an order number of "0". Could this be the reason that I now and then encounter duplicate entries in the relationship table with ordernr "1"? Actually this is also the reason why encounter duplicates for other numbers, since order number is zero based (next sequence number is initialized to size()), but as described, some lists start counting from "1". > kind regards, > Christiaan -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.