Oh dear.I'm almost ashamed of sharing this, but here's the solution I found.The following script could be piped to an interactive (-i) session of mclient (only meant as a trick for some benchmarking scripts):sql>\|grep EXEC | perl -pe 's/^.*EXEC (\d+).*$/EXEC $1();/' > /tmp/myexecsql>prepare select 1;1 tuple (1.097ms)sql>\|sql>\</tmp/myexec+------+| L2 |+======+| 1 |+------+1 tuple (0.353ms)Do I win any prize for the most ugly, unsafe mclient trick of the year?Any cleaner solution is welcome ;)RobertoOn Wed, 12 Jul 2017 at 14:36 Roberto Cornacchia <roberto.cornacchia@gmail.com> wrote:Hi there,I'm trying to script the execution of (generated) prepared queries.It does not look possible, because the identifier to use for the EXEC statement is returned dynamically by the PREPARE statement:sql>prepare select 1;execute prepared statement using: EXEC 73(...)This can obviously not be scripted. If I tried to parse the output of the prepare statement to retrieve the identifier, this would split PREPARE and EXEC in two different mclient sessions, losing the prepared statement.As far as I know, there is at the moment no syntax available for providing the identifier, something like:sql>prepare myid as select 1;(that wouldn't be a bad idea, would it?)Besides syntax extensions, I was wondering if there is any trick I could use at runtime with the current syntax to retrieve that identifier.Like, is it stored in some system table? Is it available as any undocumented variable? I could not find anything like that, but I might have missed it.Cheers,Roberto
_______________________________________________
users-list mailing list
users-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/users-list