You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Berenguer Blasi (Jira)" <ji...@apache.org> on 2022/12/05 14:05:00 UTC

[jira] [Comment Edited] (CASSANDRA-18085) Add support for singletons on CQL collection functions

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

Berenguer Blasi edited comment on CASSANDRA-18085 at 12/5/22 2:04 PM:
----------------------------------------------------------------------

Yep I am following and waiting for the outcome of that discussion. I'll be happy to help with the review if needed.


was (Author: bereng):
Yep I am following and waiting for the outcome of that discussion. I'll be happy to help with the review.

> Add support for singletons on CQL collection functions
> ------------------------------------------------------
>
>                 Key: CASSANDRA-18085
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18085
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL/Semantics
>            Reporter: Andres de la Peña
>            Assignee: Andres de la Peña
>            Priority: Normal
>             Fix For: 4.x
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> CASSANDRA-18060 has added generic CQL functions to get the min, max, sum, avg and number of items in a collection. These functions can only be applied to collection values. The functions throw an {{InvalidRequestEception}} when applied to not-collection values.
> CASSANDRA-18078 has been pointed out that those functions could be applied also to not-collection values, considering that the not-collection argument can be considered a collection of a single element. For example:
>  * collection_min(7) = collection_min([7]) = collection_min(\{7}) = 7
>  * collection_max(7) = collection_max([7]) = collection_max(\{7}) = 7
>  * collection_sum(7) = collection_sum([7]) = collection_sum(\{7}) = 7
>  * collection_avg(7) = collection_avg([7]) = collection_avg(\{7}) = 7
>  * collection_count(7) = collection_count([7]) = collection_count(\{7}) = 1
> This would be particularly useful when used in combination with functions such as {{writetime}} and {{{}ttl{}}}. Those functions can return either single values or collections of values depending on whether the column passed as argument is multicell. Thus, users interested on getting the min/max/sum/avg of the writetimes/ttls of a column need to consider the type of the column when choosing what functions they should use. With the proposed change they could just use, for example, {{collection_max(writetime(column))}} regardless of the column type.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org