Я хочу установить TTL 30 дней из поля времени записи таблицы (id, name, time) во время вставки. Для этого я создаю пользовательские функции (UDF) bigint fun(rTime,cTime)
какустановка TTL с использованием временного поля записи при вставке в cassandra
CREATE FUNCTION fun(rtime timestamp,ctime timestamp) CALLED ON NULL INPUT
RETURNS bigint LANGUAGE java as 'return 2592000-((ctime.toTime() -rtime.toTime())/1000);';
здесь, функция весело вычисляет время в секундах, эти данные должны жить. 2592000 - это время в секундах в течение 30 дней.
Теперь я пытаюсь использовать функцию выше для установки TTL, как
INSERT INTO record(id,name,time) VALUES (123,'data123','2016-08-08 06:06:00')
USING TTL fun('2016-08-08 06:06:00',totimestamp(now()));
получаю ошибку, как
Синтаксис Исключение: ErrorMessage код = 2000 ........
Есть ли другой способ установить ttl на основе поля времени записи. Что такое проблема с вышеуказанным подходом?