Can you please log a bug? Describe symptoms, not what’s happening in the code.
(I don’t remember what “derive” is, even though I probably wrote it.) Log the bug before you have a solution, and you’ll write a better bug. > On Mar 15, 2021, at 6:08 AM, Konstantin Orlov <[email protected]> wrote: > > Hi all! > > I did a reproducer for mentioned case, and possible fix (at least it fixes > this particular problem). [1] > > Could someone verify please is provided reproducer/fix valid? > > [1] > https://github.com/korlov42/calcite/commit/f4a5c2f01e0ec67156f7e91c6b5839dca1db6776 > > <https://github.com/korlov42/calcite/commit/f4a5c2f01e0ec67156f7e91c6b5839dca1db6776> > > -- > Regards, > Konstantin Orlov > > > > >> On 5 Mar 2021, at 19:53, Konstantin Orlov <[email protected]> wrote: >> >> Hi, folks! >> >> I am facing the problem that derive is not being called for some newly >> created relations. >> >> We have a several join algorithms, so we implemented a several physical >> nodes. During an optimization process they all are created from a logical >> join with default distribution trait and then they are converted to a single >> distribution by a passThrough call. But derive is invoked only for the first >> physical rel, because others relations after conversion from a logical rel >> are added to the already optimized subset (subset.taskState == OPTIMIZED). >> >> A derive invocation is important for us, because we create a different >> variations of distribution here (like colocated join, sending one side to >> another or full rehashing). >> >> So the questions are: >> 1) Is it a bug or it so by design? >> 2) if this was done on purpose, how can we best get around this limitation? >> >> Thanks in advance! >> >> -- >> Regards, >> Konstantin Orlov >> >> >
