-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Expand file tree
/
Copy pathRUBiS-select-requests.txt
More file actions
488 lines (440 loc) · 9.08 KB
/
RUBiS-select-requests.txt
File metadata and controls
488 lines (440 loc) · 9.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
// -----------------------------------------------------------------------------------------------------------------------
// SELECT requests test
//
// The requests must have the following format:
// #begin
// <SELECT request>
// #end
// <isValid flag>: true if this request is valid
//
// If the request is valid:
// <selected columns concerning by the select clause prefixed by the table>: for example: my_table.id
// <selected table concerning by the from clause, eventually suffixed by an alias>: for example: my_table, my_table.my_alias, my_table
// <selected columns concerning by the where clause prefixed by the table>: for example: my_table.id
// <request type>: either CACHEABLE, UNCACHEABLE or UNIQUE_CACHEABLE
//
// If the request is not valid:
// <error message>
//
// do not add empty line between the lines defining a test
// line beginning by a // are ignored except in a test
// -----------------------------------------------------------------------------------------------------------------------
//1
#begin
SELECT * FROM items WHERE items.seller=? AND items.end_date>=NOW()
#end
true
items.id items.name items.description items.initial_price items.quantity items.reserve_price items.buy_now items.nb_of_bids items.max_bid items.start_date items.end_date items.seller items.category
items
items.seller items.end_date
CACHEABLE
//2
#begin
SELECT * FROM old_items
WHERE old_items.seller=? AND TO_DAYS(NOW()) - TO_DAYS(old_items.end_date) < 30.3
#end
true
old_items.id old_items.name old_items.description old_items.initial_price old_items.quantity old_items.reserve_price old_items.buy_now old_items.nb_of_bids old_items.max_bid old_items.start_date old_items.end_date old_items.seller old_items.category
old_items
old_items.seller old_items.end_date
CACHEABLE
//3
#begin
SELECT * FROM buy_now
WHERE buy_now.buyer_id=? AND TO_DAYS(NOW()) - TO_DAYS(buy_now.date)<=-30
#end
true
buy_now.id buy_now.buyer_id buy_now.item_id buy_now.qty buy_now.date
buy_now
buy_now.buyer_id buy_now.date
CACHEABLE
//4
#begin
SELECT nickname FROM users WHERE id=?
#end
true
users.nickname
users
users.id
UNIQUE_CACHEABLE
//5
#begin
SELECT item_id
FROM bids, old_items
WHERE
bids.user_id=?
AND bids.item_id=old_items.id
AND TO_DAYS(NOW()) - TO_DAYS(old_items.end_date) < 30
GROUP BY item_id
#end
true
bids.item_id
bids old_items
bids.user_id bids.item_id old_items.id old_items.end_date
CACHEABLE
//6
#begin
SELECT * FROM old_items WHERE id=?
#end
true
old_items.id old_items.name old_items.description old_items.initial_price old_items.quantity old_items.reserve_price old_items.buy_now old_items.nb_of_bids old_items.max_bid old_items.start_date old_items.end_date old_items.seller old_items.category
old_items
old_items.id
UNIQUE_CACHEABLE
//7
#begin
SELECT * FROM comments WHERE to_user_id=?
#end
true
comments.id comments.from_user_id comments.to_user_id comments.item_id comments.rating comments.date comments.comment
comments
comments.to_user_id
CACHEABLE
//8
#begin
SELECT item_id, bids.max_bid FROM bids, items WHERE bids.user_id=? AND bids.item_id=items.id AND items.end_date>=NOW() GROUP BY item_id
#end
true
bids.item_id bids.max_bid
bids items
bids.user_id bids.item_id items.id items.end_date
CACHEABLE
//9
#begin
SELECT * FROM items WHERE id=?
#end
true
items.id items.name items.description items.initial_price items.quantity items.reserve_price items.buy_now items.nb_of_bids items.max_bid items.start_date items.end_date items.seller items.category
items
items.id
UNIQUE_CACHEABLE
//10
#begin
SELECT * FROM users WHERE id=?
#end
true
users.id users.firstname users.lastname users.nickname users.password users.email users.rating users.balance users.creation_date users.region
users
users.id
UNIQUE_CACHEABLE
//11
#begin
SELECT users.id FROM users WHERE nickname=? AND password=?
#end
true
users.id
users
users.nickname users.password
CACHEABLE
//12
#begin
SELECT name, id FROM categories
#end
true
categories.id categories.name
categories
null
CACHEABLE
//13
#begin
SELECT id FROM regions WHERE name=?
#end
true
regions.id
regions
regions.name
CACHEABLE
//14
#begin
SELECT name, id FROM regions
#end
true
regions.id regions.name
regions
null
CACHEABLE
//15
#begin
SELECT COUNT(*) AS bid FROM bids WHERE item_id=?
#end
true
null
bids
bids.item_id
CACHEABLE
//16
#begin
SELECT name FROM items WHERE id=?
#end
true
items.name
items
items.id
UNIQUE_CACHEABLE
//17
#begin
SELECT id FROM items WHERE name=?
#end
true
items.id
items
items.name
CACHEABLE
//18
#begin
SELECT nickname FROM users WHERE nickname=?
#end
true
users.nickname
users
users.nickname
CACHEABLE
//19
#begin
SELECT id, creation_date FROM users WHERE nickname=?
#end
true
users.id users.creation_date
users
users.nickname
CACHEABLE
//20
#begin
SELECT items.name, items.id, items.end_date, items.max_bid, items.nb_of_bids, items.initial_price
FROM items
WHERE items.category=? AND end_date>=NOW()
LIMIT ?,?
#end
true
items.name items.id items.end_date items.max_bid items.nb_of_bids items.initial_price
items
items.category items.end_date
CACHEABLE
//21
#begin
SELECT
items.name, items.id, items.end_date, items.max_bid, items.nb_of_bids, items.initial_price
FROM
items,users
WHERE
items.category=? AND items.seller=users.id AND users.region=? AND end_date>=NOW()
LIMIT ?,?
#end
true
items.name items.id items.end_date items.max_bid items.nb_of_bids items.initial_price
items users
items.category items.seller users.id users.region items.end_date
CACHEABLE
//22
#begin
SELECT id, qty, max_bid FROM bids WHERE item_id=? ORDER BY bid DESC LIMIT ?
#end
true
bids.id bids.qty bids.max_bid
bids
bids.item_id
CACHEABLE
//23
#begin
SELECT nb_of_bids, max_bid FROM items WHERE id=?
#end
true
items.nb_of_bids items.max_bid
items
items.id
UNIQUE_CACHEABLE
//24
#begin
SELECT quantity, end_date FROM items WHERE id=?
#end
true
items.quantity items.end_date
items
items.id
UNIQUE_CACHEABLE
//25
#begin
SELECT rating FROM users WHERE id=?
#end
true
users.rating
users
users.id
UNIQUE_CACHEABLE
//26
#begin
SELECT * FROM bids WHERE item_id=? ORDER BY date DESC
#end
true
bids.id bids.user_id bids.item_id bids.qty bids.bid bids.max_bid bids.date
bids
bids.item_id
CACHEABLE
//27
#begin
SELECT MAX(bid) AS bid FROM bids WHERE item_id=?
#end
true
bids.bid
bids
bids.item_id
CACHEABLE
//28
#begin
SELECT rating FROM users WHERE id='17'
#end
true
users.rating
users
users.id
UNIQUE_CACHEABLE
//29
#begin
SELECT id FROM old_items
WHERE old_items.id='27'
#end
true
old_items.id
old_items
old_items.id
UNIQUE_CACHEABLE
//30
#begin
SELECT id FROM old_items
WHERE '27'=old_items.id AND old_items.seller=?
#end
true
old_items.id
old_items
old_items.id old_items.seller
CACHEABLE
//31
#begin
SELECT id FROM old_items
WHERE '27' = old_items.id OR old_items.seller=?
#end
true
old_items.id
old_items
old_items.id old_items.seller
CACHEABLE
//32
#begin
SELECT id FROM old_items
WHERE '27' = old_items.id
#end
true
old_items.id
old_items
old_items.id
UNIQUE_CACHEABLE
//33
#begin
SELECT id FROM old_items
WHERE id='7' and sellerseller=?
#end
true
old_items.id
old_items
old_items.id
UNIQUE_CACHEABLE
//34
#begin
SELECT id FROM old_items
WHERE id='7' and seller=?
#end
true
old_items.id
old_items
old_items.id
CACHEABLE
//35
#begin
SELECT items.id FROM items WHERE items.category="Books, antique & stuff" AND end_date>=NOW() ORDER BY end_date ASC LIMIT ?,?
#end
true
items.id
items
items.category items.end_date
CACHEABLE
//36
#begin
SELECT count(*) FROM (SELECT items.id FROM items WHERE items.category="Books, antique & stuff" AND end_date>=NOW() ORDER BY end_date ASC LIMIT ?,?)
#end
true
null
items
null
CACHEABLE
//37
#begin
SELECT count(*) FROM (SELECT items.id FROM items)
#end
true
null
items
null
CACHEABLE
//38
#begin
SELECT id FROM regions WHERE name = 5 and name = 6
#end
true
regions.id
regions
regions.name
CACHEABLE
//39
#begin
SELECT regions.name,regions.id FROM regions WHERE regions.id = 1
#end
true
regions.id regions.name
regions
regions.id
UNIQUE_CACHEABLE
//40
#begin
SELECT regions.name,regions.id FROM regions WHERE regions.id = 1234
#end
true
regions.id regions.name
regions
regions.id
UNIQUE_CACHEABLE
//41
#begin
SELECT MAX(creation_date) FROM regions,(SELECT id FROM users WHERE id>10)
#end
true
users.creation_date
regions users
null
CACHEABLE
//42
#begin
SELECT items.id FROM items,users WHERE items.category=4 AND items.seller=users.id AND users.region=1 AND end_date>=NOW() ORDER BY items.end_date ASC LIMIT 0,25
#end
true
items.id
items users
items.category items.seller users.id users.region items.end_date
CACHEABLE
//43
#begin
SELECT id FROM users LEFT JOIN (SELECT user_id FROM bids)
#end
true
users.id bids.user_id
users bids
null
CACHEABLE
//44
#begin
SELECT id FROM users WHERE EXISTS (SELECT * FROM tab2)
#end
true
users.id
users tab2
null
CACHEABLE