Skip to content

Move query results from local storage to IndexedDB. #18635

@MBRGA

Description

@MBRGA

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions