Hi MonetDB people, I've noticed that there has been a new version (2) of the sabdb protocol introduced. The sabdb protocol is used to send administrative command to a monetdb server. This breaks the Python API, which I just fixed, I'll commit it later. But I've noticed some strange behavior, it looks like monetdb closes the connection in some cases, not all. Specifically when I issue a status command the connection is closed, but in other cases it is not. I've fixed it now by reconnecting before every command, but I just wanted to verify if that is the right way to go. greetings, -- Gijs Molenaar http://www.astro.uva.nl/people/gijs-molenaar/
correction, if I'm correct 'sabdb' is used to describe the status of a db. On 08/03/13 16:39, Gijs Molenaar wrote:
Hi MonetDB people,
I've noticed that there has been a new version (2) of the sabdb protocol introduced. The sabdb protocol is used to send administrative command to a monetdb server.
This breaks the Python API, which I just fixed, I'll commit it later.
But I've noticed some strange behavior, it looks like monetdb closes the connection in some cases, not all. Specifically when I issue a status command the connection is closed, but in other cases it is not.
I've fixed it now by reconnecting before every command, but I just wanted to verify if that is the right way to go.
greetings,
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
-- Gijs Molenaar http://www.astro.uva.nl/people/gijs-molenaar/
Hi Gijs, On 08-03-2013 16:39:05 +0100, Gijs Molenaar wrote:
Hi MonetDB people,
I've noticed that there has been a new version (2) of the sabdb protocol introduced. The sabdb protocol is used to send administrative command to a monetdb server.
This breaks the Python API, which I just fixed, I'll commit it later.
But I've noticed some strange behavior, it looks like monetdb closes the connection in some cases, not all. Specifically when I issue a status command the connection is closed, but in other cases it is not.
I've fixed it now by reconnecting before every command, but I just wanted to verify if that is the right way to go.
Can you be a bit more specific? In general you should reconnect for each new command, although you technically should be able to send a bunch of starts/stops over a single connection. This hasn't changed. sabdb indeed is the format to serialise all state information about a database. See the comments in the C-sources on what changed (as well as commit message), and what you should change as well. I didn't know the python api had support for it too, or I'd looked at it at the time it was introduced. Sorry. Fabian -- Fabian Groffen fabian@monetdb.org column-store pioneer http://www.monetdb.org/Home
On 08/03/13 16:49, Fabian Groffen wrote:
Hi Gijs,
On 08-03-2013 16:39:05 +0100, Gijs Molenaar wrote:
Hi MonetDB people,
I've noticed that there has been a new version (2) of the sabdb protocol introduced. The sabdb protocol is used to send administrative command to a monetdb server.
This breaks the Python API, which I just fixed, I'll commit it later.
But I've noticed some strange behavior, it looks like monetdb closes the connection in some cases, not all. Specifically when I issue a status command the connection is closed, but in other cases it is not.
I've fixed it now by reconnecting before every command, but I just wanted to verify if that is the right way to go.
Can you be a bit more specific? In general you should reconnect for each new command, although you technically should be able to send a bunch of starts/stops over a single connection. This hasn't changed.
Yes, I can issue some start and restarts over the same connection, but as soon as I issue a 'status' command the connection is closed by the monetdb server. I've solved this by reconnecting before every command which seems to be the proper solution given your answer.
sabdb indeed is the format to serialise all state information about a database. See the comments in the C-sources on what changed (as well as commit message), and what you should change as well.
i've replicated the java client behavior.
I didn't know the python api had support for it too, or I'd looked at it at the time it was introduced. Sorry.
no problem, we where not using this anyway yet, since I'm still not finished with implementing the support for unix file sockets... I got a bit stuck with it and forgot about it. -- Gijs Molenaar http://www.astro.uva.nl/people/gijs-molenaar/
On 08-03-2013 16:53:22 +0100, Gijs Molenaar wrote:
Yes, I can issue some start and restarts over the same connection, but as soon as I issue a 'status' command the connection is closed by the monetdb server. I've solved this by reconnecting before every command which seems to be the proper solution given your answer.
This is entirely expected. All commands that can return multiple answers will terminate the connection afterwards.
sabdb indeed is the format to serialise all state information about a database. See the comments in the C-sources on what changed (as well as commit message), and what you should change as well.
i've replicated the java client behavior.
I didn't know the python api had support for it too, or I'd looked at it at the time it was introduced. Sorry.
no problem, we where not using this anyway yet, since I'm still not finished with implementing the support for unix file sockets...
I got a bit stuck with it and forgot about it.
Ok! -- Fabian Groffen fabian@monetdb.org column-store pioneer http://www.monetdb.org/Home
Hi, i have been trying to expand data types (both core and external atoms).However, after discussions, i understood that addition of core data types will takes years( if i am not exaggerating).So, i started testing up external gdk atoms (monetdb5/modules/atoms). i am creating new atom type say mytype which is int based as below. this atom is pure int ( there are no bitfields and so on) typedef int mytype; atom mytype:int; in mal i have defined the following mal procedures( and C backends) fromstr(), tostr(), mytype(s:str):mytype, new(s:str):mytype, isnil(v:mytype):bit at this moment,it can successfully create tables and do selects. however, selects are not working as they should. these queries work. create table test(i mytype); insert into test values('453535'); select * from test these don't work. select * from test2 where i >= 5 above query gives error "types mytype(0,0) and tinyint(8,0) are not equal for column 'i'" insert into test2 values(453535); gives types int(32,0) and mytype(0,0) are not equal however, this query works !!!!!! select * from test2 where i >= '1' after testing and too many code peeping for above query, i figured out that the above query converts each element of table to string using tostr, and then compares the strings, and takes decision. so, it looks like there can be performance improvements here. However,my question is HOW do i get the queries working such as select * from test2 where i >= 5 am i missing something?? any pointers may be helpful. Thanks. -Mike
participants (3)
-
Fabian Groffen
-
Gijs Molenaar
-
Mike Gomez