Hi Stefan, others,
Question:
* Is the path to the socket always /tmp.s.merovingian.<port> and /tmp.s.monetdb.<port> ?
I honestly don't know. I'd have to look into the documentation or documentation. ( NB, `man monetdbd` says " sockdir For faster access, monetdbd uses UNIX domain sockets for its control mechanism and regular database connections. The sockets are placed as files in the filesystem hierarchy. The sockdir property controls in which directory they are placed. In general this setting should not be changed. " Maybe Fabian and/or Sjoerd know more? Stefan
* If not, is it okay if I just make these the defaults?
* The SQL MAPI over the monetdb socket seems to work fine, but the control MAPI seems to be quite slow and for some commands (kill) is hanging or maybe not correctly implemented. The control MAPI protocol over a socket is a bit weird, it differs quite a lot from the other implementations. Maybe you guys have an idea what is going on? i've been looking at the C code and found some hints, (like you need to send a 0 at the beginning of communicating over a socket, but not in the case of control), but i'm a bit stuck now.
I've been working on this so we can control MonetDB databases from python without the need to require to set a managed passphrase. Also i'm working on a SQLAlchemy Dialect:
https://github.com/gijzelaerr/sqlalchemy-monetdb
greetings,
- Gijs
On 05/09/13 18:56, Stefan Manegold wrote:
Hi Gijs,
in case you did not notice this, yet:
This checkin breaks several tests that do test or use the Python interface, resulting in errors like
" Traceback (most recent call last): File "delete_all.SQL.py", line 9, in <module> dbh = monetdb.sql.Connection(port=port,database=db,autocommit=True) File "PREFIX/lib/python2.7/site-packages/monetdb/sql/connections.py", line 49, in __init__ unix_socket=unix_socket) File "PREFIX/lib/python2.7/site-packages/monetdb/mapi.py", line 96, in connect self.socket.connect(unix_socket) File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 2] No such file or directory "
or
" Traceback (most recent call last): File "SOURCE/clients/examples/python/sqlsample.py", line 23, in <module> dbh = monetdb.sql.Connection(port=int(sys.argv[1]),database=sys.argv[2],autocommit=True) File "PREFIX/lib/python3.3/site-packages/monetdb/sql/connections.py", line 49, in __init__ unix_socket=unix_socket) File "PREFIX/lib/python3.3/site-packages/monetdb/mapi.py", line 97, in connect self.socket.connect(unix_socket) FileNotFoundError: [Errno 2] No such file or directory "
See also, e.g., `Mtest.py sql/benchmarks/tpch/fileleak sql/test/concurrent sql/test/mapi`
or our nightly TestWeb @ http://monetdb.cwi.nl/testweb/web/status.php?branch=default as of tomorrow morning.
-- Gijs Molenaar http://www.astro.uva.nl/people/gijs-molenaar/
-- | Stefan.Manegold@CWI.nl | DB Architectures (DA) | | www.CWI.nl/~manegold/ | Science Park 123 (L321) | | +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |