I did a pass over the JIRA issues marked for 1.27.0 release. I moved some that were promising but not close to be resolved in 1.28.0 and for others that there was not much (or any) progress I removed the fix version tag. After the cleanup it seems that there are three/four issues [1] that could possibly go in rather fast (in the next day or so). I left some comments under each case so I am waiting for feedback to prepare the first release candidate.
Please let me know ASAP if there is some other issue that is not in the list [1] and needs to be in 1.27.0. Best, Stamatis [1] https://issues.apache.org/jira/secure/Dashboard.jspa?selectPageId=12333950 On Mon, May 24, 2021 at 10:10 PM Ruben Q L <rube...@gmail.com> wrote: > I'll pick 3-5 PRs too. > > Ruben > > On Mon, May 24, 2021 at 8:34 PM Julian Hyde <jhyde.apa...@gmail.com> > wrote: > > > Thanks Rui! Just pick 5 PRs that look interesting to you, and assign the > > JIRA to yourself (as active reviewer). If you need help/advice, mention > > people in the JIRA comments. > > > > We need 4 more volunteers… > > > > Julian > > > > > > > On May 24, 2021, at 11:28 AM, Rui Wang <amaliu...@apache.org> wrote: > > > > > > Please tag me on PRs that you need my help. I will check those soon. > > > > > > > > > -Rui > > > > > > On Mon, May 24, 2021 at 11:06 AM Julian Hyde <jh...@apache.org> wrote: > > > > > >> We still need 5 committers to review 5 PRs each. Please reply to this > > >> email to volunteer. > > >> > > >> On Fri, May 21, 2021 at 3:41 PM Stamatis Zampetakis < > zabe...@gmail.com> > > >> wrote: > > >>> > > >>> I agree with Julian, we should get the 1.27.0 out as soon as > possible. > > >>> > > >>> I can try to prepare RC0 between the 28 and 30 of May, if people > agree > > on > > >>> this. > > >>> Alternatively, I will have a bit more time around 17 to 20 of June. > > >>> > > >>> I will try to get 2-3 PRs in before starting the RC. > > >>> > > >>> Best, > > >>> Stamatis > > >>> > > >>> > > >>> On Fri, May 21, 2021 at 9:15 PM Julian Hyde <jh...@apache.org> > wrote: > > >>> > > >>>> Now Avatica 1.18 has been released (thanks, Francis!) we should > press > > >> on > > >>>> with Calcite 1.27. > > >>>> > > >>>> Who is release manager? Stamatis, You volunteered to be release > > manager > > >>>> for 1.27 [1] but I would be happy to jump in. Let me know. > > >>>> > > >>>> There is a backlog of PRs that look good enough to go into 1.27. How > > to > > >>>> tackle these? I think we need 4 or 5 committers to each look over 4 > or > > >> 5 > > >>>> PRs in the next few days. Please reply to this email if you are > > >> prepared to > > >>>> help. > > >>>> > > >>>> Julian > > >>>> > > >>>> [1] > > >>>> > > >> > > > https://lists.apache.org/thread.html/re5702a648df18f56e786d770cdce86101164ae419eee94ae947652d4%40%3Cdev.calcite.apache.org%3E > > >>>> > > >>>> On 2021/03/09 14:29:16, Stamatis Zampetakis <zabe...@gmail.com> > > wrote: > > >>>>> Many thanks for moving this forward Julian, much appreciated. > > >>>>> > > >>>>> At the moment the main blocker is the Avatica release ([1,2]) that > in > > >>>> turn > > >>>>> waits for CALCITE-4503 [3]. > > >>>>> It would be great if somebody has some cycles to review and merge > the > > >>>>> respective PR [4]. > > >>>>> > > >>>>> Best, > > >>>>> Stamatis > > >>>>> > > >>>>> [1] https://issues.apache.org/jira/browse/CALCITE-4528 > > >>>>> [2] https://issues.apache.org/jira/browse/CALCITE-4488 > > >>>>> [3] https://issues.apache.org/jira/browse/CALCITE-4503 > > >>>>> [4] https://github.com/apache/calcite-avatica/pull/138 > > >>>>> > > >>>>> On Sun, Feb 28, 2021 at 2:22 AM Julian Hyde <jh...@apache.org> > > >> wrote: > > >>>>> > > >>>>>> Vladimir, > > >>>>>> > > >>>>>> Thanks for finding this bug. Please log it. > > >>>>>> > > >>>>>> I don't intend to fix any more bugs in this area before 1.27. It > > >> has > > >>>>>> been a huge effort on my part, and I have not received any help > > >> from > > >>>>>> anyone. > > >>>>>> > > >>>>>> Julian > > >>>>>> > > >>>>>> On Wed, Feb 24, 2021 at 3:57 PM Vladimir Sitnikov > > >>>>>> <sitnikov.vladi...@gmail.com> wrote: > > >>>>>>> > > >>>>>>> Thanks for pushing this forward. > > >>>>>>> > > >>>>>>> Would you please add search/sarg shrinking to RexShrinker? > > >>>>>>> > > >>>>>>> There are failures though: > > >>>>>>> > > >>>>>>> @Test void singleFuzzyTest() { > > >>>>>>> Random r = new Random(); > > >>>>>>> r.setSeed(6321443803263498676L); > > >>>>>>> RexFuzzer fuzzer = new RexFuzzer(rexBuilder, typeFactory); > > >>>>>>> generateRexAndCheckTrueFalse(fuzzer, r); > > >>>>>>> } > > >>>>>>> > > >>>>>>> yields > > >>>>>>> > > >>>>>>> $node isAlwaysTrue, so it should simplify to TRUE unknownAsFalse > > >>>>>>> > > >>>>>>> SEARCH(-(COALESCE(?0.int0, CASE(=(CASE(false, > > >> SEARCH(?0.notNullInt0, > > >>>>>>> Sarg[(0..2]; NULL AS FALSE]), true), NOT(IS NOT TRUE(false))), > > >>>>>> -(+(100500), > > >>>>>>> -(CASE(true, 1, 100500), CASE(=(?0.notNullBool0, > > >> ?0.notNullBool0), > > >>>>>>> null:INTEGER, ?0.notNullInt1))), CASE(=(COALESCE(0, ?0.int1), > > >> 1), 1, > > >>>>>>> =(COALESCE(0, ?0.int1), -(null, ?0.int1)), CASE(?0.notNullBool0, > > >>>>>>> COALESCE(?0.int0, ?0.int1), -(null:INTEGER, null:INTEGER)), > > >>>>>> null:INTEGER)), > > >>>>>>> +(*(COALESCE(COALESCE(1, -2038957448 <(203)%20895-7448>, 0), > > >> CASE(false, ?0.int0, > > >>>>>>> null:INTEGER), COALESCE(?0.notNullInt0, null:INTEGER, > > >> null:INTEGER, > > >>>> -1), > > >>>>>>> COALESCE(0, 933814882, ?0.int0)), COALESCE(+(100500), > > >> CASE(?0.bool1, > > >>>>>>> ?0.notNullInt0, null:INTEGER))))), CASE(=(-(null:INTEGER), > > >> 100500), > > >>>>>>> COALESCE(-(-(CASE(=(?0.bool0, ?0.notNullBool1), ?0.notNullInt1, > > >>>>>>> null:INTEGER), ?0.notNullInt0)), +(COALESCE(-(-1), > > >> ?0.notNullInt1, > > >>>>>>> -(null:INTEGER, null:INTEGER))), CASE(=(OR(?0.bool0, ?0.bool1, > > >>>> false), > > >>>>>>> <(true, ?0.notNullBool0)), -(+(null:INTEGER)), =(OR(?0.bool0, > > >>>> ?0.bool1, > > >>>>>>> false), SEARCH(null:INTEGER, Sarg[TRUE])), CASE(=(-1, null), > > >>>>>>> CASE(=(?0.notNullBool1, ?0.bool0), 1135316986, null:INTEGER), > > >> =(-1, > > >>>> 1), > > >>>>>>> +(null:INTEGER), =(-1, 100500), -(1), +(?0.notNullInt1, > > >>>> ?0.notNullInt0)), > > >>>>>>> COALESCE(-(null:INTEGER), CASE(true, 100500, null:INTEGER), > > >>>> *(1994412942, > > >>>>>>> null))), CASE(=(IS UNKNOWN(?0.notNullBool0), IS NOT > > >>>>>>> UNKNOWN(?0.notNullBool1)), +(?0.notNullInt1), =(IS > > >>>>>>> UNKNOWN(?0.notNullBool0), IS DISTINCT FROM(?0.notNullInt1, 1)), > > >>>> -(null, > > >>>>>>> +(-1)), =(IS UNKNOWN(?0.notNullBool0), >(false, true)), +(-(null, > > >>>>>> ?0.int1), > > >>>>>>> *(100500, ?0.int0)), CASE(=(?0.bool0, false), +(-1, 100500), > > >>>>>> *(-1236110720, > > >>>>>>> ?0.int0)))), =(-(null:INTEGER), +(+(COALESCE(?0.int0, > > >> null:INTEGER, > > >>>>>>> null:INTEGER, ?0.notNullInt0)))), ?0.notNullInt1, 100500)), > > >> Sarg[=]) > > >>>>>>> > > >>>>>>> Actual :IS NOT NULL(-(COALESCE(?0.int0, CASE(=(CASE(false, > > >>>>>>> SEARCH(?0.notNullInt0, Sarg[(0..2]; NULL AS FALSE]), true), > > >> NOT(IS > > >>>> NOT > > >>>>>>> TRUE(false))), -(+(100500), -(CASE(true, 1, 100500), > > >>>>>>> CASE(=(?0.notNullBool0, ?0.notNullBool0), null:INTEGER, > > >>>>>> ?0.notNullInt1))), > > >>>>>>> CASE(=(COALESCE(0, ?0.int1), 1), 1, =(COALESCE(0, ?0.int1), > > >> -(null, > > >>>>>>> ?0.int1)), CASE(?0.notNullBool0, COALESCE(?0.int0, ?0.int1), > > >>>>>>> -(null:INTEGER, null:INTEGER)), null:INTEGER)), > > >>>> +(*(COALESCE(COALESCE(1, > > >>>>>>> -2038957448 <(203)%20895-7448>, 0), CASE(false, ?0.int0, > > >> null:INTEGER), > > >>>>>>> COALESCE(?0.notNullInt0, null:INTEGER, null:INTEGER, -1), > > >> COALESCE(0, > > >>>>>>> 933814882, ?0.int0)), COALESCE(+(100500), CASE(?0.bool1, > > >>>> ?0.notNullInt0, > > >>>>>>> null:INTEGER))))), CASE(=(-(null:INTEGER), 100500), > > >>>>>>> COALESCE(-(-(CASE(=(?0.bool0, ?0.notNullBool1), ?0.notNullInt1, > > >>>>>>> null:INTEGER), ?0.notNullInt0)), +(COALESCE(-(-1), > > >> ?0.notNullInt1, > > >>>>>>> -(null:INTEGER, null:INTEGER))), CASE(=(OR(?0.bool0, ?0.bool1, > > >>>> false), > > >>>>>>> <(true, ?0.notNullBool0)), -(+(null:INTEGER)), =(OR(?0.bool0, > > >>>> ?0.bool1, > > >>>>>>> false), SEARCH(null:INTEGER, Sarg[TRUE])), CASE(=(-1, null), > > >>>>>>> CASE(=(?0.notNullBool1, ?0.bool0), 1135316986, null:INTEGER), > > >> =(-1, > > >>>> 1), > > >>>>>>> +(null:INTEGER), =(-1, 100500), -(1), +(?0.notNullInt1, > > >>>> ?0.notNullInt0)), > > >>>>>>> COALESCE(-(null:INTEGER), CASE(true, 100500, null:INTEGER), > > >>>> *(1994412942, > > >>>>>>> null))), CASE(=(IS UNKNOWN(?0.notNullBool0), IS NOT > > >>>>>>> UNKNOWN(?0.notNullBool1)), +(?0.notNullInt1), =(IS > > >>>>>>> UNKNOWN(?0.notNullBool0), IS DISTINCT FROM(?0.notNullInt1, 1)), > > >>>> -(null, > > >>>>>>> +(-1)), =(IS UNKNOWN(?0.notNullBool0), >(false, true)), +(-(null, > > >>>>>> ?0.int1), > > >>>>>>> *(100500, ?0.int0)), CASE(=(?0.bool0, false), +(-1, 100500), > > >>>>>> *(-1236110720, > > >>>>>>> ?0.int0)))), =(-(null:INTEGER), +(+(COALESCE(?0.int0, > > >> null:INTEGER, > > >>>>>>> null:INTEGER, ?0.notNullInt0)))), ?0.notNullInt1, 100500))) > > >>>>>>> > > >>>>>>> at > > >>>>>>> > > >>>>>> > > >>>> > > >> > > > org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAs(RexProgramFuzzyTest.java:251) > > >>>>>>> > > >>>>>>> Vladimir > > >>>>>> > > >>>>> > > >>>> > > >> > > > > >