Bug #33130 | MyODBC / ADO reading connection.property: Special Characters causes crash | ||
---|---|---|---|
Submitted: | 11 Dec 2007 7:05 | Modified: | 10 Jan 2008 9:30 |
Reporter: | Erica Moss | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / ODBC | Severity: | S2 (Serious) |
Version: | 5.1.0 | OS: | Windows (xp sp2) |
Assigned to: | Jim Winstead | CPU Architecture: | Any |
Tags: | ADO |
[11 Dec 2007 7:05]
Erica Moss
[11 Dec 2007 7:08]
Erica Moss
ODBC Trace
Attachment: SQL.LOG (application/octet-stream, text), 47.12 KiB.
[11 Dec 2007 16:47]
Jim Winstead
driver odbc version (SQL_DRIVER_ODBC_VER) should be 03.51, that's the version of the odbc api that is implemented by the driver. there's another property to get the driver version itself (SQL_DRIVER_VER).
[11 Dec 2007 17:47]
Jim Winstead
the problem is probably that the list of special characters is hardcoded as a latin1 string, but it may not be converted properly.
[31 Dec 2007 21:11]
Jess Balint
The doc says that this should contain any characters besides alpha-numeric characters that are allowed in an identifier name. If one of these character is included, the identifier must be "delimited". I don't think there's any reason that characters above 0x7f (for latin1) or any other characters besides what we already have should be included. I think we should just use: " !\"#$%&'()*+,-.:;<=>?@[\\]^`{|}~"
[2 Jan 2008 22:13]
Jim Winstead
Remove latin1 chars and $ (no quoting required) from SQL_SPECIAL_CHARACTERS
Attachment: bug33130.patch (text/plain), 1.06 KiB.
[3 Jan 2008 22:08]
Jim Winstead
The fix for this bug was committed, and will be in 5.1.2.
[10 Jan 2008 9:30]
MC Brown
A note has been added to the 5.1.2 changelog: SQLGetInfo() reported characters for SQL_SPECIAL_CHARACTERS that were not encoded correctly.
[15 Jan 2008 16:09]
Jess Balint
Bug#33875 was marked as a duplicate of this.