Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 69943 invoked from network); 2 Aug 2005 23:22:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Aug 2005 23:22:00 -0000 Received: (qmail 14022 invoked by uid 500); 2 Aug 2005 23:21:59 -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 14003 invoked by uid 99); 2 Aug 2005 23:21:59 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 16:21:59 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE 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; Tue, 02 Aug 2005 16:21:50 -0700 Received: from fe2.sun.com ([192.18.108.79]) by brmea-mail-4.sun.com (8.12.10/8.12.9) with ESMTP id j72NLvr3010696 for ; Tue, 2 Aug 2005 17:21:57 -0600 (MDT) Received: from conversion-daemon.fe2.sun.com by fe2.sun.com (Sun Java System Messaging Server 6.1 HotFix 0.02 (built Aug 25 2004)) id <0IKM00H01BHK2M00@fe2.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Tue, 02 Aug 2005 17:21:57 -0600 (MDT) Received: from [192.168.0.10] ([24.6.172.77]) by fe2.sun.com (Sun Java System Messaging Server 6.1 HotFix 0.02 (built Aug 25 2004)) with ESMTPSA id <0IKM00EZNBKKHOL0@fe2.sun.com> for jdo-dev@db.apache.org; Tue, 02 Aug 2005 17:21:57 -0600 (MDT) Date: Tue, 02 Aug 2005 16:21:59 -0700 From: Craig Russell Subject: Re: Additional fields for FieldsOfSimpleInterface, FieldsOfSimpleClass, FieldsOfObject In-reply-to: <42EFD16B.1070804@sun.com> To: jdo-dev@db.apache.org Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.733) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-293-836316445; micalg=sha1 References: <42EFD16B.1070804@sun.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Apple-Mail-293-836316445 Content-Type: multipart/alternative; boundary=Apple-Mail-292-836315940 --Apple-Mail-292-836315940 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi Michelle, On Aug 2, 2005, at 1:02 PM, Michelle Caisse wrote: > Hi, > > We would like to recognize three ways of mapping PC object types as > fields: > > 1. Serialized in the primary table () > 2. Embedded in the primary table () > 3. Referenced in a table of their own ( or > embedded not specified) For completeness, note that there are nine combinations: Serialization True = ST Serialization NotSpecified = SN Serialization False = SF Embedded True = ET Embedded NotSpecified = EN Embedded False = EF ST ET invalid ST EN ok (the following test cases) ST EF ok but not tested SN ET ok SN EN ok SN EF ok but not tested SF ET ok but not tested SF EN ok but not tested SF ET ok but not tested > > > The existing fieldtypes classes cover many combinations of cases, > but they do not cover serialized. I propose that we add 24 new > fields to FieldsOfSimpleInterface, FieldsOfSimpleClass, > FieldsOfObject, patterned on the existing fields for embedded, > added to the end of the sequence to avoid renumbering (taking > FieldsOfSimpleInterface as an example): > > "serialized= true private SimpleInterface SimpleInterface144", > "persistence-modifier= persistent serialized= true private > SimpleInterface SimpleInterface145", > "persistence-modifier= persistent serialized= true private > transient SimpleInterface SimpleInterface146", > "serialized= true private volatile SimpleInterface > SimpleInterface147", > "persistence-modifier= persistent serialized= true private > volatile SimpleInterface SimpleInterface148", > "persistence-modifier= persistent serialized= true private > transient volatile SimpleInterface SimpleInterface149" > "serialized= true public SimpleInterface SimpleInterface150", > "persistence-modifier= persistent serialized= true public > SimpleInterface SimpleInterface151", > "persistence-modifier= persistent serialized= true public > transient SimpleInterface SimpleInterface152", > "serialized= true public volatile SimpleInterface > SimpleInterface153", > "persistence-modifier= persistent serialized= true public > volatile SimpleInterface SimpleInterface154", > "persistence-modifier= persistent serialized= true public > transient volatile SimpleInterface SimpleInterface155", > "serialized= true protected SimpleInterface SimpleInterface156", > "persistence-modifier= persistent serialized= true protected > SimpleInterface SimpleInterface157", > "persistence-modifier= persistent serialized= true protected > transient SimpleInterface SimpleInterface158", > "serialized= true protected volatile SimpleInterface > SimpleInterface159", > "persistence-modifier= persistent serialized= true protected > volatile SimpleInterface SimpleInterface160", > "persistence-modifier= persistent serialized= true protected > transient volatile SimpleInterface SimpleInterface161", > "serialized= true SimpleInterface SimpleInterface162", > "persistence-modifier= persistent serialized= true > SimpleInterface SimpleInterface163", > "persistence-modifier= persistent serialized= true transient > SimpleInterface SimpleInterface164", > "serialized= true volatile SimpleInterface SimpleInterface165", > "persistence-modifier= persistent serialized= true volatile > SimpleInterface SimpleInterface166", > "persistence-modifier= persistent serialized= true transient > volatile SimpleInterface SimpleInterface167" > > The mapping and schema for the three cases would be: > ... > > > > > > > column="SIMPLEINTERFACE102" embedded="false"> > > > column="SIMPLEINTERFACE102" serialized="true"/> > ... > > CREATE TABLE FIELDSOFSIMPLEINTERFACE > ( > IDENTIFIER INTEGER NOT NULL, > INTFIELD1 INTEGER, STRINGFIELD1 VARCHAR(1024), > SIMPLEINTERFACE102 BIGINT REFERENCES SIMPLE_CLASS, > SIMPLEINTERFACE144 LONG VARCHAR FOR BIT DATA, > ... > ) > > Comments? Looks good. Craig > > -- 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-292-836315940 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 Hi = Michelle,

