Re: About the usage of SUNQUERIED
Franck Routier <[email protected]> Wed, 26 Oct 2011 12:19:22 +0200
| Newsgroups | gmane.comp.java.orm.simpleorm |
|---|---|
| Message-ID | <[email protected]> |
--------------ms060906060701080400040102
Content-Type: multipart/alternative;
boundary="------------060605030806050307040707"
--------------060605030806050307040707
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi Jacques,
in fact an SUNQUERIED field won't be selected by default.
But if you want to set it in an existing record, you have to query it=20
explicitely.
So this should work:
elm =3D ses.find(SimpleTable.TABLE, SSelectMode.SALL, "n1"); // retrieve=20
all fields, incl. SUNQUERIED
elm.setString(DATA, "data1");
So for normal operation, DATA won't be on select list. But if you need=20
to use it, you must excplicitely put it on select list, either by using=20
SelectMode.SALL, or by providing a list of selected fields.
Does it make sense ?
Franck
Le 26/10/2011 12:09, Jacques Klein a =E9crit :
>
> I want a simple SQL table with two rows, so I do:
> SFieldString name =3D new SFieldString(TABLE, "NAME", 10,=20
> SPRIMARY_KEY);
> SFieldString data =3D new SFieldString(TABLE, "DATA", 1000,=20
> SUNQUERIED);
> Table creation is ok.
>
> Than I create an element using SDataLoader::
> myDL.insertRecords(new Object[][] { { "n1" } });
> I can only give the NAME otherwise I get a
> simpleorm.utils.SException$Error: 1 columns required in=20
> parameter array.
>
> Now I set the DATA with:
> elm =3D ses.find(SimpleTable.TABLE, "n1");
> elm.setString(DATA, "data1");
> and:
> ses.commit();
>
> Problem, I have following error (and there is no concurrency):
> simpleorm.dataset.SRecordInstance$BrokenOptimisticLockException:=20
> Broken Optimistic Lock [SimpleTable n1 Dirty0]
>
> If I use SDESCRIPTIVE instead SUNQUERIED for DATA, it's ok, but DATA=20
> will be a "Big String" and I don't want to "load" it when "SELECTing"=20
> or "UPDATing" (hence the SUNQUERIED)
>
> Tried this with version 3.11 and also with svn.
>
> Any help welcome, Jacques Klein
>
>
>
>=20
--------------060605030806050307040707
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta content=3D"text/html; charset=3DISO-8859-1"
http-equiv=3D"Content-Type">
</head>
<body bgcolor=3D"#FFFFFF" text=3D"#000000">
Hi Jacques,<br>
<br>
in fact an SUNQUERIED field won't be selected by default.<br>
But if you want to set it in an existing record, you have to query
it explicitely.<br>
<br>
So this should work:<br>
<br>
elm =3D ses.find(SimpleTable.TABLE, SSelectMode.SALL, "n1"); //
retrieve all fields, incl. SUNQUERIED<br>
elm.setString(DATA, "data1");<br>
<br>
So for normal operation, DATA won't be on select list. But if you
need to use it, you must excplicitely put it on select list, either
by using SelectMode.SALL, or by providing a list of selected fields.<br=
>
<br>
Does it make sense ?<br>
<br>
Franck<br>
<br>
<br>
Le 26/10/2011 12:09, Jacques Klein a écrit :
<blockquote
cite=3D"mid:[email protected]=
l.com"
type=3D"cite">
<span style=3D"display:none"> </span>
=20=20=20=20=20=20
<div id=3D"ygrp-text">
<p>I want a simple SQL table with two rows, so I do:<br>
SFieldString name =3D ne=
w SFieldString(TABLE, "NAME",
10, SPRIMARY_KEY);<br>
SFieldString data =3D ne=
w SFieldString(TABLE, "DATA",
1000, SUNQUERIED);<br>
Table creation is ok.<br>
<br>
Than I create an element using SDataLoader::<br>
myDL.insertRecords(new O=
bject[][] { { "n1" } });<br>
I can only give the NAME otherwise I get a <br>
simpleorm.utils.SExcepti=
on$Error: 1 columns
required in parameter array.<br>
<br>
Now I set the DATA with:<br>
elm =3D ses.find(SimpleT=
able.TABLE, "n1");<br>
elm.setString(DATA, "dat=
a1");<br>
and:<br>
ses.commit();<br>
<br>
Problem, I have following error (and there is no
concurrency):<br>
simpleorm.dataset.SRecordInstance$BrokenOptimisticLockExcepti=
on:
Broken Optimistic Lock [SimpleTable n1 Dirty0]<br>
<br>
If I use SDESCRIPTIVE instead SUNQUERIED for DATA, it's
ok, but DATA will be a "Big String" and I don't want to
"load" it when "SELECTing" or "UPDATing" (hence the
SUNQUERIED)<br>
<br>
Tried this with version 3.11 and also with svn.<br>
<br>
Any help welcome, Jacques Klein<br>
<br>
<br>
<br>
</p>
</div>
=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20
<!-- end group email -->
</blockquote>
<br>
</body>
</html>
--------------060605030806050307040707--
--------------ms060906060701080400040102
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Signature cryptographique S/MIME
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINaTCC
BjQwggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDE1NVoXDTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOr
lr6KMoOMpohBllVHrdRvEg/q6r8jR+EK75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSM
zR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC+y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6
qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxDz2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSD
kOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr/+N2JLKutIxMYqQOJebr/f/h5t95
m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFcfH6WNU7y1LhRgjAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqD
CH14qywGXLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy
6QMVQjbbMXltUfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPI
zKKR9tQW8gGK+2+RHxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKf
KSETEPrHh7p5shuuNktvsv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HOR
z9v3vQwR4e3ksLc2JZOAFK+ssS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9
sIPP7ON0fz095HdThKjiVJe6vofq+n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCie
uoBJ9OlqmsVWQvifIYf40dJPZkk9YgGTzWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7t
w1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGqUp/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQ
G2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb19mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t
5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHLTCCBhWgAwIBAgIDAvg4MA0GCSqGSIb3DQEB
BQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20g
Q2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcNMTEwOTEyMTkzNTU2
WhcNMTIwOTEzMTMyMTQ0WjBuMSAwHgYDVQQNExc1MDkwNzQtTE00aWdRSmUxUEJSNWhkQTEh
MB8GA1UEAwwYZnJhbmNrLnJvdXRpZXJAYXhlZ2UuY29tMScwJQYJKoZIhvcNAQkBFhhmcmFu
Y2sucm91dGllckBheGVnZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv
haYAiEiS0S70GwFKMjp/Wc00QrraFv9n7bBDWDqFuWSp87QIs39THQmNhgSbrJvhDP43k1UX
PWyjxoN7YDmbEBy3PwMk/44tEEUEATctuNBB33zlUBNMROV+ufVi6FH/NZ4LQuGavEhGbc0w
rzAwu5uxBaD7HoyGseRbueUPfdB4ukyeSe1Na5eObi0YJjfQQrl/fqmRfjCOpru4tSjgVPBY
5lFUs1YJsAqHvCCjnPsmdvX4OFEH3+QaVPCtgRbM2RLBu9dZ07/30HGbNkw65bxKmJmpuymO
VdyJzCLHNJMgzsYN8u63PDxUKAFV8yEekbiqmbVQt5tL+Z7Lrl+tAgMBAAGjggOzMIIDrzAJ
BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQw
HQYDVR0OBBYEFKrjuCkhWIAOo5qvgK7mjmZDNXuiMB8GA1UdIwQYMBaAFFNy7ZKc4NrLAVx8
fpY1TvLUuFGCMCMGA1UdEQQcMBqBGGZyYW5jay5yb3V0aWVyQGF4ZWdlLmNvbTCCAiEGA1Ud
IASCAhgwggIUMIICEAYLKwYBBAGBtTcBAgIwggH/MC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3
LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIH3BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgEBGoG+VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNz
dWVkIGFjY29yZGluZyB0byB0aGUgQ2xhc3MgMSBWYWxpZGF0aW9uIHJlcXVpcmVtZW50cyBv
ZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LCByZWxpYW5jZSBvbmx5IGZvciB0aGUgaW50ZW5k
ZWQgcHVycG9zZSBpbiBjb21wbGlhbmNlIG9mIHRoZSByZWx5aW5nIHBhcnR5IG9ibGlnYXRp
b25zLjCBnAYIKwYBBQUHAgIwgY8wJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkwAwIBAhpkTGlhYmlsaXR5IGFuZCB3YXJyYW50aWVzIGFyZSBsaW1pdGVkISBTZWUgc2Vj
dGlvbiAiTGVnYWwgYW5kIExpbWl0YXRpb25zIiBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5
LjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwu
Y3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2NzcC5zdGFydHNz
bC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6Ly9haWEuc3Rh
cnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xpZW50LmNhLmNydDAjBgNVHRIEHDAahhho
dHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGfYkMfovD467HaL
FpUg2fU6H0l04PsFhTDt+JPtxwTbuH7sROamTFEJImZdscAvJCY/17HMYyQqgTsyBBJBy740
g1EdaGKqCuZ21GZQMiEL1CaQaIbOtqKfnTujqkUYu9984MuCC5fiFx7dnNKwA0UR4sC8ti2S
7OGDsiDEjYzu6DsME1t6NoNVxvIjFEWTtg/o/UJad/2Buvts4Vdw6yCACyj/srFd+Y7te7Ro
kKFUUZK/UIn5PttyzN5iVO7Lcohe0lLqpulYLoBIuG5K77Pm/TOpV0cNyGsCWfvejLUVBesz
7Zxu5j4FZu9uSUaZTPRhqRy8ucOPO6neKUh+Q8wxggPQMIIDzAIBATCBlDCBjDELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFy
eSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMC+DgwCQYFKw4DAhoFAKCCAhAwGAYJKoZIhvcN
AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTExMDI2MTAxOTIyWjAjBgkqhkiG
9w0BCQQxFgQUSK3xLV9zLRBJ8J6m0oPal/f/FgkwXwYJKoZIhvcNAQkPMVIwUDALBglghkgB
ZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsO
AwIHMA0GCCqGSIb3DQMCAgEoMIGlBgkrBgEEAYI3EAQxgZcwgZQwgYwxCzAJBgNVBAYTAklM
MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0
aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50
ZXJtZWRpYXRlIENsaWVudCBDQQIDAvg4MIGnBgsqhkiG9w0BCRACCzGBl6CBlDCBjDELMAkG
A1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdp
dGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJp
bWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMC+DgwDQYJKoZIhvcNAQEBBQAEggEAh78r
gQtmpMbsDMaDUDMtXDGL2PUtxKwNUd1A0QDlxaBB7L289cX9ASmZvQzs/K7eYvxFedXPEYxa
w6eh/98ivPqlYAHlWRii4DYrwMcdGNFeQ0sSkUQCQQJmIDswSon/CwjltACIpR22sf6LxK/R
o5jBQUrXdJAk5/uHNl62RvTxA3dmxFKMWgKJ1hsmNbHTNL06AGHzE2jWqInLGOcXLps3F2lV
MVMvSxpBc8hOBF8SVNqPmux0/p3XjtML9AkTUJELnBpK4rwlPrEyoaC1VAFEn/8TkJh2v03P
U1hZefymfM6xF+DsxrCYppn3r7lNwTUTC6zbL6aJUzW9Uv+ZFgAAAAAAAA==
--------------ms060906060701080400040102--