Bug #26108 | MyODBC ADO field attributes reporting adFldMayBeNull for not null columns | ||
---|---|---|---|
Submitted: | 6 Feb 2007 9:19 | Modified: | 14 Sep 2007 12:43 |
Reporter: | Erica Moss | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / ODBC | Severity: | S3 (Non-critical) |
Version: | 3.51 | OS: | Windows (win xp) |
Assigned to: | Jim Winstead | CPU Architecture: | Any |
[6 Feb 2007 9:19]
Erica Moss
[6 Feb 2007 10:11]
Erica Moss
My comment regarding v5.0 is evidently not correct as these two attributes aren't functioning there - see bug #26110. To clarify this issue, there are two attributes in question, adFldIsNullable, and adFldMayBeNull. The definitions of these are: adFldMayBeNull: Indicates that you can read Null values from the field. adFldIsNullable Indicates that the field accepts Null values. A case could be made that adFldIsNullable could be correct in this instance, although it is still a bit odd if the column is explicitly NOT NULL. However adFldMayBeNull can't be true, but is being reported as such.
[11 Sep 2007 20:34]
Jim Winstead
Fix SQLDescribeCol to match nullability reported by SQLColumns
Attachment: bug26108.diff (text/plain), 3.32 KiB.
[12 Sep 2007 6:27]
Jim Winstead
Fix committed, will be included in 3.51.21.
[12 Sep 2007 6:30]
Jim Winstead
I should clarify that the behavior with this fix is to be consistent with what is returned for NULLABLE and IS_NULLABLE from SQLColumns(), not necessarily what is described by the ADO specification. That appears to be a mismatch between what ADO wants to report and what is available via ODBC.
[14 Sep 2007 12:43]
MC Brown
A note has been added to the 3.51.21 changelog: When using ADO, a column marked as AUTO_INCREMENT could incorrectly report that the column allowed NULL values. This was dur to an issue with NULLABLE and IS_NULLABLE return values from the call to SQLColumns()