Allow args to driver's raw Exec#886
Merged
Merged
Conversation
Currently, unlike underlying connections/transactions, the driver version of `Exec` doesn't take parameters. This is mostly okay because `Exec` is mainly needed for migrations, but as I was trying to convert some code over in Pro's test suite, I did find that it'd be kind of nice to be able to use parameters there too so we can use an executor instead of raw transaction. This is probably okay because the executor version of `QueryRow` already lets parameters be passed in. There is a possible problem wherein different databases use different placeholders (Postgres's `$` versus SQLite's `?` for example), but when we solve that we'll have to solve it for `QueryRow` anyway.
bgentry
approved these changes
May 8, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Currently, unlike underlying connections/transactions, the driver
version of
Execdoesn't take parameters. This is mostly okay becauseExecis mainly needed for migrations, but as I was trying to convertsome code over in Pro's test suite, I did find that it'd be kind of nice
to be able to use parameters there too so we can use an executor instead
of raw transaction.
This is probably okay because the executor version of
QueryRowalreadylets parameters be passed in. There is a possible problem wherein
different databases use different placeholders (Postgres's
$versusSQLite's
?for example), but when we solve that we'll have to solve itfor
QueryRowanyway.