This repository was archived by the owner on Jan 14, 2025. It is now read-only.
tokio-postgres: prepare and execute unnamed statements in one roundtrip #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@tomhoule and @pimeys paired this together today. This solves issues of random
unnamed statement does not exist
errors. They happen sometimes, but pretty often, especially if the roundtrip to the database is longer than localhost.We remove pipelining completely from the query preparation, making this work to only be useful in a context of unnamed statements and text mode queries.
What used to be:
PARSE
,DESCRIBE
,SYNC
and load the response, thenBIND
and load the response is now:PARSE
,DESCRIBE
,FLUSH
,BIND
and then load the response. We skip one roundtrip, but by referring the Postgres manual, we know that an unnamed statement after aPARSE
should not receiveSYNC
before loading the data, or theBIND
might result in the error given above.Eventually we remove a lot of stuff from this crate, maybe creating our own library while going. For now, it is recommended to not use anything else but the
_txt
methods in the client. Otherwise the sky can fall into your head.