Introduce concept of SQL-able to pg-sql2 #1994
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.
Description
Writing
sql`${$user.getClassStep().alias}.is_admin is true`
is a chore; this change makes it so thatsql
can recognize embedded values that can be turned natively into SQL, for examplepgSelect
andpgSelectSingle
can now be used like:sql`${$user}.is_admin is true`
which is much simpler and easier to read.Note: this is only useful for aliases, you cannot use this for placeholders.
Performance impact
Negligible, planning only.
Security impact
I guess you could argue that it's slightly more magic, and thus slightly riskier that the coder might do the wrong thing? I can't see how this would turn into a vulnerability that would get past testing though.
Checklist
yarn lint:fix
passes.yarn test
passes.RELEASE_NOTES.md
file (if one exists).