[ 
https://issues.apache.org/jira/browse/CALCITE-5830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753673#comment-17753673
 ] 

Jiajun Xie commented on CALCITE-5830:
-------------------------------------

[~taoran] , ARRAY_INSERT is a function only available in the latest version of 
Spark. Is it really stable?

 

I found that it is not the same in Databricks: 
https://docs.databricks.com/en/sql/language-manual/functions/array_insert.html
{code:java}
> SELECT array_insert(array('a', 'b', 'c'), -1, 'z');
 ["a","b","c","z"]

> SELECT array_insert(array('a', 'b', 'c'), -5, 'z');
 ["z",NULL,"a","b","c"] {code}
I think inserting negative numbers is more reasonable in Databricks.

> Add ARRAY_INSERT function(enabled in Spark library)
> ---------------------------------------------------
>
>                 Key: CALCITE-5830
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5830
>             Project: Calcite
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 1.34.0
>            Reporter: Ran Tao
>            Assignee: Ran Tao
>            Priority: Major
>              Labels: pull-request-available
>
> array_insert(x, pos, val) - Places val into index pos of array x. Array 
> indices start at 1, or start from the end if index is negative. Index above 
> array size appends the array, or prepends the array if index is negative, 
> with 'null' elements
> *Examples:*
> > SELECT array_insert(array(1, 2, 3, 4), 5, 5); [1,2,3,4,5]
> > SELECT array_insert(array(5, 3, 2, 1), -3, 4); [5,4,3,2,1] 
> https://spark.apache.org/docs/latest/api/sql/index.html#array_insert



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to