【问题标题】:Column family created with phpcassa is not visible by cqlsh and vice versacqlsh 看不到使用 phpcassa 创建的列族,反之亦然
【发布时间】:2013-09-01 21:08:53
【问题描述】:

我刚刚通过 phpcassa 创建了列族,下面是代码

$sys = new SystemManager('127.0.0.1');
$sys->create_column_family('demo', 'Users');
$pool = new ConnectionPool('demo', array('localhost'));
$users = new ColumnFamily($pool, 'Users');
$users->insert('user0', array("name" => "joe", "state" => "TX"));
$users->insert('user1', array("name" => "bob", "state" => "CA"));

当我使用 cqlsh 并转到演示键空间时,我无法从中选择任何记录,它直接告诉我

cqlsh:demo> select * from Users;
Bad Request: unconfigured columnfamily users
cqlsh:demo> select * from users;
Bad Request: unconfigured columnfamily users

也是相反的情况,当我在 cqlsh 中使用 CREATE TABLE 语法创建任何表时,phpcassa 无法找到它并抛出 NOTFOUND 异常。

【问题讨论】:

  • 我意识到这可能是我的 cql 创建表遵循 CQL 3.0 的问题,并且可能是 phpcassa 无法识别。我在使用 cassandra-cli 时意识到这一点,我看到了一种警告,即由于某些已知问题,cql 3.0 版本表将被忽略

标签: cassandra cqlsh phpcassa


【解决方案1】:

您需要使用双引号来强制 cqlsh 区分大小写:

从“用户”中选择 *;

更好:只保留小写。

【讨论】:

  • 谢谢,我现在明白案例是如何运作的了。但是我的 cql 3.0 表仍然对 phpcassa 不可见,是确认版本相关的问题吗?
【解决方案2】:

我知道了,当我使用 CQL 2.0 创建表时,phpcassa 看不到使用 CQL 版本 3.0 创建的版本问题表,它在 phpcassa 中没有任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2013-06-26
    • 2012-04-02
    相关资源
    最近更新 更多