Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 94943 invoked from network); 16 Jan 2006 19:34:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 16 Jan 2006 19:34:48 -0000 Received: (qmail 99258 invoked by uid 500); 16 Jan 2006 19:34:48 -0000 Mailing-List: contact jdo-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jdo-dev@db.apache.org Delivered-To: mailing list jdo-dev@db.apache.org Received: (qmail 99246 invoked by uid 99); 16 Jan 2006 19:34:48 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Jan 2006 11:34:48 -0800 X-ASF-Spam-Status: No, hits=0.3 required=10.0 tests=HTML_MESSAGE,MAILTO_TO_SPAM_ADDR,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.98.36] (HELO brmea-mail-4.sun.com) (192.18.98.36) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Jan 2006 11:33:56 -0800 Received: from fe-amer-04.sun.com ([192.18.108.178]) by brmea-mail-4.sun.com (8.12.10/8.12.9) with ESMTP id k0GJXZuf004296 for ; Mon, 16 Jan 2006 12:33:35 -0700 (MST) Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0IT700B01ABGAH00@mail-amer.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Mon, 16 Jan 2006 12:33:35 -0700 (MST) Received: from [192.168.0.10] (c-24-6-172-77.hsd1.ca.comcast.net [24.6.172.77]) by mail-amer.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0IT700A18ABXPH00@mail-amer.sun.com> for jdo-dev@db.apache.org; Mon, 16 Jan 2006 12:33:35 -0700 (MST) Date: Mon, 16 Jan 2006 11:33:32 -0800 From: Craig L Russell Subject: Fwd: [Issue 154] New - EJBQL: bulk UPDATE statement should not update version columns Sender: Craig.Russell@Sun.COM To: JDO Expert Group , Apache JDO project Message-id: <7F7572AF-3E71-45E7-A65E-5189EF38581B@Sun.COM> MIME-version: 1.0 X-Mailer: Apple Mail (2.746.2) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-45-219023291; micalg=sha1 References: <20060116095152562.00000000284@pkrogh-lap> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Apple-Mail-45-219023291 Content-Type: multipart/alternative; boundary=Apple-Mail-44-219022829 --Apple-Mail-44-219022829 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Interesting anomaly with object relational mapping query language update semantics. Apparently, it's not too useful with versioned classes using optimistic concurrency. Begin forwarded message: > From: Peter Krogh > Date: January 16, 2006 6:51:52 AM PST > To: "persistence@glassfish.dev.java.net" > > Cc: "Michael.Bouschen@Sun.COM" > Subject: RE: [Issue 154] New - EJBQL: bulk UPDATE statement should > not update version columns > Reply-To: persistence@glassfish.dev.java.net > > I imagine the reason why this was removed from the spec is because > of the row count. How do you know if you should throw an > optimistic lock exception since you don't know how many objects > were modified? > > > -----Original Message----- > From: Craig.Russell@Sun.COM [mailto:Craig.Russell@Sun.COM]On Behalf > Of Craig L Russell > Sent: Friday, January 13, 2006 8:25 PM > To: persistence@glassfish.dev.java.net > Cc: Michael.Bouschen@Sun.COM > Subject: Re: [Issue 154] New - EJBQL: bulk UPDATE statement should > not update version columns > > Hi, > > I'd suggest waiting to hear from the spec lead(s) before doing > anything with this bug report. I understand that this is a spec bug. > > Craig > > On Jan 13, 2006, at 12:11 PM, Marina Vatkina wrote: > >> Hi Michael, >> >> Isn't the spec requirement wrong? While it might be >> tricky to update version column of all tables, if >> bulk update doesn't do it, any parallel tx can override the changes. >> >> thanks, >> -marina >> >> ----- Original Message ----- >> From: mb124283@dev.java.net >> Date: Friday, January 13, 2006 11:11 am >> Subject: [Issue 154] New - EJBQL: bulk UPDATE statement should not >> update version columns >> >>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=154 >>> Issue #|154 >>> Summary|EJBQL: bulk UPDATE statement should not >>> update version >>> | columns >>> Component|glassfish >>> Version|9.0pe >>> Platform|All >>> OS/Version|All >>> URL| >>> Status|NEW >>> Status whiteboard| >>> Keywords| >>> Resolution| >>> Issue type|TASK >>> Priority|P3 >>> Subcomponent|entity-persistence >>> Assigned to|tware >>> Reported by|mb124283 >>> >>> >>> >>> >>> >>> >>> ------- Additional comments from mb124283@dev.java.net Fri Jan 13 >>> 19:11:47 +0000 2006 ------- >>> The PFD version of the EJB3 persistence spec clarifies that an >>> EJBQL bulk UPDATE >>> statement does not update version columns. >>> >>> Today the EJBQL query >>> UPDATE Customer c SET c.name = 'CHANGED' >>> is mapped to the following SQL: >>> UPDATE CMP3_CUSTOMER >>> SET NAME = 'CHANGED', CUST_VERSION = (CUST_VERSION + 1) >>> >>> -------------------------------------------------------------------- >>> - >>> To unsubscribe, e-mail: issues-unsubscribe@glassfish.dev.java.net >>> For additional commands, e-mail: issues-help@glassfish.dev.java.net >>> >>> > > Craig Russell > Architect, Sun Java Enterprise System http://java.sun.com/products/jdo > 408 276-5638 mailto:Craig.Russell@sun.com > P.S. A good JDO? O, Gasp! > Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-44-219022829 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 Interesting anomaly with object = relational mapping query language update semantics. Apparently, it's not = too useful with versioned classes using optimistic = concurrency.

