cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Borut Bolčina" <borut.bolc...@gmail.com>
Subject Re: delete from ... where ... in (...)
Date Thu, 24 Jul 2008 07:10:19 GMT
Hi,

I tried removing with

Expression qual = ExpressionFactory.inExp("id", eventIds);
DeleteQuery deleteQuery = new DeleteQuery(Event.class, qual); // DEPRECATED

which gives:
 INFO [24 Jul 2008 08:52:01.319] SELECT t0.location, t0.date_to,
t0.url_event, t0.type, t0.id, t0.category, t0.title, t0.price,
t0.url_provider, t0.description, t0.subcateg
ory, t0.date_from, t0.name_provider, t0.time_from_list FROM event t0 WHERE
t0.url_provider LIKE ? [bind: 1->url_provider:'http://www.acme.com/']
 INFO [24 Jul 2008 08:52:01.421] === returned 410 rows. - took 102 ms.
 INFO [24 Jul 2008 08:52:01.422] +++ transaction committed.
 INFO [24 Jul 2008 08:52:01.422] Removing all(410) previous events...
 INFO [24 Jul 2008 08:52:01.441] --- will run 1 query.
 INFO [24 Jul 2008 08:52:01.442] --- transaction started.
 INFO [24 Jul 2008 08:52:01.459] DELETE FROM event WHERE id IN (?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?
, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
 ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?
, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
 ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?) [bind: 1->id:0, 2->id:1, 3->id:2, 4->id:3, 5->id:4, 6->id:5,
7->id:6, 8->id:7, 9->
id:8, 10->id:9, 11->id:10, 12->id:11, 13->id:12, 14->id:13, 15->id:14,
16->id:15, 17->id:16, 18->id:17, 19->id:18, 20->id:19, 21->id:20, 22->id:21,
23->id:22, 24->id:23, 25
->id:24, 26->id:25, 27->id:26, 28->id:27, 29->id:28, 30->id:29, 31->id:30,
32->id:31, 33->id:32, 34->id:33, 35->id:34, 36->id:35, 37->id:36, 38->id:37,
39->id:38, 40->id:39
, 41->id:40, 42->id:41, 43->id:42, 44->id:43, 45->id:44, 46->id:45,
47->id:46, 48->id:47, 49->id:48, 50->id:49, 51->id:50, 52->id:51, 53->id:52,
54->id:53, 55->id:54, 56->i
d:55, 57->id:56, 58->id:57, 59->id:58, 60->id:59, 61->id:60, 62->id:61,
63->id:62, 64->id:63, 65->id:64, 66->id:65, 67->id:66, 68->id:67, 69->id:68,
70->id:69, 71->id:70, 7
2->id:71, 73->id:72, 74->id:73, 75->id:74, 76->id:75, 77->id:76, 78->id:77,
79->id:78, 80->id:79, 81->id:80, 82->id:81, 83->id:82, 84->id:83, 85->id:84,
86->id:85, 87->id:8
6, 88->id:87, 89->id:88, 90->id:89, 91->id:90, 92->id:91, 93->id:92,
94->id:93, 95->id:94, 96->id:95, 97->id:96, 98->id:97, 99->id:98,
100->id:99, 101->id:100, 102->id:101,
 103->id:102, 104->id:103, 105->id:104, 106->id:105, 107->id:106,
108->id:107, 109->id:108, 110->id:109, 111->id:110, 112->id:111,
113->id:112, 114->id:113, 115->id:114, 11
6->id:115, 117->id:116, 118->id:117, 119->id:118, 120->id:119, 121->id:120,
122->id:121, 123->id:122, 124->id:123, 125->id:124, 126->id:125,
127->id:126, 128->id:127, 129->
id:128, 130->id:129, 131->id:130, 132->id:131, 133->id:132, 134->id:133,
135->id:134, 136->id:135, 137->id:136, 138->id:137, 139->id:138,
140->id:139, 141->id:140, 142->id:
141, 143->id:142, 144->id:143, 145->id:144, 146->id:145, 147->id:146,
148->id:147, 149->id:148, 150->id:149, 151->id:150, 152->id:151,
153->id:152, 154->id:153, 155->id:154
, 156->id:155, 157->id:156, 158->id:157, 159->id:158, 160->id:159,
161->id:160, 162->id:161, 163->id:162, 164->id:163, 165->id:164,
166->id:165, 167->id:166, 168->id:167, 1
69->id:168, 170->id:169, 171->id:170, 172->id:171, 173->id:172, 174->id:173,
175->id:174, 176->id:175, 177->id:176, 178->id:177, 179->id:178,
180->id:179, 181->id:180, 182-
>id:181, 183->id:182, 184->id:183, 185->id:184, 186->id:185, 187->id:186,
188->id:187, 189->id:188, 190->id:189, 191->id:190, 192->id:191,
193->id:192, 194->id:193, 195->id
:194, 196->id:195, 197->id:196, 198->id:197, 199->id:198, 200->id:199,
201->id:200, 202->id:201, 203->id:202, 204->id:203, 205->id:204,
206->id:205, 207->id:206, 208->id:20
7, 209->id:208, 210->id:209, 211->id:210, 212->id:211, 213->id:212,
214->id:213, 215->id:214, 216->id:215, 217->id:216, 218->id:217,
219->id:218, 220->id:219, 221->id:220,
222->id:221, 223->id:222, 224->id:223, 225->id:224, 226->id:225,
227->id:226, 228->id:227, 229->id:228, 230->id:229, 231->id:230,
232->id:231, 233->id:232, 234->id:233, 235
->id:234, 236->id:235, 237->id:236, 238->id:237, 239->id:238, 240->id:239,
241->id:240, 242->id:241, 243->id:242, 244->id:243, 245->id:244,
246->id:245, 247->id:246, 248->i
d:247, 249->id:248, 250->id:249, 251->id:250, 252->id:251, 253->id:252,
254->id:253, 255->id:254, 256->id:255, 257->id:256, 258->id:257,
259->id:258, 260->id:259, 261->id:2
60, 262->id:261, 263->id:262, 264->id:263, 265->id:264, 266->id:265,
267->id:266, 268->id:267, 269->id:268, 270->id:269, 271->id:270,
272->id:271, 273->id:272, 274->id:273,
 275->id:274, 276->id:275, 277->id:276, 278->id:277, 279->id:278,
280->id:279, 281->id:280, 282->id:281, 283->id:282, 284->id:283,
285->id:284, 286->id:285, 287->id:286, 28
8->id:287, 289->id:288, 290->id:289, 291->id:290, 292->id:291, 293->id:292,
294->id:293, 295->id:294, 296->id:295, 297->id:296, 298->id:297,
299->id:298, 300->id:299, 301->
id:300, 302->id:301, 303->id:302, 304->id:303, 305->id:304, 306->id:305,
307->id:306, 308->id:307, 309->id:308, 310->id:309, 311->id:310,
312->id:311, 313->id:312, 314->id:
313, 315->id:314, 316->id:315, 317->id:316, 318->id:317, 319->id:318,
320->id:319, 321->id:320, 322->id:321, 323->id:322, 324->id:323,
325->id:324, 326->id:325, 327->id:326
, 328->id:327, 329->id:328, 330->id:329, 331->id:330, 332->id:331,
333->id:332, 334->id:333, 335->id:334, 336->id:335, 337->id:336,
338->id:337, 339->id:338, 340->id:339, 3
41->id:340, 342->id:341, 343->id:342, 344->id:343, 345->id:344, 346->id:345,
347->id:346, 348->id:347, 349->id:348, 350->id:349, 351->id:350,
352->id:351, 353->id:352, 354-
>id:353, 355->id:354, 356->id:355, 357->id:356, 358->id:357, 359->id:358,
360->id:359, 361->id:360, 362->id:361, 363->id:362, 364->id:363,
365->id:364, 366->id:365, 367->id
:366, 368->id:367, 369->id:368, 370->id:369, 371->id:370, 372->id:371,
373->id:372, 374->id:373, 375->id:374, 376->id:375, 377->id:376,
378->id:377, 379->id:378, 380->id:37
9, 381->id:380, 382->id:381, 383->id:382, 384->id:383, 385->id:384,
386->id:385, 387->id:386, 388->id:387, 389->id:388, 390->id:389,
391->id:390, 392->id:391, 393->id:392,
394->id:393, 395->id:394, 396->id:395, 397->id:396, 398->id:397,
399->id:398, 400->id:399, 401->id:400, 402->id:401, 403->id:402,
404->id:403, 405->id:404, 406->id:405, 407
->id:406, 408->id:407, 409->id:408, 410->id:409]
 INFO [24 Jul 2008 08:52:01.474] === updated 410 rows.
 INFO [24 Jul 2008 08:52:01.474] +++ transaction committed.

