If we are going to use FLOAT[N] as sugar for another CQL data type, maybe
tuples are more convenient than lists. So FLOAT[N] could be equivalent to
TUPLE<FLOAT, FLOAT, ..., FLOAT>.

Differently to collections, tuples have a fixed size, they are always
frozen and I think they don't support random access. These properties seem
desirable for vectors.

Tuples however support null values, whereas collections doesn't. I mean,
you can remove elements from a collection, but I think you are never going
to see an explicit null in the collection. Tuples don't allow to remove a
value, but the entire tuple can be written with null values. Like in INSERT
INTO t (key, tuple) VALUES (0,  (1, null, 3)).

On Wed, 26 Apr 2023 at 21:53, Mick Semb Wever <m...@apache.org> wrote:

> My inclination then would be to say you declare an ARRAY<FLOAT, N> (which
>> is semantic sugar for FROZEN<LIST<FLOAT, N>>). This is very consistent with
>> our existing style. We then simply permit such columns to define ANN
>> indexes.
>>
>
>
> So long as nulls aren't a problem as David questions, an alternative is:
>
>  FLOAT[N] as semantic sugar for LIST<FLOAT, N>
>
> And ANN requiring FROZEN<FLOAT[N]>
>
> Maybe taking a poll in a few days will be positive to keep this
> moving forward.
>

Reply via email to