naoki86star

インターネットの片隅でなにかしら書いてみる

備忘:varbinary in voltdb

voltdbclient.pyでVOLTTYPE_VARBINARY型でプロシージャに引数を渡すときで、hex文字列表現の引数を渡したいとき

argument='20014860486000000000000000008888'

from voltdbclient import *
import binascii
:
client = FastSerializer('127.0.0.1',21212)
proc = VoltProcedure( client, "SomeProcedure", [FastSerializer.VOLTTYPE_VARBINARY] )
response = proc.call([binascii.a2b_hex(argument), ])
:

(2/5追記)込み入ったことなので一言で書いてしまうとパーティションキーとして指定するときは@GetPartitionKeyでとってきたString idをVOLTTYPE_STRINGで渡していいらしい

(2019/5/24追記) argmentが数値になっていたら、struct.packとか使うことも考えてみていい。こっちのほうが速い。