首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gocql -使用Cassandra 3 timeuuid函数

gocql -使用Cassandra 3 timeuuid函数
EN

Stack Overflow用户
提问于 2018-04-05 22:13:18
回答 1查看 688关注 0票数 2

在cqlsh中,我可以执行如下内容:

代码语言:javascript
复制
SELECT id FROM names WHERE name = 'dave' AND id > maxTimeuuid('2015-04-05 00:05') AND id < minTimeuuid('2019-01-01 00:05');

..。这将返回一个预期的列表。

代码语言:javascript
复制
 id
--------------------------------------
 632f4960-375b-11e8-90b1-02420a000203
 91f03523-3761-11e8-a777-02420a000a05
 32dbffc4-3762-11e8-a778-02420a000a05
 9ffb1ab8-3762-11e8-a779-02420a000a05
 c28a0372-3764-11e8-a77b-02420a000a05

然而,我正在努力使它在gocql中发挥作用:

代码语言:javascript
复制
var found bool = false
m := map[string]interface{}{}
qString := "SELECT id FROM names WHERE name=? AND id > maxTimeuuid(?) AND id < minTimeuuid(?);"
query := Cassandra.Sessionds.Query(qString, name, toFrom.From, toFrom.To).Consistency(gocql.One)
fmt.Println("sending IsRunning query: " + query.String())
iterable := query.Iter()
for iterable.MapScan(m) {
    found = true
    lookupTable = HostLookup {
        Id:     m["id"].(gocql.UUID),
    }
}

尽管调试行看起来没问题,

代码语言:javascript
复制
sending IsRunning query: [query statement="SELECT id FROM names WHERE name=? AND id > maxTimeuuid(?) AND id < minTimeuuid(?);" values=[dave 2015-04-05 00:05 2019-01-01 00:05] consistency=ONE]

..。我总是以一个空的可迭代结束。我在其他地方成功地使用了非常类似的代码,这里的区别是timeuuid函数。我尝试过各种安排与文字引号,但没有任何效果,任何建议都是感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-08 16:44:31

当我更详细地查看可迭代性时,我发现:

“无法将字符串编成时间戳”

..。这让我找到了答案-- GoCQL : Marshal string into timestamp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49682342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档