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

ハイパーテーブルはトランザクションをサポートしておらず、ロックや読み取り-変更-書き込み操作はありません。ただし、単純な更新を実装しようとしているだけの場合は、MAX_VERSIONS 1次のように列にオプションを設定できます。

CREATE TABLE foo (
  c1 MAX_VERSIONS 1,
  c2 MAX_VERSIONS 1,
  アクセス グループのデフォルト (c1、c2)
);

次に、挿入するたびに、1) 古い値を置き換えるか、2) まだ存在しない場合は新しい値を挿入します。

于 2015-10-07T16:37:14.467 に答える