问题标签 [gocql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pointers - 扫描不工作
我的扫描没有更新其目标变量。我有点得到它的工作:
但我不认为它按我想要的方式工作。
两条日志消息完全相同Existing obj &{ 0 0 0 0 0 0 0 0 0 0 0 0}
(空格是字符串字段。)这是因为大量使用反射来生成新对象吗?在他们的文档中,它说我应该用它var ValueName type
来定义我的目的地,但我似乎无法通过反射来做到这一点。我意识到这可能很愚蠢,但甚至可能只是为我指明进一步调试的方向,这会很棒。我的围棋技巧相当欠缺!
go - 使用 PageSize 时的 SliceMap
我正在尝试实现分页,但是当我将 SliceMap 与 PageSize 一起使用时,我得到了所有行 - 你知道为什么以及该怎么做吗?
注意:我需要由 CQL 列 mames 键入的行映射。
go - 将地图作为值传递到 Cassandra
我正在尝试将地图值插入到我的 Cassandra 数据库中。我正在使用 Go 编写我的客户端。目前它抛出错误“无法将字符串编组到map(varchar,varchar)”。我明白错误是什么,但我无法解决它。这是我编写的代码。
我没有得到的是,我已经将一个查询编写为一个完整的完整字符串,并且它可以正常工作而不会引发此错误。然而,用问号分解它会引发错误。我知道这很简单,我只是忽略了并且在文档中找不到,但是任何帮助都会非常感谢。
cassandra - 分页大查询:总数
关于 Cassandra 和分页。我可能会猜到答案,但只是为了确定;
我知道如何要求页面大小,但是否有可能获得查询的最终总数。就像您查询select * from tableName
页面大小为 10,但如果您不使用分页,您将得到 100。使用页面大小 10 时是否可以获得数字 100?
注意:如果它有任何用处,我正在使用gocql
.
gocql - UDT 在小于 3 的协议上不可用,请更新配置"
使用 UDT:
注意:cqlsh:show version
表
代码:
我得到:
更新配置?
cassandra - cassandra 上次更新(auto_now),上次访问和创建(auto_now_add)
有没有办法我们可以自动更新列的创建和最后更新/访问的时间戳?
我们可以使用toTimestamp(now())
函数来存储创建时间。但是我们有没有类似 的函数writetime(name)
,用于获取最后修改时间?是否有类似的功能可以读取创建时间和访问时间?
有没有办法让我自动生成和存储所有三个时间戳lastupdated
/lastaccessed
和时间戳?created
go - Gocql 自定义编组器
我有一个表,它的元组列由一个 int64 和一个 uuid 配对组成:
我目前可以使用 cql 语句设置字段,例如:
我传入 2 个变量作为参数, anint64
和 a gocql.UUID
。
我不想将 2 个变量到处移动,而是将它们放在一个结构中,例如
然后使用 aMarshaller
将这些传递到UPDATE
语句中。
这可能吗?我不确定是否可以为元组字段传入单个变量。如果是这样,我该怎么做?我不知道如何 - 我试图模仿https://github.com/gocql/gocql/blob/master/marshal_test.go#L935但我在无法设置字段的地方遇到错误结构 ( cannot refer to unexported field or method proto
)
go - 如何使用 gocql 获取查询返回的行数
我正在使用此处记录的 gocql 库:https ://godoc.org/github.com/relops/cqlc/cqlc#Fetchable并尝试在 golang 中编写一个 API 调用,该调用将询问我的所有元素满足特定字段并返回返回元素总数的数据库。我知道当我在 Cassandra 界面中时,我可以使用SELECT COUNT(*) from table1 WHERE ...;
table1 是表名的调用。我一直在阅读文档,我能找到的只是限制返回条目数量的限制函数。
例如,假设我在 Cassandra 中有一个在不同日期发生的事件的数据库表。我只想返回星期二发生的事件的数量,我想使用 gocql 来做到这一点。
目前我做类似的事情:
BindEventLog 函数返回在“一天”发生的事件数组,但同样,我只想要事件的数量,而不是事件本身。有没有办法在不遍历这个数组的情况下得到这个,因为无论如何我都会扔掉这个数组,所以让数据库给我整个数据数组真的很慢。
我是这方面的初学者,所以如果您需要更多信息,请询问,我试图尽可能具体。谢谢。
go - gocql/gocql 无法创建新会话:无效的内存地址或 nil 指针取消引用
我正在开发一个用 Go 编写的 api,其主要目标是它应该尽快响应请求。我想出了使用goroutines。
我用这个命令用 wrk 测试它:
Cassandra 似乎工作正常
这是我的 Go 代码的简化版本:
这是我的 go 代码和 cassandra 的进程限制,它们为不同的用户设置了相同的值:
你有什么建议?为什么 Go 无法创建新会话?
go - 支持连接池的 Golang cassandra 客户端
我们正在使用gocql
(https://github.com/gocql/gocql)驱动程序从我们的 golang 服务器连接到 Cassandra。对于每个 http 请求,我们都在创建一个新会话并将行插入到 cassandra。我们认为为每个请求创建一个会话非常耗费资源。
典型代码
有没有办法将连接池gocql
或任何其他 cassandra 驱动程序用于 golang?