[
https://issues.apache.org/jira/browse/CALCITE-5751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
jackylau updated CALCITE-5751:
------------------------------
Description:
h3.
[array_append|https://spark.apache.org/docs/latest/api/sql/index.html#array_append]
array_append(array, element) - Add the element at the end of the array passed
as first argument. Type of element should be similar to type of the elements of
the array. Null element is also appended into the array. But if the array
passed, is NULL output is NULL
*Examples:*
{code:java}
{code}
*> SELECT array_append(array('b', 'd', 'c', 'a'), 'd');
["b","d","c","a","d"]
> SELECT array_append(array(1, 2, 3, null), null);
[1,2,3,null,null]
> SELECT array_append(CAST(null as Array<Int>), 2);
NULL*
array_prepend is not in the docs, but in the code
https://issues.apache.org/jira/browse/SPARK-41233
{code:java}
usage = """ _FUNC_(array, element) - Add the element at the beginning of the
array passed as first argument. Type of element should be the same as the type
of the elements of the array. Null element is also prepended to the array. But
if the array passed is NULL output is NULL """, examples = """ Examples: >
SELECT _FUNC_(array('b', 'd', 'c', 'a'), 'd'); ["d","b","d","c","a"] > SELECT
_FUNC_(array(1, 2, 3, null), null); [null,1,2,3,null] > SELECT _FUNC_(CAST(null
as Array<Int>), 2); NULL
case class ArrayPrepend(left: Expression, right: Expression) extends
RuntimeReplaceable {code}
h3.
[array_position|https://spark.apache.org/docs/latest/api/sql/index.html#array_position]
array_position(array, element) - Returns the (1-based) index of the first
element of the array as long.
*Examples:*
{code:java}
> SELECT array_position(array(3, 2, 1), 1);
3 {code}
h3.
[array_remove|https://spark.apache.org/docs/latest/api/sql/index.html#array_remove]
array_remove(array, element) - Remove all elements that equal to element from
array.
*Examples:*
{code:java}
> SELECT array_remove(array(1, 2, 3, null, 3), 3);
[1,2,null] {code}
> Add ARRAY_APPEND, ARRAY_POSITION, ARRAY_REMOVE ARRAY_PREPEND for Spark dialect
> ------------------------------------------------------------------------------
>
> Key: CALCITE-5751
> URL: https://issues.apache.org/jira/browse/CALCITE-5751
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.35.0
> Reporter: jackylau
> Assignee: jackylau
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.35.0
>
>
> h3.
> [array_append|https://spark.apache.org/docs/latest/api/sql/index.html#array_append]
> array_append(array, element) - Add the element at the end of the array passed
> as first argument. Type of element should be similar to type of the elements
> of the array. Null element is also appended into the array. But if the array
> passed, is NULL output is NULL
> *Examples:*
>
> {code:java}
> {code}
> *> SELECT array_append(array('b', 'd', 'c', 'a'), 'd');
> ["b","d","c","a","d"]
> > SELECT array_append(array(1, 2, 3, null), null);
> [1,2,3,null,null]
> > SELECT array_append(CAST(null as Array<Int>), 2);
> NULL*
>
> array_prepend is not in the docs, but in the code
> https://issues.apache.org/jira/browse/SPARK-41233
> {code:java}
> usage = """ _FUNC_(array, element) - Add the element at the beginning of the
> array passed as first argument. Type of element should be the same as the
> type of the elements of the array. Null element is also prepended to the
> array. But if the array passed is NULL output is NULL """, examples = """
> Examples: > SELECT _FUNC_(array('b', 'd', 'c', 'a'), 'd');
> ["d","b","d","c","a"] > SELECT _FUNC_(array(1, 2, 3, null), null);
> [null,1,2,3,null] > SELECT _FUNC_(CAST(null as Array<Int>), 2); NULL
> case class ArrayPrepend(left: Expression, right: Expression) extends
> RuntimeReplaceable {code}
> h3.
> [array_position|https://spark.apache.org/docs/latest/api/sql/index.html#array_position]
> array_position(array, element) - Returns the (1-based) index of the first
> element of the array as long.
> *Examples:*
>
> {code:java}
> > SELECT array_position(array(3, 2, 1), 1);
> 3 {code}
>
> h3.
> [array_remove|https://spark.apache.org/docs/latest/api/sql/index.html#array_remove]
> array_remove(array, element) - Remove all elements that equal to element from
> array.
> *Examples:*
>
> {code:java}
> > SELECT array_remove(array(1, 2, 3, null, 3), 3);
> [1,2,null] {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)