У меня есть UDT в Кассандре, и у меня есть таблица с массивом этих 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, который я создал, это мое предположение.
По сути, мой вопрос заключается в том, как вы отображаете структуру в go в udt так, чтобы тип распознавался правильно.,