On Aug 2, 2005, at 1:02 PM, Michelle Caisse = wrote:

Hi,

We would like = to recognize three ways of mapping PC object types as fields:

1. = Serialized in the primary table (<field = serialized=3D"true">)
2. Embedded = in the primary table (<field embedded=3D"true">)
3. Referenced in a table of their own (<field = embedded=3D"false"> or embedded not = specified)

For completeness, note that = there are nine combinations:
Serialization True =3D = ST
Serialization NotSpecified =3D SN
Serialization = False =3D SF
Embedded True =3D ET
Embedded = NotSpecified =3D EN
Embedded False =3D EF

ST ET invalid
ST = EN ok (the following test cases)
ST EF ok=A0but not = tested
SN ET ok
SN EN ok
SN EF ok=A0but = not tested
SF ET ok but not tested
SF EN ok but not = tested
SF ET ok but not tested



The existing = fieldtypes classes cover many combinations of cases, but they do not = cover serialized. I propose that we add 24 new fields to = FieldsOfSimpleInterface, FieldsOfSimpleClass, FieldsOfObject, patterned = on the existing fields for embedded, added to the end of the sequence to = avoid renumbering (taking FieldsOfSimpleInterface as an = example):

"serialized=3D true =A0 private SimpleInterface = SimpleInterface144",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 private = SimpleInterface SimpleInterface145",
=A0 serialized=3D true =A0 private transient = SimpleInterface SimpleInterface146",
"serialized=3D = true =A0 private volatile = SimpleInterface SimpleInterface147",
=A0 serialized=3D true =A0 private volatile = SimpleInterface SimpleInterface148",
=A0 serialized=3D true =A0 private transient volatile = SimpleInterface SimpleInterface149"
"serialized=3D = true =A0 public = SimpleInterface SimpleInterface150",
=A0 serialized=3D true =A0 public SimpleInterface = SimpleInterface151",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 public transient = SimpleInterface SimpleInterface152",
"serialized=3D = true =A0 public volatile = SimpleInterface SimpleInterface153",
=A0 serialized=3D true =A0 public volatile = SimpleInterface SimpleInterface154",
=A0 serialized=3D true =A0 public transient volatile = SimpleInterface SimpleInterface155",
"serialized=3D = true =A0 protected = SimpleInterface SimpleInterface156",
=A0 serialized=3D true =A0 protected SimpleInterface = SimpleInterface157",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 protected = transient SimpleInterface SimpleInterface158",
"serialized=3D true =A0 protected volatile = SimpleInterface SimpleInterface159",
=A0 serialized=3D true =A0 protected volatile = SimpleInterface SimpleInterface160",
=A0 serialized=3D true =A0 protected transient volatile = SimpleInterface SimpleInterface161",
"serialized=3D = true =A0 SimpleInterface = SimpleInterface162",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 SimpleInterface = SimpleInterface163",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 transient = SimpleInterface SimpleInterface164",
"serialized=3D = true =A0 volatile = SimpleInterface SimpleInterface165",
=A0 serialized=3D true =A0 volatile SimpleInterface = SimpleInterface166",
"persistence-modifier=3D = persistent=A0 serialized=3D = true =A0 transient volatile = SimpleInterface SimpleInterface167"

