[
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:24 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).
I think Step 1 is sufficient enough to unblock users in creating an empty array
for the time being but Step 2 is required to allow seamless SQL experience.
Without step two users will most likely have to manually convert their empty
array's data type.
With step 1:
{code:java}
SELECT COALESCE(int_column, CAST(ARRAY[] as INT)){code}
With step 1 and 2:
{code:java}
SELECT COALESCE(int_column, ARRAY[]) {code}
*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 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
> 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)