Yeah, I'm living on the edge over here! I tried it and it "kind of" works in that they sql works and on simple stuff I get the right results, BUT when I tried to replace the filter conditions in my code on complicated queries, my tests started failing because it wasn't returning the right results...so I'm not quite sure.
I couldn't find any literature on the internet about "comma delimited subqueries with IN" clause so it must not be a thing to do... Curious what Jeremy thinks. On Wednesday, June 17, 2020 at 3:22:39 PM UTC+3, Michael Monerau wrote: > > Ho, I don't pass an array of datasets, just an array of values. Didn't > realize your ds1 / ds2 were datasets! > So, don't know if it works, so don't know the perf implications, sorry :) > > > > > Le mer. 17 juin 2020 à 14:09, Aryk Grosz <[email protected] <javascript:>> > a écrit : > >> Crazy, I didn't know you could pass an array of datasets. Never saw that >> before. >> >> What are the performance implications of doing it the way you are showing >> vs using UNION? Is it approx the same? >> >> >> On Wednesday, June 17, 2020 at 2:23:03 PM UTC+3, Michael Monerau wrote: >>> >>> Is there a design reason why you're avoiding something like: >>> >>> ids = [] >>> ids.push(ds1) if x >>> ids.push(ds2) if z >>> ids.push(ds2) if y >>> >>> ds.exclude(id: ids) >>> >>> Maybe the code around your snippet prevents that. Looking at why may >>> give a clue at a simple refactor? >>> >>> Best, >>> Michael >>> >>> >>> >>> Le mer. 17 juin 2020 à 13:11, Aryk Grosz <[email protected]> a écrit : >>> >>>> I was thinking to UNION ALL all the datasets with the pks, and then on >>>> the last UNION don't use "ALL" so that they get uniqued before being fed >>>> into the main query. >>>> >>>> >>>> On Wednesday, June 17, 2020 at 1:37:05 PM UTC+3, Aryk Grosz wrote: >>>>> >>>>> Many times I find myself writing. >>>>> >>>>> ds = ds.exclude(id: ds1) if x >>>>> ds = ds.exclude(id: ds2) if z >>>>> ds = ds.exclude(id: ds2) if y >>>>> >>>>> Is there any material performance impact of separating out the column >>>>> loopups? >>>>> >>>>> Should I be "UNION"ing the list of ids of first and then just do one >>>>> exclude/where statement? My guess is it doesn't really matter ultimately >>>>> because it's a direct lookup on an indexed field even if it's called >>>>> multiple times. >>>>> >>>>> Aryk >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "sequel-talk" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sequel-talk/879e53a7-543d-4548-a293-21bb57fc3234o%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/sequel-talk/879e53a7-543d-4548-a293-21bb57fc3234o%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "sequel-talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sequel-talk/d6248ec8-d4b8-4a6e-ab8e-70059d67f2dao%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sequel-talk/d6248ec8-d4b8-4a6e-ab8e-70059d67f2dao%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/fdd1cabd-af46-48cd-90f9-41f3b7a5b4b0o%40googlegroups.com.