The mapping and schema for the = three cases would be:
...
=A0=A0 =A0 =A0 = =A0 =A0 <field name=3D"SimpleInterface1" >
=A0=A0 =A0 =A0 = =A0 =A0 =A0 =A0 <embedded>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = <field name=3D"intField" column=3D"INTFIELD1"/>
=A0=A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 <field name=3D"stringField" = column=3D"STRINGFIELD1"/>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 = </embedded>
=A0=A0 =A0 =A0 =A0 =A0 = </field>
=A0=A0 =A0 =A0 =A0 =A0 <field = name=3D"SimpleInterface102" column=3D"SIMPLEINTERFACE102" = embedded=3D"false">
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = <foreign-key/>
=A0 =A0 =A0 =A0 =A0 =A0 = </field>
=A0=A0 =A0 =A0 =A0 =A0 <field = name=3D"SimpleInterface144" column=3D"SIMPLEINTERFACE102" = serialized=3D"true"/>
=A0=A0 =A0 =A0 =A0 =A0 = ...

CREATE TABLE FIELDSOFSIMPLEINTERFACE
(
=A0=A0 IDENTIFIER INTEGER NOT = NULL,
=A0=A0 INTFIELD1 INTEGER, = STRINGFIELD1 VARCHAR(1024),
=A0=A0 SIMPLEINTERFACE102 BIGINT = REFERENCES SIMPLE_CLASS,
=A0=A0 SIMPLEINTERFACE144 LONG = VARCHAR FOR BIT DATA,
...
)
Looks good.=A0

Craig


-- 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-292-836315940-- --Apple-Mail-293-836316445 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGHjCCAtcw ggJAoAMCAQICAw3FWTANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0EwHhcNMDUwMTEwMDA0MTA5WhcNMDYwMTEwMDA0MTA5WjBHMR8wHQYDVQQD ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSQwIgYJKoZIhvcNAQkBFhVDcmFpZy5SdXNzZWxsQFN1 bi5DT00wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDti7ZE4rO6oXKbLM02AG9WY55t udmBVL53fb3V3X5S1kvcJOk1NEMIYT/T7Ww+/hE955zvHT29+mIoNe8AW/yj1WUH8uGG2HxhwCHI UQTHmN/ioVJgjwUaYbtNMKbL/NRpnL0QWewdMJS+6IFzFyX7ADFW5cJ+UWNLvNeWAQtN0mtLildn vdOgh50i8YPvACNkCHoomGjXx0azcXbe1X3c5AgRI6e2CZe5k2lRFQFUMqkjdoMtQPoNqJ1BxH9l i4cnabl8mcTwHHl44hrvb8ThqwRf2pfJh2vVuwmgK6z4IWjOk4RQM+0ODsRdq67mBdimJYmPMK1p RMBHzrUsfKxNAgMBAAGjMjAwMCAGA1UdEQQZMBeBFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTAMBgNV HRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAIj86LzxCHedStDLMEeqHLy+UFG7zIRHfChSIV42 +MvXicydXEBh8v0Ry1V2d/lY4jS78G5yW5R9fKt1U5nlRBCOVzdhomvSolnNRIT71wPVVDrAIVlA YpXKxSmVBq7+4hV+3ZLHDeq3qZnNmiJR0sTEUD16xZX1RJs9dRYPCHoRMIIDPzCCAqigAwIBAgIB DTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTES MBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMf Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFs IEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29t MB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoT HFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBG cmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnK mVoeaMB1BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbL rzwLB+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZ cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0 cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYDVR0PBAQD AgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG9w0B AQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAgk3A8/a3h YWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghOrvbqNOUQGls1 TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAucwggLjAgEBMGkwYjELMAkGA1UEBhMCWkExJTAjBgNV BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h bCBGcmVlbWFpbCBJc3N1aW5nIENBAgMNxVkwCQYFKw4DAhoFAKCCAVMwGAYJKoZIhvcNAQkDMQsG CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDUwODAyMjMyMjAwWjAjBgkqhkiG9w0BCQQxFgQU OzwdXYXVfaTyuTn9yzcjJ4mPpikweAYJKwYBBAGCNxAEMWswaTBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAw3FWTB6BgsqhkiG9w0BCRACCzFroGkwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1Ro YXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMNxVkwDQYJKoZIhvcNAQEBBQAEggEA 4JnvtIww4qHyn+tt5VACQ+x2p+psa4VmifCJLlUMH0p/y+TQcQUNBDfcVWPvEl0YClPY00Uh6SAd YIsC4x4nSPWcU68prde8ebjf2wv0rPKKAppfkNXOfin9+t0OAKuDTCIK0Rh7KDKdxyp4IZhV48lu /KpL1sQndK8FO3QGg6FdaWYuSRf7Xs4RpYubPEO2/vinmAnJ0+qOPar30BGK2NE19es6bYqryFKL yG2ssHm5K7sOeuF7zDUDSLttDO3vpcpFvDVYupG+1p/y9gBwpaGrKBkVocHqYyeS+jrOvy5spJx+ ldFv5w5eObMOJy5Y67VLVhAei8y1DFD+jJzAwgAAAAAAAA== --Apple-Mail-293-836316445--