Persist SQL param indexes over SQL adapter #7867
Merged
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.
Followup for #7748
Changes how we resolve SQL params. Previous behavior was determine order of internal SQL params by the order of resolver AST pass. This meant that we sometimes had to reorder params and args in pg protocol. The benefit of this was that we did not need to know how many params there are in the query in advance.
But there was a bug somewhere, because Java PostgreSQL driver was throwing errors which I was not able to repro using asyncpg.
Now I've added a pre-resolving AST pass that counts number of params, which allows internal and external SQL params to use same indexes. Which allows for simpler and faster pg protocol arg handling. But means a bit slower resolver.