JOOQ升级后TTL()函数显示null而不是0

问题描述 投票:0回答:1

使用 TTL 选择语句: 例如:

SELECT value, ttl(value), last_modified
FROM test.tblTTLINORDERBY
WHERE useruid = ‘userid1' AND direction IN ('out', 'in');

在JOOQ升级之前,如果我们在插入数据时不使用TTL值,然后使用select查询检查TTL值,则会显示为

0

JOOQ升级后(

3.9.1
->
3.17.x
)
,如果我们在插入数据时不使用TTL值,然后使用select查询检查TTL值,则会将值显示为
null

您是否认为

0
null
在这种情况下是等效的?

cassandra jooq cassandra-3.0 jooq-codegen-maven
1个回答
0
投票

当数据未设置过期时,其

TTL()
值为
null
。如果数据之前设置了 TTL,则可以通过设置
TTL
0
来覆盖/删除过期时间。这意味着
0
null
可以互换并且含义相同。

作为一点背景知识,这在 Cassandra 3.10 中已保持一致,因此可以使用

0
null
(CASSANDRA-12216) 设置 TTL。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.