and is correct,


where as with
EJBQLQuery deleteQuery = new EJBQLQuery("delete from Event e where e.id in
(:eventIds)");
deleteQuery.setParameter("eventIds", eventIds);

gives me:

 INFO [24 Jul 2008 08:39:00.470] SELECT t0.location, t0.date_to,
t0.url_event, t0.type, t0.id, t0.category, t0.title, t0.price,
t0.url_provider, t0.description, t0.subcatego
ry, t0.date_from, t0.name_provider, t0.time_from_list FROM event t0 WHERE
t0.url_provider LIKE ? [bind: 1->url_provider:'http://www.acme.com/']
 INFO [24 Jul 2008 08:39:00.565] === returned 410 rows. - took 95 ms.
 INFO [24 Jul 2008 08:39:00.566] +++ transaction committed.
 INFO [24 Jul 2008 08:39:00.566] Removing all(410) previous events...
 INFO [24 Jul 2008 08:39:00.591] --- will run 1 query.
 INFO [24 Jul 2008 08:39:00.591] --- transaction started.
 INFO [24 Jul 2008 08:39:00.642] DELETE FROM event WHERE event.id IN (
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,
?,?,?,?,?,?,?,?,?,?,?,?,?) [bind: 1:0, 2:1, 3:2, 4:3, 5:4, 6:5, 7:6, 8:7,
9:8, 10:9, 11:10, 12:11, 13:12, 14:13, 15:14, 16:15, 17:16, 18:17, 19:18,
20:19, 21:20, 22:21, 23:2
2, 24:23, 25:24, 26:25, 27:26, 28:27, 29:28, 30:29, 31:30, 32:31, 33:32,
34:33, 35:34, 36:35, 37:36, 38:37, 39:38, 40:39, 41:40, 42:41, 43:42, 44:43,
45:44, 46:45, 47:46, 48
:47, 49:48, 50:49, 51:50, 52:51, 53:52, 54:53, 55:54, 56:55, 57:56, 58:57,
59:58, 60:59, 61:60, 62:61, 63:62, 64:63, 65:64, 66:65, 67:66, 68:67, 69:68,
70:69, 71:70, 72:71,
73:72, 74:73, 75:74, 76:75, 77:76, 78:77, 79:78, 80:79, 81:80, 82:81, 83:82,
84:83, 85:84, 86:85, 87:86, 88:87, 89:88, 90:89, 91:90, 92:91, 93:92, 94:93,
95:94, 96:95, 97:96
, 98:97, 99:98, 100:99, 101:100, 102:101, 103:102, 104:103, 105:104,
106:105, 107:106, 108:107, 109:108, 110:109, 111:110, 112:111, 113:112,
114:113, 115:114, 116:115, 117:1
16, 118:117, 119:118, 120:119, 121:120, 122:121, 123:122, 124:123, 125:124,
126:125, 127:126, 128:127, 129:128, 130:129, 131:130, 132:131, 133:132,
134:133, 135:134, 136:135
, 137:136, 138:137, 139:138, 140:139, 141:140, 142:141, 143:142, 144:143,
145:144, 146:145, 147:146, 148:147, 149:148, 150:149, 151:150, 152:151,
153:152, 154:153, 155:154,
156:155, 157:156, 158:157, 159:158, 160:159, 161:160, 162:161, 163:162,
164:163, 165:164, 166:165, 167:166, 168:167, 169:168, 170:169, 171:170,
172:171, 173:172, 174:173, 17
5:174, 176:175, 177:176, 178:177, 179:178, 180:179, 181:180, 182:181,
183:182, 184:183, 185:184, 186:185, 187:186, 188:187, 189:188, 190:189,
191:190, 192:191, 193:192, 194:
193, 195:194, 196:195, 197:196, 198:197, 199:198, 200:199, 201:200, 202:201,
203:202, 204:203, 205:204, 206:205, 207:206, 208:207, 209:208, 210:209,
211:210, 212:211, 213:21
2, 214:213, 215:214, 216:215, 217:216, 218:217, 219:218, 220:219, 221:220,
222:221, 223:222, 224:223, 225:224, 226:225, 227:226, 228:227, 229:228,
230:229, 231:230, 232:231,
 233:232, 234:233, 235:234, 236:235, 237:236, 238:237, 239:238, 240:239,
241:240, 242:241, 243:242, 244:243, 245:244, 246:245, 247:246, 248:247,
249:248, 250:249, 251:250, 2
52:251, 253:252, 254:253, 255:254, 256:255, 257:256, 258:257, 259:258,
260:259, 261:260, 262:261, 263:262, 264:263, 265:264, 266:265, 267:266,
268:267, 269:268, 270:269, 271
:270, 272:271, 273:272, 274:273, 275:274, 276:275, 277:276, 278:277,
279:278, 280:279, 281:280, 282:281, 283:282, 284:283, 285:284, 286:285,
287:286, 288:287, 289:288, 290:2
89, 291:290, 292:291, 293:292, 294:293, 295:294, 296:295, 297:296, 298:297,
299:298, 300:299, 301:300, 302:301, 303:302, 304:303, 305:304, 306:305,
307:306, 308:307, 309:308
, 310:309, 311:310, 312:311, 313:312, 314:313, 315:314, 316:315, 317:316,
318:317, 319:318, 320:319, 321:320, 322:321, 323:322, 324:323, 325:324,
326:325, 327:326, 328:327,
329:328, 330:329, 331:330, 332:331, 333:332, 334:333, 335:334, 336:335,
337:336, 338:337, 339:338, 340:339, 341:340, 342:341, 343:342, 344:343,
345:344, 346:345, 347:346, 34
8:347, 349:348, 350:349, 351:350, 352:351, 353:352, 354:353, 355:354,
356:355, 357:356, 358:357, 359:358, 360:359, 361:360, 362:361, 363:362,
364:363, 365:364, 366:365, 367:
366, 368:367, 369:368, 370:369, 371:370, 372:371, 373:372, 374:373, 375:374,
376:375, 377:376, 378:377, 379:378, 380:379, 381:380, 382:381, 383:382,
384:383, 385:384, 386:38
5, 387:386, 388:387, 389:388, 390:389, 391:390, 392:391, 393:392, 394:393,
395:394, 396:395, 397:396, 398:397, 399:398, 400:399, 401:400, 402:401,
403:402, 404:403, 405:404,
 406:405, 407:406, 408:407, 409:408, 410:409]
 INFO [24 Jul 2008 08:39:00.674] === updated 10 rows.
 INFO [24 Jul 2008 08:39:00.675] +++ transaction committed.

which is not correct.

Is the syntax for EJBQL wrong?

Thanks,
Borut



2008/5/30 Andrus Adamchik <andrus@objectstyle.org>:

> Don't remember off-hand (this was certainly possible with Cayenne 'classic'
> expressions). Could you give it a try?
>
> Andrus
>
>
> On May 30, 2008, at 4:53 PM, Borut Bolčina wrote:
>
>  Hi,
>>
>> EJBQLQuery delete = new EJBQLQuery("delete from Artist a where a.id in
>> (1,
>>
>>> 2, 3)");
>>>
>>
>>
>> this looks more promising. It would be better this way (IMHO):
>>
>> context = // assume this exists
>> List<Integer> myArtistList = // assume this exists
>> EJBQLQuery delete = new EJBQLQuery("delete from Artist a where a.id in
>> :myArtistList");
>> delete.setParameter("myArtistList", myArtistList);
>> context.performNonSelectingQuery(deleteQuery);
>>
>> Is this possible? Or, would it be?
>>
>> Thanks,
>> Borut
>>
>> 2008/5/30 Andrus Adamchik <andrus@objectstyle.org>:
>>
>>  See my other reply - there is actually an EJBQL delete.
>>>
>>>
>>>
>>> On May 30, 2008, at 4:27 PM, Borut Bolčina wrote:
>>>
>>> Hi,
>>>
>>>>
>>>> what is the C3M4 prefered way of doing this SQL equivalent: DELETE FROM
>>>> Artist WHERE Oid IN (1,4,8,9);
>>>>
>>>> Thanks,
>>>> Borut
>>>>
>>>>
>>>
>>>
>
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message