Yueyang Qiu created BEAM-9179:
---------------------------------

             Summary: Better story for 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


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)

Reply via email to