Fix #44643: PDO-ODBC: bound parameters ignore explicit type definitions #620
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.
This bug is also referenced in
#44643
pdo_odbc has had well-documented issues with parameterised queries accessing SQL Server for a long time. The issue is that when SQLDescribeParam does not return information about an input query parameter, pdo_odbc treats the parameter as a LONGVARCHAR or LONGVARBINARY. This patch modifies pdo_odbc to treat input parameters of less than 4000 characters in length as VARCHAR when the server does not return useful parameter information in response to the SQLDescribeParam call. This fixes behavior on SQL server, and shouldn't adversely affect behavior on other DBMS's, because the others for the most part return valid parameter info.