VoltDBのadhocなSQLのpythonスクリプトはこう書くべきだった

VoltDBのpythonインタフェース(voltdbclient.py)を使うときに任意SQLをprocedureとしていったん登録してから起動していると以前書いてました。

VoltDBのSqlCmdでの任意SQLの実行は@AdHocというシステムプロシージャを起動している、という事実をようやく覚えて、結局書き方は簡単にできる、ということを知りました。*1

#!usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import traceback

from voltdbclient import *


SQLSTRING="select * from sample where column='something'"
]), ]

def mainloop(client):
    proc = VoltProcedure( client,"@AdHoc", [FastSerializer.VOLTTYPE_STRING])
    response = proc.call( [ SQLSTRING ] )
    return response

try:

    client = FastSerializer("localhost", 21212)

    response = mainloop(client)

except:
    traceback.print_exc()
    pass

finally:
    close()

# end of file