2016-07-01 69 views
0

我想在單個事務中執行一些代碼。 我用tarantool 1.6與Python客戶端(0.5.4) 我的代碼看起來是這樣的(它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' –