microsoft / ODBC-Specification

Microsoft ODBC Specification
Other
121 stars 40 forks source link

Should SQLNextColumn's output-parameter be replaced with a statement attribute? #88

Closed matthew-wozniczka closed 7 years ago

matthew-wozniczka commented 7 years ago

We could save the application an API call per-interrupted fetch if the application were forced to bind an address for the result of SQLNextColumn to be stored in.

The application could then check this memory address to find the column of interest.

The attribute would probably be named 'current column' rather than 'next column'.

matthew-wozniczka commented 7 years ago

It could be an error (cursor closed) if the pointer wasn't bound when the fetch was interrupted.

SQLNextColumn would remain (to allow continuing to subsequent cells), but it would no longer need the out-param (perhaps replaced by a flag to allow for the current behaviour of SQLNextColumn(NULL))

We could also extend the idea to deal with #41, and bind some structure which held more than just a column index.

mikepizzo commented 7 years ago

Combined with #41 might be interesting, but since we have to have an API call to progress to the next column regardless, I don't think requiring a separate bound buffer for the current column buys us much, and is less consistent with other processing patterns (like SQLParamData)