Begin forwarded message:

From: = Peter Krogh <peter.krogh@oracle.com>
Date: January 16, 2006 6:51:52 AM = PST
Subject: RE: [Issue 154] New - EJBQL: bulk = UPDATE statement should not update version columns
I imagine the reason why = this was removed from the spec is because of the row count.=A0 How do = you know if you should throw an optimistic lock exception since you = don't know how many objects were modified?
=
=A0
=A0
-----Original Message-----
From: = Craig.Russell@Sun.COM [mailto:Craig.Russell@Sun.COM]= On Behalf Of Craig L Russell
Sent: Friday, January 13, = 2006 8:25 PM
To: persistence@glassfish.d= ev.java.net
Cc: Michael.Bouschen@Sun.COM
<= B>Subject: Re: [Issue 154] New - EJBQL: bulk UPDATE statement = should not update version columns

Hi,

I'd suggest waiting to = hear from the spec lead(s) before doing anything with this bug report. = I understand that this is a spec bug.

Craig

=
On Jan 13, 2006, at 12:11 PM, Marina Vatkina wrote:

Hi Michael,

Isn't the = spec requirement wrong? While it might be
tricky to update version column of all tables, = if
bulk update doesn't do it, any parallel tx can = override the changes.

thanks,
-marina

----- Original = Message -----
=
Date: Friday, January 13, 2006 11:11 am
=
Subject: [Issue 154] New - EJBQL: bulk = UPDATE statement should not update version columns

=
Issue #|154
Summary|EJBQL: bulk UPDATE = statement should not =
update version
=
| = columns
Component|glassfish
=
Version|9.0pe
Platform|All
OS/Version|All
URL|
Status|NEW
Status = whiteboard|
Keywords|
Resolution|
Issue = type|TASK
Priority|P3
Subcomponent|entity-persistence
Assigned to|tware
=
Reported by|mb124283
=






------- Additional comments from mb124283@dev.java.net Fri Jan = 13
19:11:47 +0000 2006 -------
The PFD version of the EJB3 persistence spec = clarifies that an
=
EJBQL bulk UPDATE
statement does not update version columns.

Today the EJBQL query
UPDATE = Customer c SET c.name =3D 'CHANGED'
is mapped to the following SQL:
UPDATE = CMP3_CUSTOMER
SET NAME =3D 'CHANGED', = CUST_VERSION =3D (CUST_VERSION + 1)

--------------------------------------------------------------------<= /DIV>
-
For = additional commands, e-mail: issues-help@glassfish.d= ev.java.net



Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo=
P.S. A good JDO? O, = Gasp!


Craig Russell

Architect, Sun Java = Enterprise System http://java.sun.com/products/jdo=

408 = 276-5638 mailto:Craig.Russell@sun.com

P.S. A = good JDO? O, Gasp!


= --Apple-Mail-44-219022829-- --Apple-Mail-45-219023291 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICEB7Y7fLHmKoeHTUdbtYrvpAwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA1MTIxNTIxNDc0NFoXDTA2MTIxNTIxNDc0 NFowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMXXgEAm88nu8cFbxXSWqTq+GaYpCx/0QSom 8kBbVxpJIURuO4ErLDupeXu6y9+5e7ZKLbeSQE5xbfYPcQR/IhqmYKy5YqRcuzPXREBj2zKEkZph pNXWpHgMdx9W8dq0Cu2i9Ux/S6c2MuEHrP6gfGGll+b/mzLoO280QHTuE4pcpKntRnwZdGxQ/5l8 IL+eLP+jpJAbYW9C+KNKofZtS6V6R0uzlqTOsEdZvwxZQ4mmPgHoz1+Gjwme/PC5sKvF09MaJDiI pj9SvZ4CTCgcDZV78J086YwlVbMC0VQotjhu1p42lr8CS33IXLz3OWNrDETCAepah/Dgw2ZZApQ9 9L0CAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEEBQADgYEAKdIkgAWCg2Bi7ocnstfJA4iymTRI2/L4oQx9zvllM9bNJ2cR cecJIx3HuoHbhPvemh1GExEPgHU+dXSxDmD0BEmPnhSReKCURyslnbMphPZ5kR6USzQFrRa+v0ii J+SBO9VQYTQWT+xEjmRLM76MfkBFw3IOC9CUkRoYZ88pOoUwggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECEB7Y7fLHmKoeHTUdbtYrvpAwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwMTE2MTkzMzMzWjAjBgkqhkiG9w0B CQQxFgQUTKGxQXyAGMl54G973pKyged4mtgwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe2O3yx5iqHh01HW7WK76QMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe 2O3yx5iqHh01HW7WK76QMA0GCSqGSIb3DQEBAQUABIIBABN3gK1ny5DulYEXLKZ9xQGjF9D1X8Ce 2l1KMWUC1RkXu8CvrrDID+w+atO6ZgJ2lJfeSt+vRn8nZuS7tBfOUpXHB1NkBscpoHLUuEzww1QB PoI7mgke2C2CIf/6ZOwlzowJsei8/XDVFknDLUYKZss7YKws3kXrQqTZa7a3c4dP+TIApR1LYcMb KQgSe9SYUgDbsi3Ykvmy010KKBv+oWW/CFN0iLsQ6wsYUuEJVHYMaOyKSDFLs5S/f1piIwqRSQLu oM9g0Mg0VYiFcO3LB1u066ubHvQHHg5f/NiYoo5JdG8jAqrjq+X4tdqziNARp+A/LECvZAHqn4ih 05aJvC4AAAAAAAA= --Apple-Mail-45-219023291--