【发布时间】:2015-04-30 22:03:12
【问题描述】:
在架构中添加一对列后,我想通过select * 选择它们。取而代之的是 select * 返回一组旧的列而不是新的。
根据文档推荐,我使用 {prepare: true} 来平滑 JavaScript 浮点数和 Cassandra ints/bigints 差异(我真的不需要这里准备好的语句,它只是为了解决这个 ResponseError : Expected 4 or 0 byte int 问题,我也不想用query hints打扰自己。
所以在第一次执行select * 时,我有 3 列。在此之后,我在模式中添加了 2 列。 select * 与 {prepare: true} 一起使用时仍返回 3 列,如果不与 {prepare: true} 一起使用,则返回 5 列。
我希望有一种方法可以可靠地刷新此缓存或在每次应用启动时使 cassandra 驱动程序准备语句。
我不认为重启数据库集群是一种可靠的方法。
【问题讨论】:
-
你可以clear the prepared statement metadata使用:
client.metadata.clearPrepared()
标签: node.js cassandra prepared-statement