Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazy implementation of ResultSet #7

Open
alex268 opened this issue Apr 25, 2023 · 1 comment · Fixed by #67
Open

Lazy implementation of ResultSet #7

alex268 opened this issue Apr 25, 2023 · 1 comment · Fixed by #67
Assignees

Comments

@alex268
Copy link
Member

alex268 commented Apr 25, 2023

Current implementation reads all rows to the memory before returning ResultSetImpl. Maybe we need lazy implementation of ResultSet which return rows on demand

@alex268 alex268 self-assigned this Apr 25, 2023
@SloNN
Copy link

SloNN commented Jul 25, 2024

It's a must have feature while working with IDE's like DBeaver. IDE makes a query to database. IDE does not know Database dialect, so it does not apply LIMIT clause on the query. DBeaver executes original query instead and stops reading after reaching expected rows count.

Currently DBeaver makes the query and waiting for results to limit them. Current driver implementation does not return rows to DBeaver until reads all data. So if table is big enough, JDBC Driver reads all data to memory until it receives OOM.

Streaming reading seems to resolve this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants