Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 89657 invoked from network); 3 Nov 2006 17:57:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2006 17:57:54 -0000 Received: (qmail 84998 invoked by uid 500); 3 Nov 2006 17:58:05 -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 84987 invoked by uid 99); 3 Nov 2006 17:58:05 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Nov 2006 09:58:05 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [192.18.42.249] (HELO nwk-ea-fw-1.sun.com) (192.18.42.249) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Nov 2006 09:57:50 -0800 Received: from d1-sfbay-09.sun.com ([192.18.39.119]) by nwk-ea-fw-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id kA3HvMac003075 for ; Fri, 3 Nov 2006 09:57:26 -0800 (PST) Received: from conversion-daemon.d1-sfbay-09.sun.com by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) id <0J8600D011FK7S00@d1-sfbay-09.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Fri, 03 Nov 2006 09:57:22 -0800 (PST) Received: from [129.144.89.142] by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPSA id <0J8600J051VL1O70@d1-sfbay-09.sun.com> for jdo-dev@db.apache.org; Fri, 03 Nov 2006 09:57:21 -0800 (PST) Date: Fri, 03 Nov 2006 09:57:19 -0800 From: Craig L Russell Subject: Minutes: JDO TCK Conference Call Friday, Nov 2, 9 am PST Sender: Craig.Russell@Sun.COM To: Apache JDO project Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.752.2) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-32--414153302; micalg=sha1 References: <454A60AA.9030704@sun.com> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-32--414153302 Content-Type: multipart/alternative; boundary=Apple-Mail-31--414153933 --Apple-Mail-31--414153933 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Attendees: Matthew Adams, Michael Bouschen, Craig Russell Agenda: 1. Date arithmetic in queries: There are at least two different issues here: 1a. Retrieving the date from the server. In Oracle, you can SELECT CURRENT_DATE FROM DUAL. In JDOQL, we have no special persistent class that has a singleton, to request that exactly one element is returned. We could use void.class, or null as the candidate class, or JDOHelper, or PersistenceManagerFactory. The query would look like "Select xxx From void". Another way to handle this would be to add an API to PersistenceManagerFactory, e.g. Xxx currentDate(). 1b. Using the date in the WHERE clause. Most of the interesting methods on Date have been deprecated in favor of Calendar. We could use Calendar.getInstance() which would return the instance in the time zone and locale of the server. We can support comparisons of this Calendar with fields of type Date. In order to support date arithmetic, we could use the add(int field, int amount) method to change various fields. For portability, we should specify which calendar fields must be supported by an implementation, e.g. Calendar.DAY_OF_MONTH. An issue is that the signature of add returns void. So you can't use the result of add for anything. I suppose we could follow the example of StringBuffer and have the result of add be a Calendar, returning this. Similarly, methods roll, set, setTime, setTimeInMillis, getTime, and getTimeInMillis might be considered as required or optional. This should depend on the common functionality of database back ends for the required methods, and implementations could choose to add more supported methods. If the candidate collection is an extent or the result of an extent query, then the Calendar functionality refers to the database back end. If the candidate collection is a collection, then it refers to the VM. 2. New subprojects for JDK 1.5 support: There are two ways to distinguish the artifacts. One is to use a different artifact id; the other is to use a different version number. The projects that need different content are the api20 and tck20 projects. These probably will be branched for the different artifacts. The trunk should continue with the jdk15 support; the earlier support would be branched. 3. Other issues none Craig Action Items from weeks past: [Oct 27 2006] AI: Matthew add comment to JDO-403 regarding split between JDO and ORM annotations.. [Sep 1 2006] AI Craig check into default handling to accommodate different defaults for annotations (?) based on context. In progress. [Aug 11 2006] AI Craig propose some semantics for behavior if user tries to add to a list where the ordering element is incorrect. [Jul 14 2006] AI: Erik document 220 annotations that don't have a corresponding JDO concept. [Jun 23 2006] AI Martin look at what Hibernate and TopLink support for Enum types. In progress. [Apr 14 2006] AI Craig: update the roadmap for JDO. In progress. [Nov 4 2005] AI Martin: Update Martin's wiki with discusion of JDK 1.5 issues. In progress [Sep 2 2005] AI: To recruit members, update the web site. Articles on TheServerSide directing attention to the site. T-shirts, logo. AI: Craig write a ServerSide article. -- Michelle 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-31--414153933 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1
Attendees: Matthew Adams,=A0Michael Bouschen, Craig = Russell


