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

V2.1.0 ps buffer #3295

Merged
merged 14 commits into from
Feb 9, 2021
Merged

V2.1.0 ps buffer #3295

merged 14 commits into from
Feb 9, 2021

Conversation

renecannao
Copy link
Contributor

No description provided.

renecannao and others added 14 commits December 8, 2020 23:04
So far this seems to work, although it is dropping most of the rows.
The rows are lost intentionally up to this commit.
This new function is meant to split MySQL_ResultSet::init() to later
remove all code specific to prepared statements because it assumes
it is pre-buffered
* MySQL_ResultSet() stores a pointer to the PS
* MySQL_ResultSet::init_with_stmt() doesn't need anymore the pointer to the PS
  Furthermore, it isn't anymore an "init" but an end (we will rename it)
* Added MySQL_ResultSet::add_row(MYSQL_ROWS *rows) for PS only
* MySQL_Protocol::generate_pkt_row3() accepts an optional row length.
  If passed, it will know the length of the row without computing it
* MyRS initialized during ASYNC_STMT_EXECUTE_STORE_RESULT_START
* Implemented throttling during ASYNC_STMT_EXECUTE_STORE_RESULT_START
* MySQL_Connection::process_rows_in_ASYNC_STMT_EXECUTE_STORE_RESULT_CONT() always
  generates a heartbeat. For now unnecessary, and we will better tune it later
* test_ps_async-t.cpp tunes mysql-threshold_resultset_size to trigger buffering

More testing is required
@renecannao
Copy link
Contributor Author

test this please

@renecannao
Copy link
Contributor Author

retest this please

@renecannao renecannao merged commit 259d07c into v2.1.1 Feb 9, 2021
@renecannao renecannao deleted the v2.1.0-ps_buffer branch April 30, 2022 16:11
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 this pull request may close these issues.

2 participants