【发布时间】:2018-12-26 11:40:47
【问题描述】:
我正在尝试使用 32 位有符号整数的比较器/验证器创建动态列。这显然将节省存储空间以及其他优势。目前,如果我有一个 UTF8Type 验证器(使用 Twitter 的 cassandra Ruby 客户端),这将非常有用:
db.insert(:foo, 'mykey', {'mycol' => 'myval'})
这是出现问题的地方:
db.insert(:foo, 'mykey', {5 => 'myval'})
我认为这更像是一个 Ruby 问题而不是 Cassandra 问题。使用 Rails 控制台,我得到以下信息:
TypeError: no implicit conversion of Fixnum into String
进一步澄清,我不能简单地这样做:
db.insert(:foo, 'mykey', {'5' => 'myval'})
这将触发验证失败,该验证需要列的整数而不是字符串。
有没有办法让这在 Ruby 中合理地工作,这样我就不必使用 UTF8Type 列名,并且可以在我的基于 Cassandra 1.2 的应用程序中坚持使用基于 int 的列名?
【问题讨论】:
标签: ruby-on-rails ruby cassandra thrift irb