Hi Martin, et al
The actual query timing should be captured and returned by the back-end itself.
That is done already, indeed, in XQuery. It provides even a breakup in Trans+Shred+Query+Update/Print. But it is also interesting to see the communication time between mclient and Mserver. That you get by doing Timer-SUM(servertime). By including client think time in interactive mode, this insight is missing now. I recall that in previous versions of MapiClient, this was not an issue; so when I noticed it, I thought it was a bug.
Empty lines are empty requests to the server and mclient does not perform any analysis. Skipping empty lines is not easy, unless you bring in language semantics. I.e. just ignoring lines with blancs may not be appropriate.
In case of XQuery, the mclient does not send the empty lines to the server; it always parses through intil a CTRL-D or <> is encountered. This is the existing state of affairs, and I do not propose to change that.
And the timing illustrates that indeed an empty request was handled.
I do not understand the above. The question I posed is whether in interactive mode, for XQuery (because it may not be useful for other languages), we could make the timing more accurate by resetting the time counter just before the query is sent. For XQuery that would give the perfect insight in communication time. Knowing about the communication time is informative, and recall that this cannot be done server-side. Another option is to exclude the in my eyes now confusing Timer functionality for all languages in interactive mode. Peter
-----Original Message----- From: Martin Kersten [mailto:Martin.Kersten@cwi.nl] Sent: Friday, December 21, 2007 1:15 PM To: P.Boncz@cwi.nl; monetdb-developers@lists.sourceforge.net Subject: Re: [Monetdb-developers] [Monetdb-checkins] clients/src/mapiclientMapiClient.mx, Clients_1-20, 1.88.2.4, 1.88.2.5
Peter Boncz wrote:
Hi Niels,
The timing was/is meant for overall query performance, ie sending query + query execution + receiving the result (or part of it) in non interactive setups.
ok, clear.
So, would people agree then that in *interactive* mclient mode, timing only the query would be an improvement of the functionality?
best,
Peter The actual query timing should be captured and returned by the back-end itself.
Empty lines are empty requests to the server and mclient does not perform any analysis. Skipping empty lines is not easy, unless you bring in language semantics. I.e. just ignoring lines with blancs may not be appropriate.
And the timing illustrates that indeed an empty request was handled. So keep mclient simple.