Is your feature request related to a problem? Please describe.
SQL Lab doesn't handle large results sets gracefully due to storing them in the redux state, which gets persisted in local storage. Remote persistence is an option, but this is not always practical to enable depending on the backend and I imagine would still be pretty inefficient for this use case anyway.
Describe the solution you'd like
It should be possible to deal with larger results sets locally. The solution that has come to mind is to persist the query results with the IndexedDB API instead of WebStorage. A key to the IndexedDB data could be stored in the redux state instead.
Describe alternatives you've considered
The only other option that comes to mind is to not persist large query result sets at all.
Given this problem is often coming up when producing a large result set to be exported as csv, one alternative is to give a way to generate csv results with a different row count to the actual grid window.
Additional context
This is from the perspective of users who don't have direct access to the backend, which might have been a better way to examine these large responses.
Is your feature request related to a problem? Please describe.
SQL Lab doesn't handle large results sets gracefully due to storing them in the redux state, which gets persisted in local storage. Remote persistence is an option, but this is not always practical to enable depending on the backend and I imagine would still be pretty inefficient for this use case anyway.
Describe the solution you'd like
It should be possible to deal with larger results sets locally. The solution that has come to mind is to persist the query results with the IndexedDB API instead of WebStorage. A key to the IndexedDB data could be stored in the redux state instead.
Describe alternatives you've considered
The only other option that comes to mind is to not persist large query result sets at all.
Given this problem is often coming up when producing a large result set to be exported as csv, one alternative is to give a way to generate csv results with a different row count to the actual grid window.
Additional context
This is from the perspective of users who don't have direct access to the backend, which might have been a better way to examine these large responses.