eXist-db / eXide

A web-based XQuery IDE for eXist-db
GNU General Public License v3.0
45 stars 32 forks source link

Feature request: Running Queries panel #617

Open vincentml opened 1 year ago

vincentml commented 1 year ago

Is your feature request related to a problem? Please describe.

When I run a query in eXide (using the Eval button) a red status message "Running query" is briefly displayed, but it quickly disappears so it does not show the correct status if a query doesn't finish right away. While using eXide to write XQuery and execute queries on eXist-db I find myself frequently switching between eXide and Monex because Monex displays a list of all running queries and has a function to terminate queries. I prefer to use a non-DBA account when writing queries in eXide and Monex requires a DBA account, so I keep separate browser sessions for eXide and Monex. I don't want to give out DBA access, but it would be useful to give other people who run queries on eXist-db access to the Running Queries part of Monex. Without being able to see what queries are running it is all to easy to click Eval or Run again before a query has had time to finish, which can sometimes cause problems.

Describe the solution you'd like

In eXide there will be a panel that displays all running queries, and gives the user the ability to terminate their own queries. This would basically be a copy of the "Running Queries" panel in Monex. The terminate function would be available only for queries that were started by the current user / current eXide session.

Describe alternatives you've considered

I've considered copying the relevant parts of Monex to create a custom status page, but having the running queries panel integrated in eXide would be more ideal.

joewiz commented 1 year ago

@vincentml See https://github.com/eXist-db/eXide/issues/208.

vincentml commented 1 year ago

Hi @joewiz That ticket is interesting, and has me wondering more generally about the effect of terminating a running query. There have been numerous instances where I've used Monex to terminate a query and where a query is terminated automatically by exceeding the timeout threshold or the maximum nodes threshold.

I think it would still be useful for eXide to display an accurate view of running queries, even without the ability to terminate running queries. Currently, a user can easily execute a query and not know if it is still running, and execute the same query again (or another query) causing a problem.