[
https://issues.apache.org/jira/browse/FLINK-20578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624154#comment-17624154
]
Eric Xiao edited comment on FLINK-20578 at 10/26/22 7:20 PM:
-------------------------------------------------------------
Hi I wanted to get more involved in contributing to the Flink project and found
this starter task - my team is working with the Table / SQL APIs, so I thought
this would be a good beginning task to work on :). [~surahman] are you still
working on this issue? If not I would love to take over.
> If Flink support empty array, which data type of elements in array should be
> ? Does it cause new problems.
[~pensz] I think what we can do is:
# (Look below for examples from other databases) Set a default data type when
the empty array is created: Two options for the default data type:
## Use or create a new empty/void data type.
## Use an existing data type i.e. Integer.
# Teach operations such as `COALESCE` how to type coercion from the default
data type to the desired data type (a separate PR).
Default Data Type
I believe the query in the issue would qualify as a query with no context. I
tested in other query engines and these are the results I got:
Trino:
!Screen Shot 2022-10-26 at 2.28.49 PM.png|width=957,height=340!
They use unknown datatype
Spark:
!image-2022-10-26-14-42-08-468.png|width=505,height=112!
They use unknown datatype
BigQuery:
!Screen Shot 2022-10-25 at 10.50.47 PM.png|width=374,height=158!
!image-2022-10-26-14-42-57-579.png|width=373,height=125!
They use integer datatype
was (Author: JIRAUSER295489):
Hi I wanted to get more involved in contributing to the Flink project and found
this starter task - my team is working with the Table / SQL APIs, so I thought
this would be a good beginning task to work on :). [~surahman] are you still
working on this issue? If not I would love to take over.
> If Flink support empty array, which data type of elements in array should be
> ? Does it cause new problems.
[~pensz] I think there are two paths:
1. If we given more context on what the array type should be we should try
using that.
2. If we have no context we use a default data type.
Path #1 -
I can forsee queries as such `SELECT COALESCE(empty_str_column,ARRAY[])` where
we could infer the data should be of string type and try to return that.
Path #2 - Default Data Type
I believe the query in the issue would qualify as a query with no context. I
tested in other query engines and these are the results I got:
Trino:
!Screen Shot 2022-10-26 at 2.28.49 PM.png|width=957,height=340!
They use unknown datatype
Spark:
!image-2022-10-26-14-42-08-468.png|width=505,height=112!
They use unknown datatype
BigQuery:
!Screen Shot 2022-10-25 at 10.50.47 PM.png|width=374,height=158!
!image-2022-10-26-14-42-57-579.png|width=373,height=125!
They use integer datatype
> Cannot create empty array using ARRAY[]
> ---------------------------------------
>
> Key: FLINK-20578
> URL: https://issues.apache.org/jira/browse/FLINK-20578
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / API
> Affects Versions: 1.11.2
> Reporter: Fabian Hueske
> Priority: Major
> Labels: pull-request-available, starter
> Fix For: 1.17.0
>
> Attachments: Screen Shot 2022-10-25 at 10.50.42 PM.png, Screen Shot
> 2022-10-25 at 10.50.47 PM.png, Screen Shot 2022-10-25 at 11.01.06 PM.png,
> Screen Shot 2022-10-26 at 2.28.49 PM.png, image-2022-10-26-14-42-08-468.png,
> image-2022-10-26-14-42-57-579.png
>
>
> Calling the ARRAY function without an element (`ARRAY[]`) results in an error
> message.
> Is that the expected behavior?
> How can users create empty arrays?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)