Nate, I checked it once again, it looks better now, still I think there are places when we pass unescaped strings to SQL, please check my comments.
There is a bigger issue though, please do not merge until we resolve it. When I try to start qserv services in this branch czar and wmgr fail with the exceptions like:
File "/usr/local/home/salnikov/dm-3161/bin/qservWmgr.py", line 40, in <module>
|
from lsst.qserv.wmgr import auth, config, dbMgr, procMgr, xrdMgr
|
File "/usr/local/home/salnikov/dm-3161/lib/python/lsst/qserv/wmgr/config.py", line 41, in <module>
|
from lsst.qserv.admin.qservAdmin import QservAdmin
|
File "/usr/local/home/salnikov/dm-3161/lib/python/lsst/qserv/admin/qservAdmin.py", line 44, in <module>
|
from lsst.qserv.css.kvInterface import KvInterface, KvException
|
File "/usr/local/home/salnikov/dm-3161/lib/python/lsst/qserv/css/__init__.py", line 31, in <module>
|
import cssLib
|
File "/usr/local/home/salnikov/dm-3161/lib/python/lsst/qserv/css/cssLib.py", line 28, in <module>
|
_cssLib = swig_import_helper()
|
File "/usr/local/home/salnikov/dm-3161/lib/python/lsst/qserv/css/cssLib.py", line 24, in swig_import_helper
|
_mod = imp.load_module('_cssLib', fp, pathname, description)
|
ImportError: /usr/local/home/salnikov/dm-3161/lib/libqserv_css.so: undefined symbol: _ZN4lsst5qserv3sql14SqlTransaction5abortERNS1_14SqlErrorObjectE
|
It says that libqserv_css.so library has unresolved symbols that belong to sql module. It is kind of obvious that libqserv_css.so should depend on sql/mysql now, but the situation is complicated by the mess in our shared libraries. I do not know how to resolve this immediately, but we should discuss that soon.
This implements KvInterfaceImplMySql and a 'unit' test for it. It adds a schema file, and I think names it in the correct place so that when a czar starts the table will be created in the correct server.