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. >