You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Beam JIRA Bot (Jira)" <ji...@apache.org> on 2021/02/04 17:15:01 UTC

[jira] [Updated] (BEAM-9179) Refactor Beam ZetaSQL type translation code

     [ https://issues.apache.org/jira/browse/BEAM-9179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Beam JIRA Bot updated BEAM-9179:
--------------------------------
    Labels: stale-P2  (was: )

> Refactor Beam ZetaSQL type translation code
> -------------------------------------------
>
>                 Key: BEAM-9179
>                 URL: https://issues.apache.org/jira/browse/BEAM-9179
>             Project: Beam
>          Issue Type: Improvement
>          Components: dsl-sql-zetasql
>            Reporter: Robin Qiu
>            Priority: P2
>              Labels: stale-P2
>          Time Spent: 8h 20m
>  Remaining Estimate: 0h
>
> Currently, how types work in Beam ZetaSQL is very confusing: code that does type conversion between Calcite/Beam/ZetaSQL type systems are everywhere and is likely to be not consistent. In addition, the recent migration to BeamZetaSqlCalcRel makes the situation even worse: it adds another layer for type conversion and makes a lot of code (for making ZetaSQL functions manually) obsolete. This makes debugging and supporting new features very hard. A few examples:
>  * Support new ZetaSQL types (e.g. DATE/TIME/DATETIME)
>  * Fix the long-standing precision & timezone issue of TIMESTMAP type
>  * Support BeamSQL query parameters
> Therefore, I propose we work on the following items to make the story of Beam ZetaSQL type clearer:
>  * Define a clear mapping between Calcite/Beam/ZetaSQL types and values
>  * Refactor the codebase to move all type conversion code to a single source of truth
>  * Add thorough testing for it
>  * Remove obsolete code that is added to make functions work before BeamZetaSqlCalcRel



--
This message was sent by Atlassian Jira
(v8.3.4#803005)