У меня есть таблица со столбцом кортежа, которая состоит из int64 в паре с UUID:Gocql пользовательского маршаллер
CREATE TABLE ks.mytable {
fileid frozen <tuple <bigint, uuid>>,
hits counter,
...
и я в настоящее время установить поле, используя CQL заявления, как:
UPDATE ks.mytable hits = hits + 1 WHERE fileid=(? ?);
и передаю в качестве аргументов 2 переменные, int64
и gocql.UUID
.
Вместо перемещения 2 переменных повсюду, я хочу, чтобы поместить их в структуры, что-то вроде
type MyID struct {
id int64
uid gocql.UUID
}
затем использовать Marshaller
, чтобы передать их в UPDATE
заявление.
Возможно ли это? Я не уверен, могу ли я передать одну переменную для поля tuple. Если да, то как я могу это сделать? Я не могу понять, как - я пытался имитировать https://github.com/gocql/gocql/blob/master/marshal_test.go#L935, но я получаю сообщение об ошибке, когда я не могу установить поля в структуры (cannot refer to unexported field or method proto
)
Ошибка, возникающая из-за того, что вы пытаетесь использовать из другого пакета переменную или метод, которые не экспортируются (т. Е. Они не начинаются с верхнего регистра). Но кроме этого, я не знаю cql, поэтому не могу помочь. Написание 'Proto' вместо' proto' может или не может решить вашу проблему. – AkiRoss