2016-07-01 6 views
0

単一のトランザクションでいくつかのコードを実行します。 私はPythonクライアント(0.5.4)でtarantool 1.6を使用 私のコードは、この(それが仕事をdoes'not)のようになります。pythonクライアントからbox.commitを呼び出す方法

import tarantool 
tnt = tarantool.Connection(**params) 
tnt.call('box.begin') 
tnt.update(space1, 1, [('=', 2, 100)]) 
tnt.update(space2, 1, [('+', 1, 200)]) 
tnt.call('box.comit') 

私はエラーを得た:

tarantool.error.DatabaseError: (33, "Procedure 'box.comit' is not defined") 

間違っているのですか?どのようにpythonからbox.comitを呼び出すことができますか?

+0

それはbox.commit' 'べきか? –

答えて

0

申し訳ありませんが、私はコード内の小さなmistaskeを行い、このバリアントは正常に動作します:

import tarantool 
tnt = tarantool.Connection(**params) 
tnt.call('box.begin') 
tnt.update(space1, 1, [('=', 2, 100)]) 
tnt.update(space2, 1, [('+', 1, 200)]) 
tnt.call('box.commit') 
+0

これの代わりにストアドプロシージャを使用します。 '関数my_update(space_1_tuple、space_2_table) box.begin() box.space.space1.update {space_1_tuple ...} - など box.comit() end' –

関連する問題