1. Date arithmetic in queries: There are at least = two different issues here:=A0

1a. = Retrieving the date from the server. In Oracle, you can SELECT = CURRENT_DATE FROM DUAL. In JDOQL, we have no special persistent class = that has a singleton, to request that exactly one element is returned. = We could use void.class, or null as the candidate class, or JDOHelper, = or PersistenceManagerFactory. The query would look like "Select xxx =46rom= void".=A0Another way to handle this would be to add an API to = PersistenceManagerFactory, e.g. Xxx currentDate().=A0

1b. Using the date in the WHERE clause. Most of the = interesting methods on Date have been deprecated in favor of Calendar. = We could use Calendar.getInstance() which would return the instance in = the time zone and locale of the server. We can support comparisons of = this Calendar with fields of type Date. In order to support date = arithmetic, we could use the add(int field, int amount) method to change = various fields. For portability, we should specify which calendar fields = must be supported by an implementation, e.g. Calendar.DAY_OF_MONTH. An = issue is that the signature of add returns void. So you can't use the = result of add for anything. I suppose we could follow the example of = StringBuffer and have the result of add be a Calendar, returning this. = Similarly, methods roll, set, setTime, setTimeInMillis, getTime, and = getTimeInMillis might be considered as required or optional. This should = depend on the common functionality of database back ends for the = required methods, and implementations could choose to add more supported = methods.

If the = candidate collection is an extent or the result of an extent query, then = the Calendar functionality refers to the database back end. If the = candidate collection is a collection, then it refers to the = VM.=A0

2.=A0 = New subprojects for JDK 1.5 support: There are two ways to = distinguish the artifacts. One is to use a different artifact id; the = other is to use a different version number. The projects that need = different content are the api20 and tck20 projects. These probably will = be branched for the different artifacts. The trunk should continue with = the jdk15 support; the earlier support would be branched.=A0

3. Other = issues



Action Items from weeks past:

[Oct 27 = 2006]=A0 AI: Matthew add = comment to JDO-403 regarding split between JDO and ORM = annotations..

[Sep 1 2006] AI Craig=A0 check into default handling = to accommodate different defaults for annotations (?) based=A0 on context. In = progress.

[Aug 11 2006] AI Craig propose some semantics for = behavior if user tries to add to a list where the ordering element is = incorrect.

[Jul 14 2006] AI: Erik document 220 annotations that = don't have a=A0 = corresponding JDO concept.

[Jun 23 2006]=A0 AI=A0 Martin look at what Hibernate = and TopLink support for Enum types. In progress.

[Apr 14 = 2006] AI Craig: update the roadmap for JDO. In progress.

[Nov 4 = 2005] AI Martin: Update Martin's wiki with discusion of JDK 1.5 issues. = In progress

[Sep 2 2005] AI: To recruit members, update the web = site. Articles on TheServerSide directing attention to the site. = T-shirts, logo. AI:=A0 = Craig write a ServerSide article.

-- = Michelle

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-31--414153933-- --Apple-Mail-32--414153302 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 AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYxMTAzMTc1NzIwWjAjBgkqhkiG9w0B CQQxFgQUNgO1AMqVToJIU73QUYGVv9o4lmAwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe2O3yx5iqHh01HW7WK76QMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe 2O3yx5iqHh01HW7WK76QMA0GCSqGSIb3DQEBAQUABIIBAF804ayqVvK73sSC5XkVPXMub3aCA4x+ M1n5OXCAsFZk10JoRTwDx+v9XaSa4tdA11mrvkIi+yiYQA9+Ejozz9R11F6xeUaMh0eccmCjjcYA oTgBmqoqh9ey3uIoc9A/9+lcRMaZZ23OlggKXAPfJWwKHeYJiTf7YVNA2W9TCpDx4AEP1DesVyzO hLp8sS8whFsjYfQYN8q7AAbj6o1Lh+EWhtZdRKDJZZgiXjhvlgDX/nZv/RAhnu0AiLoYNvIfqVHL KH0gR5gWdoDmKeif8CWcgR7CfZnqIXDSifysgQDxE/6nDoU43WXoTxy9Kriv7PpVYE/yD6OGurLb IElId0QAAAAAAAA= --Apple-Mail-32--414153302--