Documentation for how the driver can be used with OLE DB, using PowerShell and Excel, has been added in its own file, docs/markdown/setup/ole-db.md.
A bounds check has been added for the cursor, preventing the cursor from advancing past the end of the result set.
src/out has been added to .gitignore.
Null is now returned for null values instead of the character "-".
Empty arrays are represented as [] instead of [-].
byteOffset changed to size_t.
columnBindOffset changed to SqlUlen*.
SQLExtendedFetch implemented separately from SQLFetchScroll to support ODBC 2.x applications.
rowsetSize added to Statement, for use with SQLExtendedFetch.
SQL_ROWSET_SIZE is now handled in Statement::InternalSetAttribute and Statement::InternalGetAttribute.
An ignoreErrors argument has been added to InternalClose so that SQLFreeStmt can ignore all errors when freeing.
Restriction for array size being less than 1000 has been removed.
Spelling errors have been fixed in comments and in the documentation.
SQLGetData can now retrieve variable-length data in parts.
Wth SQLGetData, the indicator pointer now receives the entire size of the cell if all data was placed in the buffer and gets the remaining data if only part of the data was placed in the buffer, when the buffer is too small to fit all data.
macOS GitHub action runner updated to macos-12, as macos-11 has been deprecated and is no longer available.
Summary
Add OLE DB support
Description
OLE DB Support Changes
docs/markdown/setup/ole-db.md
.src/out
has been added to.gitignore
.-
".[]
instead of[-]
.byteOffset
changed tosize_t
.columnBindOffset
changed toSqlUlen*
.SQLExtendedFetch
implemented separately fromSQLFetchScroll
to support ODBC 2.x applications.rowsetSize
added toStatement
, for use withSQLExtendedFetch
.SQL_ROWSET_SIZE
is now handled inStatement::InternalSetAttribute
andStatement::InternalGetAttribute
.ignoreErrors
argument has been added toInternalClose
so thatSQLFreeStmt
can ignore all errors when freeing.SQLGetData
can now retrieve variable-length data in parts.SQLGetData
, the indicator pointer now receives the entire size of the cell if all data was placed in the buffer and gets the remaining data if only part of the data was placed in the buffer, when the buffer is too small to fit all data.macos-12
, asmacos-11
has been deprecated and is no longer available.Related Issue
Closes #10 Closes #11 Closes #12
Additional Reviewers
N/A