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?
Timing the time it takes to execute the query is indeed what would be done in an ideal world, but the world is not ideal. The problem is mostly with the non XQuery languages where you can have multiple statements on a single line and single statements on multiple lines. The timer should be started when the first part of a query is sent, since that first part may already contain a full query which you want to include in the time. If the server then wants more input because on that same first line there was the start of a second query, you necessarily include the time it takes for the user to type that second line. There isn't really much you can do about that. XQuery is different since there are no multiple queries on a line, and mclient knows where the query boundaries are. So mclient could do the timing properly. However, that means that the code has to differentiate between XQuery and the other languages. There are already too many of those places for my liking. So timing works best when you present mclient with a file instead of attempting to do it interactively. -- Sjoerd Mullender