[
https://issues.apache.org/jira/browse/CALCITE-5346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624079#comment-17624079
]
Julian Hyde commented on CALCITE-5346:
--------------------------------------
Possibly this could be implemented with a new method in {{RelDataTypeSystem}}
that has a method that returns a string-to-string map.
If you have created {{BOOL}} as an alias for {{{}BOOLEAN{}}}, and write
{{SELECT foo(true)}} would the error message say "\{{Function not found:
'FOO(<BOOL>)'}}" or "\{{Function not found: 'FOO(<BOOLEAN>)'}}". To achieve the
former, the mapping to need to be bi-directional (i.e. a bijection).
If you have created {{BOOL}} as an alias for {{{}BOOLEAN{}}}, it will be valid
to write {{{}SELECT CAST(1 AS BOOL){}}}, but should it be valid to write
{{{}SELECT CAST(1 AS BOOLEAN){}}}?
Knowing a little of BigQuery's type system, I think it might be necessary to
map {{TIMESTAMP}} to {{DATETIME}} and {{TIMESTAMP WITH LOCAL TIME ZONE}} to
{{{}TIMESTAMP{}}}. That is, the mapping has an order to it, or in other words,
behaves as a permutation.
Besides {{CAST}} and DDL (e.g. {{{}CREATE TABLE{}}}), where else are types used
in Calcite?
Is {{STRING}} a direct substitution for {{{}VARCHAR{}}}?
Would the type alias scheme disallow certain types?
Can/should any parts of this be implemented using user-defined types? (See
CALCITE-2045.)
> Support for type aliases
> ------------------------
>
> Key: CALCITE-5346
> URL: https://issues.apache.org/jira/browse/CALCITE-5346
> Project: Calcite
> Issue Type: New Feature
> Reporter: Will Noble
> Assignee: Will Noble
> Priority: Major
>
> We would like to support some sort of type alias functionality in order to
> map certain [BigQuery
> types|https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types]
> to ISO types, e.g. {{STRING}} -> {{VARCHAR}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)