Andres de la Peña created CASSANDRA-18085:
---------------------------------------------

             Summary: 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


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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to