microsoft / ODBC-Specification

Microsoft ODBC Specification
Other
122 stars 40 forks source link

What defines the 'identity' of a column w.r.t. the IRD? #65

Closed matthew-wozniczka closed 7 years ago

matthew-wozniczka commented 7 years ago

Section 3.9.4.1 (Retrieving Dynamic Columns) has the following sentence:

If the driver encounters a dynamic (unschematized) column that does not match any existing IRD records, ...

What exactly does 'match' mean in this context? Is it driver-defined? Do all descriptor fields have to be equal?

What behaviour is expected/desired in a scenario where a given dynamic column has many different values of the same type (say, SQL_CHAR), but different column sizes? Should the IRD change on every row to show the true size of the column? If so, would these amount to unique IRD entries?

matthew-wozniczka commented 7 years ago

This also raises the question of which collation is used to distinguish column names; right now there's only SQL_IDENTIFIER_CASE, which doesn't fully define the collation.

mikepizzo commented 7 years ago

"matches"=all descriptor records the same

desired behavior for a driver would be to return a data-changed each time the maxlength was increased.

mikepizzo commented 7 years ago

clarified in spec.