[
https://issues.apache.org/jira/browse/IGNITE-16635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Orlov updated IGNITE-16635:
--------------------------------------
Description: For now, we're using the NativeType enum to create metadata
for the columns in the result set. The problem here is that range of types
supported by sql engine is much wider then the range types supported by storage
(For example, interval types or collection types could be easilly supported by
the sql engine). Hence, we need to decouple those types and introduce a separe
enumeration for the types supported by the sql engine to use it for metadata
creation. (was: Now we have mappings between inner and native types, start
point: org.apache.ignite.internal.sql.engine.util.TypeUtils#nativeType
this leads to all undefined types (like INTERVAL) are mapped to byte array type:
for example for such a a case:
{noformat}
select id::interval hour, id::interval year from person;
{noformat}
ResultSetMetadataImpl#fields will return List<ResultFieldMetadata> with only
_NativeType type();_ mapping.
)
> Sql. Refactor strong mapping between inner RelDataType and NativeType.
> ----------------------------------------------------------------------
>
> Key: IGNITE-16635
> URL: https://issues.apache.org/jira/browse/IGNITE-16635
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Evgeny Stanilovsky
> Assignee: Konstantin Orlov
> Priority: Major
> Labels: ignite-3
>
> For now, we're using the NativeType enum to create metadata for the columns
> in the result set. The problem here is that range of types supported by sql
> engine is much wider then the range types supported by storage (For example,
> interval types or collection types could be easilly supported by the sql
> engine). Hence, we need to decouple those types and introduce a separe
> enumeration for the types supported by the sql engine to use it for metadata
> creation.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)