3

我被要求在 python 的 HQL 中实现 select for update。我没有尝试过任何事情,因为我不知道我将如何去做。由于 select for update 在我们禁用 autocommit 之后获取行,并在那里通过锁定表中的特定行直到我们提交并启用 autocommit ,所以在我看来,在超表中实现有点怀疑。如何在 Hypertable 中锁定几行?

现在我有一张像

CREATE TABLE foo (
  c1,
  c2,
  ACCESS GROUP default (c1, c2)
);

select * from foo;
001 c1  a
001 c2  b

我还在开始学习 hypertable 。

一些帮助将不胜感激。

4

1 回答 1

0

Hypertable 不支持事务,也没有任何锁定或读-修改-写操作。但是,如果您只是想实现一个简单的更新,您可以MAX_VERSIONS 1在列上设置选项,如下所示:

创建表 foo (
  c1 MAX_VERSIONS 1,
  c2 MAX_VERSIONS 1,
  访问组默认值 (c1, c2)
);

然后每次插入时,它将 1) 替换旧值,或 2) 如果新值不存在,则插入新值。

于 2015-10-07T16:37:14.467 回答