Call sp_rename as prepared statement#14272
Conversation
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
|
I checked situation with double double quote it works like this:
Same works for column names |
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
0b23c3f to
0979aab
Compare
|
@vlad-lyutenko since we've diverged a lot from the initial implementation I think squashing the fixups would be helpful for the review. (and there's been a force push anyway). |
hashhar
left a comment
There was a problem hiding this comment.
Looks good % comments.
Didn't review commit by commit yet.
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
a39765c to
5501a0f
Compare
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
f0fbb3c to
c5200a3
Compare
c5200a3 to
eb34eff
Compare
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
eb34eff to
015f661
Compare
plugin/trino-sqlserver/src/test/java/io/trino/plugin/sqlserver/TestSqlServerConnectorTest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
fullTableFromName -> oldTableName
There was a problem hiding this comment.
oldTableFullName (it's not just the table name)
There was a problem hiding this comment.
actually I didn't like full I've spent some time to understand that it's full name of the table which has to be renamed.
oldTableFullName - table is not old. Full name is old.
There was a problem hiding this comment.
tableOldFullName?
There was a problem hiding this comment.
To be honest I don't think there are any good names here - I'll just go with what exists already. 😄 We can rename when we come up with better name.
plugin/trino-sqlserver/src/main/java/io/trino/plugin/sqlserver/SqlServerClient.java
Outdated
Show resolved
Hide resolved
Prevents sql injection
015f661 to
eba1262
Compare
Description
This change made call to sp_rename for renaming columns as prepared statement,
to be safe with sql injections.
Plus it support different tricky column names during renaming,
inspired by this discussion:
#13878 (comment)
So now we can do things like this from trino:
alter table test2 rename column "[crazy; drop table nation]" to "[crazy; drop ""table nation]";alter table test2 rename column "[crazy; drop ""table nation]" to "[crazy; drop []table nation]";alter table test2 rename column [column4] to """[crazy;"" "" drop []table nation]";select """[crazy;"" "" drop []table nation]" from test2;Non-technical explanation
Release notes
( ) This is not user-visible or docs only and no release notes are required.
( ) Release notes are required, please propose a release note for me.
(x) Release notes are required, with the following suggested text: