What if value assigned is Enumerable, but is not Array or Range? (Say, it is ActiveRecord::Relation.) What user expects is it would be converted to_a, and then inserted as a vector. What actually will happen, is pretty obscure error:
when Array, Range would be skipped;
in prepare_value_for_insert, there would be called Array(relation), which will do to_a (producing array of objects)... and then multiplied by DF size, producing vector much larger than expected.
What if value assigned is Enumerable, but is not Array or Range? (Say, it is ActiveRecord::Relation.) What user expects is it would be converted to_a, and then inserted as a vector. What actually will happen, is pretty obscure error:
when Array, Range would be skipped; in prepare_value_for_insert, there would be called Array(relation), which will do to_a (producing array of objects)... and then multiplied by DF size, producing vector much larger than expected.