[ https://issues.apache.org/jira/browse/BEAM-9179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17032705#comment-17032705 ]
Andrew Pilloud commented on BEAM-9179: -------------------------------------- Came across this bug when looking at how to get from ZetaSQL to Beam Schema and found only zetaSqlTypeToCalciteType. I think everything we want to do can be expressed within Beam Schema, so we should make that the source of truth. There can then be bidirectional converters between Beam Schema and ZetaSQL. (To get to calcite, we can use the existing converters from Beam Schema and Calcite.) > Simplify types in Beam ZetaSQL > ------------------------------ > > Key: BEAM-9179 > URL: https://issues.apache.org/jira/browse/BEAM-9179 > Project: Beam > Issue Type: Improvement > Components: dsl-sql-zetasql > Reporter: Yueyang Qiu > Assignee: Yueyang Qiu > Priority: Major > Time Spent: 40m > 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)