Merge lp:~mmcm/akiban-server/sql-nested-bloom-filter into lp:~akiban-technologies/akiban-server/trunk

Proposed by Mike McMahon
Status: Merged
Approved by: Nathan Williams
Approved revision: 2638
Merged at revision: 2637
Proposed branch: lp:~mmcm/akiban-server/sql-nested-bloom-filter
Merge into: lp:~akiban-technologies/akiban-server/trunk
Diff against target: 680 lines (+655/-2)
2 files modified
src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java (+2/-2)
src/test/resources/com/akiban/sql/pg/yaml/bugs/test-nested-bloom-filter.yaml (+653/-0)
To merge this branch: bzr merge lp:~mmcm/akiban-server/sql-nested-bloom-filter
Reviewer Review Type Date Requested Status
Nathan Williams Approve
Review via email: mp+160477@code.launchpad.net

Description of the change

Fix bindings array index computation when there is a Bloom filter and subqueries / parameters.

Includes a YAML test that gets an error without the offset changes. The test is a bit big because you need a fair amount of data for a Bloom filter to be worth it.

To post a comment you must log in.
Revision history for this message
Nathan Williams (nwilliams) wrote :

Can't say I'm a huge fan of 600 lines of junk INSERTs, but works and is otherwise simple.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java'
2--- src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java 2013-03-22 20:05:57 +0000
3+++ src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java 2013-04-23 19:28:22 +0000
4@@ -1784,7 +1784,7 @@
5 stream.operator = API.using_BloomFilter(lstream.operator,
6 lstream.rowType,
7 bloomFilter.getEstimatedSize(),
8- pos,
9+ pos + loopBindingsOffset,
10 stream.operator,
11 collators,
12 usePValues);
13@@ -1812,7 +1812,7 @@
14 fields,
15 tFields,
16 collators,
17- pos);
18+ pos + loopBindingsOffset);
19 return stream;
20 }
21
22
23=== added file 'src/test/resources/com/akiban/sql/pg/yaml/bugs/test-nested-bloom-filter.yaml'
24--- src/test/resources/com/akiban/sql/pg/yaml/bugs/test-nested-bloom-filter.yaml 1970-01-01 00:00:00 +0000
25+++ src/test/resources/com/akiban/sql/pg/yaml/bugs/test-nested-bloom-filter.yaml 2013-04-23 19:28:22 +0000
26@@ -0,0 +1,653 @@
27+#
28+# Bloom filter in subquery of query with parameters.
29+# Make sure binding indexes are straight.
30+#
31+#
32+# many-to-many
33+#
34+---
35+- CreateTable: names(id INT NOT NULL PRIMARY KEY, name VARCHAR(128))
36+---
37+- Statement: CREATE UNIQUE INDEX by_name ON names(name)
38+---
39+- CreateTable: props(id INT NOT NULL PRIMARY KEY, name VARCHAR(128))
40+---
41+- Statement: CREATE UNIQUE INDEX prop_name ON props(name)
42+---
43+- CreateTable: name_props(id INT NOT NULL PRIMARY KEY, prop_id INT NOT NULL, name_id INT NOT NULL, GROUPING FOREIGN KEY(name_id) REFERENCES names(id))
44+# Put in enough data to choose Bloom filter.
45+---
46+- Statement: CREATE UNIQUE INDEX name_props ON name_props(name_id, prop_id)
47+---
48+- Statement: INSERT INTO props VALUES(1, 'abc'), (2, 'xyz');
49+---
50+- Statement: INSERT INTO names VALUES(1, 'Akiban')
51+---
52+- Statement: INSERT INTO name_props VALUES(1, 1, 1), (2, 2, 1)
53+---
54+- Statement: INSERT INTO names VALUES(4, 'Spoqrzt')
55+---
56+- Statement: INSERT INTO name_props VALUES(5, 1, 4)
57+---
58+- Statement: INSERT INTO names VALUES(5, 'Ioukhwfzpl')
59+---
60+- Statement: INSERT INTO name_props VALUES(6, 1, 5)
61+---
62+- Statement: INSERT INTO names VALUES(6, 'Gzwucp')
63+---
64+- Statement: INSERT INTO name_props VALUES(7, 1, 6)
65+---
66+- Statement: INSERT INTO names VALUES(7, 'Zgewwy')
67+---
68+- Statement: INSERT INTO name_props VALUES(8, 1, 7)
69+---
70+- Statement: INSERT INTO names VALUES(8, 'Pbvbk')
71+---
72+- Statement: INSERT INTO name_props VALUES(9, 1, 8)
73+---
74+- Statement: INSERT INTO names VALUES(9, 'Jxbtff')
75+---
76+- Statement: INSERT INTO name_props VALUES(10, 1, 9)
77+---
78+- Statement: INSERT INTO names VALUES(10, 'Rafcp')
79+---
80+- Statement: INSERT INTO name_props VALUES(11, 1, 10)
81+---
82+- Statement: INSERT INTO names VALUES(11, 'Zjvqntazs')
83+---
84+- Statement: INSERT INTO name_props VALUES(12, 1, 11)
85+---
86+- Statement: INSERT INTO names VALUES(12, 'Ibpudfbtxc')
87+---
88+- Statement: INSERT INTO name_props VALUES(13, 1, 12)
89+---
90+- Statement: INSERT INTO names VALUES(13, 'Hbksgv')
91+---
92+- Statement: INSERT INTO name_props VALUES(14, 1, 13)
93+---
94+- Statement: INSERT INTO names VALUES(14, 'Mdhbz')
95+---
96+- Statement: INSERT INTO name_props VALUES(15, 1, 14)
97+---
98+- Statement: INSERT INTO names VALUES(15, 'Rivcwdnnn')
99+---
100+- Statement: INSERT INTO name_props VALUES(16, 1, 15)
101+---
102+- Statement: INSERT INTO names VALUES(16, 'Brfjsk')
103+---
104+- Statement: INSERT INTO name_props VALUES(17, 1, 16)
105+---
106+- Statement: INSERT INTO names VALUES(18, 'Sbcrqbxqxzr')
107+---
108+- Statement: INSERT INTO name_props VALUES(19, 1, 18)
109+---
110+- Statement: INSERT INTO names VALUES(31, 'Ahfntcvnl')
111+---
112+- Statement: INSERT INTO name_props VALUES(32, 1, 31)
113+---
114+- Statement: INSERT INTO names VALUES(33, 'Kxgam')
115+---
116+- Statement: INSERT INTO name_props VALUES(34, 1, 33)
117+---
118+- Statement: INSERT INTO names VALUES(34, 'Octwh')
119+---
120+- Statement: INSERT INTO name_props VALUES(35, 1, 34)
121+---
122+- Statement: INSERT INTO names VALUES(35, 'Snatm')
123+---
124+- Statement: INSERT INTO name_props VALUES(36, 1, 35)
125+---
126+- Statement: INSERT INTO names VALUES(36, 'Kinjs')
127+---
128+- Statement: INSERT INTO name_props VALUES(37, 1, 36)
129+---
130+- Statement: INSERT INTO names VALUES(37, 'Eccqtjzg')
131+---
132+- Statement: INSERT INTO name_props VALUES(38, 1, 37)
133+---
134+- Statement: INSERT INTO names VALUES(38, 'Thdeljlud')
135+---
136+- Statement: INSERT INTO name_props VALUES(39, 1, 38)
137+---
138+- Statement: INSERT INTO names VALUES(39, 'Ocfrhu')
139+---
140+- Statement: INSERT INTO name_props VALUES(40, 1, 39)
141+---
142+- Statement: INSERT INTO names VALUES(40, 'Ljogrtgeiu')
143+---
144+- Statement: INSERT INTO name_props VALUES(41, 1, 40)
145+---
146+- Statement: INSERT INTO names VALUES(41, 'Btpvkvmkle')
147+---
148+- Statement: INSERT INTO name_props VALUES(42, 1, 41)
149+---
150+- Statement: INSERT INTO names VALUES(42, 'Plzcbtl')
151+---
152+- Statement: INSERT INTO name_props VALUES(43, 1, 42)
153+---
154+- Statement: INSERT INTO names VALUES(43, 'Iufyrfw')
155+---
156+- Statement: INSERT INTO name_props VALUES(44, 1, 43)
157+---
158+- Statement: INSERT INTO names VALUES(44, 'Zaqevll')
159+---
160+- Statement: INSERT INTO name_props VALUES(45, 1, 44)
161+---
162+- Statement: INSERT INTO names VALUES(45, 'Dfmfeklpgw')
163+---
164+- Statement: INSERT INTO name_props VALUES(46, 1, 45)
165+---
166+- Statement: INSERT INTO names VALUES(46, 'Mynjcxgaw')
167+---
168+- Statement: INSERT INTO name_props VALUES(47, 1, 46)
169+---
170+- Statement: INSERT INTO names VALUES(47, 'Ybaghbzp')
171+---
172+- Statement: INSERT INTO name_props VALUES(48, 1, 47)
173+---
174+- Statement: INSERT INTO names VALUES(58, 'Dhivpsiznkk')
175+---
176+- Statement: INSERT INTO name_props VALUES(59, 1, 58)
177+---
178+- Statement: INSERT INTO names VALUES(59, 'Panofztcjd')
179+---
180+- Statement: INSERT INTO name_props VALUES(60, 1, 59)
181+---
182+- Statement: INSERT INTO names VALUES(60, 'Yienwzfpt')
183+---
184+- Statement: INSERT INTO name_props VALUES(61, 1, 60)
185+---
186+- Statement: INSERT INTO names VALUES(61, 'Zfshqgrgylx')
187+---
188+- Statement: INSERT INTO name_props VALUES(62, 1, 61)
189+---
190+- Statement: INSERT INTO names VALUES(62, 'Souapplpfr')
191+---
192+- Statement: INSERT INTO name_props VALUES(63, 1, 62)
193+---
194+- Statement: INSERT INTO names VALUES(63, 'Rhcmmyainf')
195+---
196+- Statement: INSERT INTO name_props VALUES(64, 1, 63)
197+---
198+- Statement: INSERT INTO names VALUES(64, 'Vceohrds')
199+---
200+- Statement: INSERT INTO name_props VALUES(65, 1, 64)
201+---
202+- Statement: INSERT INTO names VALUES(65, 'Gbcmlg')
203+---
204+- Statement: INSERT INTO name_props VALUES(66, 1, 65)
205+---
206+- Statement: INSERT INTO names VALUES(66, 'Yrzktqraf')
207+---
208+- Statement: INSERT INTO name_props VALUES(67, 1, 66)
209+---
210+- Statement: INSERT INTO names VALUES(67, 'Mgqpgoiecy')
211+---
212+- Statement: INSERT INTO name_props VALUES(68, 1, 67)
213+---
214+- Statement: INSERT INTO names VALUES(76, 'Hmrsj')
215+---
216+- Statement: INSERT INTO name_props VALUES(77, 1, 76)
217+---
218+- Statement: INSERT INTO names VALUES(78, 'Gvfmntnsgwn')
219+---
220+- Statement: INSERT INTO name_props VALUES(79, 1, 78)
221+---
222+- Statement: INSERT INTO names VALUES(79, 'Zuaszsxzy')
223+---
224+- Statement: INSERT INTO name_props VALUES(80, 1, 79)
225+---
226+- Statement: INSERT INTO names VALUES(82, 'Fmvci')
227+---
228+- Statement: INSERT INTO name_props VALUES(83, 1, 82)
229+---
230+- Statement: INSERT INTO names VALUES(90, 'Gaptjxia')
231+---
232+- Statement: INSERT INTO name_props VALUES(91, 1, 90)
233+---
234+- Statement: INSERT INTO names VALUES(92, 'Zyvnsklsyda')
235+---
236+- Statement: INSERT INTO name_props VALUES(93, 1, 92)
237+---
238+- Statement: INSERT INTO names VALUES(96, 'Gojhf')
239+---
240+- Statement: INSERT INTO name_props VALUES(97, 1, 96)
241+---
242+- Statement: INSERT INTO names VALUES(105, 'Qknhonhsetk')
243+---
244+- Statement: INSERT INTO name_props VALUES(106, 1, 105)
245+---
246+- Statement: INSERT INTO names VALUES(107, 'Qfukqa')
247+---
248+- Statement: INSERT INTO name_props VALUES(108, 1, 107)
249+---
250+- Statement: INSERT INTO names VALUES(110, 'Gpvgz')
251+---
252+- Statement: INSERT INTO name_props VALUES(111, 1, 110)
253+---
254+- Statement: INSERT INTO names VALUES(111, 'Zqnbkziw')
255+---
256+- Statement: INSERT INTO name_props VALUES(112, 1, 111)
257+---
258+- Statement: INSERT INTO names VALUES(112, 'Ixaujvp')
259+---
260+- Statement: INSERT INTO name_props VALUES(113, 1, 112)
261+---
262+- Statement: INSERT INTO names VALUES(119, 'Tvkzkswznpa')
263+---
264+- Statement: INSERT INTO name_props VALUES(120, 1, 119)
265+---
266+- Statement: INSERT INTO names VALUES(120, 'Roofci')
267+---
268+- Statement: INSERT INTO name_props VALUES(121, 1, 120)
269+---
270+- Statement: INSERT INTO names VALUES(124, 'Tptkxttdyl')
271+---
272+- Statement: INSERT INTO name_props VALUES(125, 1, 124)
273+---
274+- Statement: INSERT INTO names VALUES(125, 'Inzugej')
275+---
276+- Statement: INSERT INTO name_props VALUES(126, 1, 125)
277+---
278+- Statement: INSERT INTO names VALUES(126, 'Evsmj')
279+---
280+- Statement: INSERT INTO name_props VALUES(127, 1, 126)
281+---
282+- Statement: INSERT INTO names VALUES(133, 'Vjmgvogph')
283+---
284+- Statement: INSERT INTO name_props VALUES(134, 1, 133)
285+---
286+- Statement: INSERT INTO names VALUES(134, 'Bzrggr')
287+---
288+- Statement: INSERT INTO name_props VALUES(135, 1, 134)
289+---
290+- Statement: INSERT INTO names VALUES(135, 'Xpvvsn')
291+---
292+- Statement: INSERT INTO name_props VALUES(136, 1, 135)
293+---
294+- Statement: INSERT INTO names VALUES(137, 'Nwavmftfwc')
295+---
296+- Statement: INSERT INTO name_props VALUES(138, 1, 137)
297+---
298+- Statement: INSERT INTO names VALUES(138, 'Qqbprawuzqa')
299+---
300+- Statement: INSERT INTO name_props VALUES(139, 1, 138)
301+---
302+- Statement: INSERT INTO names VALUES(140, 'Kbjrvsiy')
303+---
304+- Statement: INSERT INTO name_props VALUES(141, 1, 140)
305+---
306+- Statement: INSERT INTO names VALUES(142, 'Wgunros')
307+---
308+- Statement: INSERT INTO name_props VALUES(143, 1, 142)
309+---
310+- Statement: INSERT INTO names VALUES(150, 'Yeinuylr')
311+---
312+- Statement: INSERT INTO name_props VALUES(151, 1, 150)
313+---
314+- Statement: INSERT INTO names VALUES(155, 'Hpcgv')
315+---
316+- Statement: INSERT INTO name_props VALUES(156, 1, 155)
317+---
318+- Statement: INSERT INTO names VALUES(160, 'Tcgmsuuyp')
319+---
320+- Statement: INSERT INTO name_props VALUES(161, 1, 160)
321+---
322+- Statement: INSERT INTO names VALUES(161, 'Bawdd')
323+---
324+- Statement: INSERT INTO name_props VALUES(162, 1, 161)
325+---
326+- Statement: INSERT INTO names VALUES(167, 'Rhcuvv')
327+---
328+- Statement: INSERT INTO name_props VALUES(168, 1, 167)
329+---
330+- Statement: INSERT INTO names VALUES(168, 'Bprojkuo')
331+---
332+- Statement: INSERT INTO name_props VALUES(169, 1, 168)
333+---
334+- Statement: INSERT INTO names VALUES(172, 'Ociwj')
335+---
336+- Statement: INSERT INTO name_props VALUES(173, 1, 172)
337+---
338+- Statement: INSERT INTO names VALUES(179, 'Vagmrpfcyic')
339+---
340+- Statement: INSERT INTO name_props VALUES(180, 1, 179)
341+---
342+- Statement: INSERT INTO names VALUES(182, 'Rcspmlskni')
343+---
344+- Statement: INSERT INTO name_props VALUES(183, 1, 182)
345+---
346+- Statement: INSERT INTO names VALUES(184, 'Dyilbdvvrgz')
347+---
348+- Statement: INSERT INTO name_props VALUES(185, 1, 184)
349+---
350+- Statement: INSERT INTO names VALUES(187, 'Qbuglimfh')
351+---
352+- Statement: INSERT INTO name_props VALUES(188, 1, 187)
353+---
354+- Statement: INSERT INTO names VALUES(188, 'Pzqmibcchwf')
355+---
356+- Statement: INSERT INTO name_props VALUES(189, 1, 188)
357+---
358+- Statement: INSERT INTO names VALUES(193, 'Zbjalczrzle')
359+---
360+- Statement: INSERT INTO name_props VALUES(194, 1, 193)
361+---
362+- Statement: INSERT INTO names VALUES(195, 'Xktkbgltpx')
363+---
364+- Statement: INSERT INTO name_props VALUES(196, 1, 195)
365+---
366+- Statement: INSERT INTO names VALUES(204, 'Ccgekvv')
367+---
368+- Statement: INSERT INTO name_props VALUES(205, 1, 204)
369+---
370+- Statement: INSERT INTO names VALUES(206, 'Lburgexb')
371+---
372+- Statement: INSERT INTO name_props VALUES(207, 1, 206)
373+---
374+- Statement: INSERT INTO names VALUES(208, 'Qqpkdldd')
375+---
376+- Statement: INSERT INTO name_props VALUES(209, 1, 208)
377+---
378+- Statement: INSERT INTO names VALUES(211, 'Vyalmcnaji')
379+---
380+- Statement: INSERT INTO name_props VALUES(212, 1, 211)
381+---
382+- Statement: INSERT INTO names VALUES(231, 'Rkpzdhwmv')
383+---
384+- Statement: INSERT INTO name_props VALUES(232, 1, 231)
385+---
386+- Statement: INSERT INTO names VALUES(235, 'Azgrj')
387+---
388+- Statement: INSERT INTO name_props VALUES(236, 1, 235)
389+---
390+- Statement: INSERT INTO names VALUES(243, 'Lmvfmjpse')
391+---
392+- Statement: INSERT INTO name_props VALUES(244, 1, 243)
393+---
394+- Statement: INSERT INTO names VALUES(244, 'Wlvbgh')
395+---
396+- Statement: INSERT INTO name_props VALUES(245, 1, 244)
397+---
398+- Statement: INSERT INTO names VALUES(245, 'Xhjtszv')
399+---
400+- Statement: INSERT INTO name_props VALUES(246, 1, 245)
401+---
402+- Statement: INSERT INTO names VALUES(246, 'Cypbzp')
403+---
404+- Statement: INSERT INTO name_props VALUES(247, 1, 246)
405+---
406+- Statement: INSERT INTO names VALUES(250, 'Gfmcxqpk')
407+---
408+- Statement: INSERT INTO name_props VALUES(251, 1, 250)
409+---
410+- Statement: INSERT INTO names VALUES(251, 'Iurtdx')
411+---
412+- Statement: INSERT INTO name_props VALUES(252, 1, 251)
413+---
414+- Statement: INSERT INTO names VALUES(252, 'Hogcz')
415+---
416+- Statement: INSERT INTO name_props VALUES(253, 1, 252)
417+---
418+- Statement: INSERT INTO names VALUES(253, 'Lpaxfnx')
419+---
420+- Statement: INSERT INTO name_props VALUES(254, 1, 253)
421+---
422+- Statement: INSERT INTO names VALUES(255, 'Izdnpbkkor')
423+---
424+- Statement: INSERT INTO name_props VALUES(256, 1, 255)
425+---
426+- Statement: INSERT INTO names VALUES(257, 'Jixea')
427+---
428+- Statement: INSERT INTO name_props VALUES(258, 1, 257)
429+---
430+- Statement: INSERT INTO names VALUES(258, 'Ymekhl')
431+---
432+- Statement: INSERT INTO name_props VALUES(259, 1, 258)
433+---
434+- Statement: INSERT INTO names VALUES(259, 'Mzbvyitcox')
435+---
436+- Statement: INSERT INTO name_props VALUES(260, 1, 259)
437+---
438+- Statement: INSERT INTO names VALUES(260, 'Ccmxsx')
439+---
440+- Statement: INSERT INTO name_props VALUES(261, 1, 260)
441+---
442+- Statement: INSERT INTO names VALUES(261, 'Qdmdrw')
443+---
444+- Statement: INSERT INTO name_props VALUES(262, 1, 261)
445+---
446+- Statement: INSERT INTO names VALUES(265, 'Jfnrcxcus')
447+---
448+- Statement: INSERT INTO name_props VALUES(266, 1, 265)
449+---
450+- Statement: INSERT INTO names VALUES(269, 'Cabnpmrif')
451+---
452+- Statement: INSERT INTO name_props VALUES(270, 1, 269)
453+---
454+- Statement: INSERT INTO names VALUES(270, 'Nxtlj')
455+---
456+- Statement: INSERT INTO name_props VALUES(271, 1, 270)
457+---
458+- Statement: INSERT INTO names VALUES(271, 'Nirumol')
459+---
460+- Statement: INSERT INTO name_props VALUES(272, 1, 271)
461+---
462+- Statement: INSERT INTO names VALUES(274, 'Cbgqzhfc')
463+---
464+- Statement: INSERT INTO name_props VALUES(275, 1, 274)
465+---
466+- Statement: INSERT INTO names VALUES(275, 'Uuymwulh')
467+---
468+- Statement: INSERT INTO name_props VALUES(276, 1, 275)
469+---
470+- Statement: INSERT INTO names VALUES(278, 'Cmxjfbveufw')
471+---
472+- Statement: INSERT INTO name_props VALUES(279, 1, 278)
473+---
474+- Statement: INSERT INTO names VALUES(282, 'Axmldjgsmi')
475+---
476+- Statement: INSERT INTO name_props VALUES(283, 1, 282)
477+---
478+- Statement: INSERT INTO names VALUES(283, 'Cjdxu')
479+---
480+- Statement: INSERT INTO name_props VALUES(284, 1, 283)
481+---
482+- Statement: INSERT INTO names VALUES(284, 'Rintirs')
483+---
484+- Statement: INSERT INTO name_props VALUES(285, 1, 284)
485+---
486+- Statement: INSERT INTO names VALUES(286, 'Diogq')
487+---
488+- Statement: INSERT INTO name_props VALUES(287, 1, 286)
489+---
490+- Statement: INSERT INTO names VALUES(287, 'Smlssuf')
491+---
492+- Statement: INSERT INTO name_props VALUES(288, 1, 287)
493+---
494+- Statement: INSERT INTO names VALUES(302, 'Sqxputcbuo')
495+---
496+- Statement: INSERT INTO name_props VALUES(306, 1, 302)
497+---
498+- Statement: INSERT INTO names VALUES(303, 'Uokodyujib')
499+---
500+- Statement: INSERT INTO name_props VALUES(307, 1, 303)
501+---
502+- Statement: INSERT INTO names VALUES(306, 'Fhvtb')
503+---
504+- Statement: INSERT INTO name_props VALUES(309, 1, 306)
505+---
506+- Statement: INSERT INTO names VALUES(309, 'Jxyoebhitu')
507+---
508+- Statement: INSERT INTO name_props VALUES(312, 1, 309)
509+---
510+- Statement: INSERT INTO names VALUES(313, 'Vdbzx')
511+---
512+- Statement: INSERT INTO name_props VALUES(316, 1, 313)
513+---
514+- Statement: INSERT INTO names VALUES(314, 'Mrhbp')
515+---
516+- Statement: INSERT INTO name_props VALUES(317, 1, 314)
517+---
518+- Statement: INSERT INTO names VALUES(316, 'Gagfonyc')
519+---
520+- Statement: INSERT INTO name_props VALUES(319, 1, 316)
521+---
522+- Statement: INSERT INTO names VALUES(319, 'Ildajaitiml')
523+---
524+- Statement: INSERT INTO name_props VALUES(322, 1, 319)
525+---
526+- Statement: INSERT INTO names VALUES(321, 'Sqzjf')
527+---
528+- Statement: INSERT INTO name_props VALUES(324, 1, 321)
529+---
530+- Statement: INSERT INTO names VALUES(323, 'Ajzpld')
531+---
532+- Statement: INSERT INTO name_props VALUES(326, 1, 323)
533+---
534+- Statement: INSERT INTO names VALUES(332, 'Efnqimxicz')
535+---
536+- Statement: INSERT INTO name_props VALUES(335, 1, 332)
537+---
538+- Statement: INSERT INTO names VALUES(333, 'Fkjycsc')
539+---
540+- Statement: INSERT INTO name_props VALUES(336, 1, 333)
541+---
542+- Statement: INSERT INTO names VALUES(335, 'Htuhdv')
543+---
544+- Statement: INSERT INTO name_props VALUES(338, 1, 335)
545+---
546+- Statement: INSERT INTO names VALUES(336, 'Jiimafkm')
547+---
548+- Statement: INSERT INTO name_props VALUES(339, 1, 336)
549+---
550+- Statement: INSERT INTO names VALUES(343, 'Qeowxwxhw')
551+---
552+- Statement: INSERT INTO name_props VALUES(346, 1, 343)
553+---
554+- Statement: INSERT INTO names VALUES(345, 'Odhfoetvtl')
555+---
556+- Statement: INSERT INTO name_props VALUES(348, 1, 345)
557+---
558+- Statement: INSERT INTO names VALUES(347, 'Ebnlngmcoz')
559+---
560+- Statement: INSERT INTO name_props VALUES(350, 1, 347)
561+---
562+- Statement: INSERT INTO names VALUES(348, 'Ujaoaznaf')
563+---
564+- Statement: INSERT INTO name_props VALUES(351, 1, 348)
565+---
566+- Statement: INSERT INTO names VALUES(349, 'Dkelvsyx')
567+---
568+- Statement: INSERT INTO name_props VALUES(352, 1, 349)
569+---
570+- Statement: INSERT INTO names VALUES(350, 'Gypaowuiwrq')
571+---
572+- Statement: INSERT INTO name_props VALUES(353, 1, 350)
573+---
574+- Statement: INSERT INTO names VALUES(352, 'Pjrtpa')
575+---
576+- Statement: INSERT INTO name_props VALUES(355, 1, 352)
577+---
578+- Statement: INSERT INTO names VALUES(354, 'Gsskcpumlv')
579+---
580+- Statement: INSERT INTO name_props VALUES(357, 1, 354)
581+---
582+- Statement: INSERT INTO names VALUES(357, 'Qxvifr')
583+---
584+- Statement: INSERT INTO name_props VALUES(360, 1, 357)
585+---
586+- Statement: INSERT INTO names VALUES(358, 'Exgxst')
587+---
588+- Statement: INSERT INTO name_props VALUES(361, 1, 358)
589+---
590+- Statement: INSERT INTO names VALUES(359, 'Vfgeg')
591+---
592+- Statement: INSERT INTO name_props VALUES(362, 1, 359)
593+---
594+- Statement: INSERT INTO names VALUES(360, 'Geophzjom')
595+---
596+- Statement: INSERT INTO name_props VALUES(363, 1, 360)
597+---
598+- Statement: INSERT INTO names VALUES(364, 'Mplftlfnhbn')
599+---
600+- Statement: INSERT INTO name_props VALUES(367, 1, 364)
601+---
602+- Statement: INSERT INTO names VALUES(365, 'Zfmegtbik')
603+---
604+- Statement: INSERT INTO name_props VALUES(368, 1, 365)
605+---
606+- Statement: INSERT INTO names VALUES(366, 'Qpgyatglvsj')
607+---
608+- Statement: INSERT INTO name_props VALUES(369, 1, 366)
609+---
610+- Statement: INSERT INTO names VALUES(367, 'Gctqwogue')
611+---
612+- Statement: INSERT INTO name_props VALUES(370, 1, 367)
613+---
614+- Statement: INSERT INTO names VALUES(369, 'Kmydbmjnwsr')
615+---
616+- Statement: INSERT INTO name_props VALUES(372, 1, 369)
617+---
618+- Statement: INSERT INTO names VALUES(370, 'Pllzgznffmw')
619+---
620+- Statement: INSERT INTO name_props VALUES(373, 1, 370)
621+---
622+- Statement: INSERT INTO names VALUES(371, 'Rwhpidslf')
623+---
624+- Statement: INSERT INTO name_props VALUES(374, 1, 371)
625+---
626+- Statement: INSERT INTO names VALUES(372, 'Epmyfpkgbp')
627+---
628+- Statement: INSERT INTO name_props VALUES(375, 1, 372)
629+---
630+- Statement: INSERT INTO names VALUES(373, 'Pzbjmzbau')
631+---
632+- Statement: INSERT INTO name_props VALUES(376, 1, 373)
633+---
634+- Statement: INSERT INTO names VALUES(374, 'Ltqyrvkd')
635+---
636+- Statement: INSERT INTO name_props VALUES(377, 1, 374)
637+---
638+- Statement: INSERT INTO names VALUES(375, 'Tahzvwx')
639+---
640+- Statement: INSERT INTO name_props VALUES(378, 1, 375)
641+---
642+- Statement: INSERT INTO names VALUES(376, 'Wmhyad')
643+---
644+- Statement: INSERT INTO name_props VALUES(379, 1, 376)
645+---
646+- Statement: INSERT INTO names VALUES(377, 'Genmrjpjy')
647+---
648+- Statement: INSERT INTO name_props VALUES(380, 1, 377)
649+---
650+- Statement: INSERT INTO names VALUES(378, 'Hvgveuxdxx')
651+---
652+- Statement: INSERT INTO name_props VALUES(381, 1, 378)
653+---
654+- Statement: INSERT INTO names VALUES(379, 'Ucpqhstzspe')
655+---
656+- Statement: INSERT INTO name_props VALUES(382, 1, 379)
657+---
658+- Statement: INSERT INTO names VALUES(380, 'Voxbnvcffsh')
659+---
660+- Statement: INSERT INTO name_props VALUES(383, 1, 380)
661+---
662+- Statement: INSERT INTO names VALUES(381, 'Jydaimev')
663+---
664+- Statement: INSERT INTO name_props VALUES(384, 1, 381)
665+---
666+- Statement: SET OutputFormat = 'json'
667+---
668+- Statement: SELECT id, name, (SELECT p.id, p.name FROM props p INNER JOIN name_props np ON p.id = np.prop_id WHERE np.name_id = names.id) AS props FROM names WHERE name = ?
669+- params: [['Akiban']]
670+- output: [['{"id":1,"name":"Akiban","props":[{"id":1,"name":"abc"},{"id":2,"name":"xyz"}]}']]
671+---
672+- Statement: ALTER TABLE name_props ALL UPDATE STATISTICS
673+---
674+- Statement: SELECT id, name, (SELECT p.id, p.name FROM props p INNER JOIN name_props np ON p.id = np.prop_id WHERE np.name_id = names.id) AS props FROM names WHERE name = ?
675+- params: [['Akiban']]
676+- output: [['{"id":1,"name":"Akiban","props":[{"id":1,"name":"abc"},{"id":2,"name":"xyz"}]}']]
677+---
678+- Statement: SET OutputFormat TO DEFAULT;
679+...
680\ No newline at end of file

Subscribers

People subscribed via source and target branches