Attached is the patch to make query history persistent. The number of records to persist is configurable using MAX_QUERY_HIST_STORED (config.py) which is per user/server/database based (currently set to 20). Records will be stored in the sqlite3 db.
Test cases are included.
Some initial review comments:
- When first clicking the History tab, the top query is selected and details shown, *except* the SQL query in the details panel. It displays correctly if the query is clicked.
- The date is shown in two different formats on the history panel: "Mar 12 2019" in the list, and "03/12/2019" on the details panel. They should be consistent.
I'll use the locale string here on both sides.
- The date in the details panel is still being shown in US format, which is confusing for me. Should we just use Date.toLocaleDateString()?.
- Deleting a server should delete the users history for that server.
- I think we should reference the database by name in the config database, so that if the user drops and recreates the database, they can retain the history.
I have a question here. Now, the query history is loaded in view/edit table data also, which I think should not. What do you suggest ?
Good question. I want to minimise the differences between the two modes, as eventually we want it to be seemless. Can we keep the history as it works now (i.e. no pre-loading/saving), and disable the "Copy to editor" button?