Cassandra:查询结果中缺少列

时间:2015-03-10 17:54:11

标签: java cassandra nosql

这是一个奇怪的。

我有一张Cassandra桌子,打电话给它,"测试"。它有几列。这些是通过Java驱动程序查询的,带有一个简单的" select * from test,其中uuid = foo"。

这在本地工作,返回所有列。

然而,在生产环境中,尽管其中包含数据(表明可以写入列),但会删除一列。

我查看了Row对象的ColumnDefinitions,它确实没有包含相关列。

为什么呢?任何人都有可行的理论吗?

1 个答案:

答案 0 :(得分:2)

如果您正在使用'请选择*'作为PreparedStatement,如果架构发生更改(添加或删除了列),则需要重新编写语句。 Cassandra在2.1.3之前没有更新它准备好的模式更改语句缓存,所以这对以前的版本不起作用。

请参阅:Cassandra nodejs DataStax driver don't return newly added columns via prepared statement execution