microsoft/mssql-jdbc

identifier enquoting not implemented (JDBC 4.3)

peterhalicky opened this issue · 1 comments

Driver version

12.6.2.jre11 (and any older)

Problem description

Statement.enquoteIdentifier() is a JDBC 4.3 method that enquotes an identifier. Class SQLServerStatement does not implement this method, thus default method from java.sql.Statement is used. This method, however, does not correctly handle identifiers that are already enquoted using square brackets. [table] is a valid identifier, but it gets enquoted to "[table]" which isn't.

Expected behavior

enquoteIdentifier for [table] should return either [table] or "table".

Actual behavior

enquoteIdentifier for [table] returns "[table]"

hi @peterhalicky

thanks for bringing this to our attention I see this was not in java 8 before was added in java 9. I will add this as an enhancement it will be considered when we triage features for our next semester.