That seems pretty amazing. On Mon, Sep 17, 2018 at 3:22 PM Mingmin Xu <[email protected]> wrote:
> Awesome work, we should call Calcite operator functions if available. > > I haven't get time to read the PR yet, for those impacted would keep > existing implementation. One example is, I notice FLOOR/CEIL only supports > months/years recently which is quite a surprise to me. > > Mingmin > > On Mon, Sep 17, 2018 at 3:03 PM Anton Kedin <[email protected]> wrote: > >> This is pretty amazing! Thank you for doing this! >> >> Regards, >> Anton >> >> On Mon, Sep 17, 2018 at 2:27 PM Andrew Pilloud <[email protected]> >> wrote: >> >>> I've adapted Calcite's EnumerableCalc code generation to generate the >>> BeamCalc DoFn. The primary purpose behind this change is so we can take >>> advantage of Calcite's extensive SQL operator implementation. This deletes >>> ~11000 lines of code from Beam (with ~350 added), significantly increases >>> the set of supported SQL operators, and improves performance and >>> correctness of currently supported operators. Here is my work in progress: >>> https://github.com/apache/beam/pull/6417 >>> >>> There are a few bugs in Calcite that this has exposed: >>> >>> Fixed in Calcite master: >>> >>> - CALCITE-2321 <https://issues.apache.org/jira/browse/CALCITE-2321> >>> - The type of a union of CHAR columns of different lengths should be >>> VARCHAR >>> - CALCITE-2447 <https://issues.apache.org/jira/browse/CALCITE-2447> >>> - Some POWER, ATAN2 functions fail with NoSuchMethodException >>> >>> Pending PRs: >>> >>> - CALCITE-2529 <https://issues.apache.org/jira/browse/CALCITE-2529> >>> - linq4j should promote integer to floating point when generating >>> function >>> calls >>> - CALCITE-2530 <https://issues.apache.org/jira/browse/CALCITE-2530> >>> - TRIM function does not throw exception when the length of trim >>> character >>> is not 1(one) >>> >>> More work: >>> >>> - CALCITE-2404 <https://issues.apache.org/jira/browse/CALCITE-2404> >>> - Accessing structured-types is not implemented by the runtime >>> - (none yet) - Support multi character TRIM extension in Calcite >>> >>> I would like to push these changes in with these minor regressions. Do >>> any of these Calcite bugs block this functionality being adding to Beam? >>> >>> Andrew >>> >> > > -- > ---- > Mingmin >
