我在尝试为我的应用程序实现一些计数器时遇到了这种奇怪的行为。基本上,我做了一个像这样的计数器表:
CREATE TABLE stats_dev.log_counters (
date text PRIMARY KEY,
all counter
);
然后我还有一些我想要计算的特定类型的消息,所以在我的 Go 应用程序中,我更改了表格以添加我以前没有的列。
我的应用程序正在增长,并且我开始有 30 多个列(不应超过 50 个),当我想检索所有这些计数器时,结果中缺少一些列。
query := s.Query(`SELECT * FROM `+_apiCountersTable+` WHERE date IN ?`, dates)
res, err := query.Iter().SliceMap()
这会返回 30 列超过 34 列。虽然,当我在 CQLSH 上做请求时:
cqlsh:stats_dev> SELECT * FROM api_counters WHERE date = 'total';
我得到了正确的完整结果。所以 :
这是否来自我的要求,应该有所不同?
那可能来自gocql驱动程序吗?
那个模式是完全愚蠢的吗?
我的临时解决方案是从system.schema_columns表中SELECT 列名和 strings.Join() 所有这些到我的 SELECT 查询......
非常感谢您的帮助。
qq_笑_17
aluckdog
相关分类