У меня есть UDT в Cassandra, и у меня есть таблица, в схеме которой есть массив этих UDT. Вот образец:
CREATE TYPE keyspace.test_type(
x float,
y float)
В моей схеме есть
CREATE TABLE test_table(
key text,
test_array list<FROZEN <test_type>>,
PRIMARY KEY (key))
Внутри моего пакета go я построил структуру:
type Test_type struct{
x float32
y float32
}
Затем у меня есть функция, которая по сути возвращает список этого test_type: []test_type
, назовем его my_array
.
Когда я пытаюсь сделать вставку с помощью gocql, например:
err := gocql.Session.Query('INSERT into test_table (key,test_array)
VALUES (?,?)', 'key', my_array).Exec()
Вместо массива я получаю кучу нулевых значений. По сути, test_type некорректно отображается на созданный мной UDT - это мое предположение.
По сути, мой вопрос заключается в том, как сопоставить структуру с переходом на udt, чтобы тип распознавался правильно. .