Releases: nanodbc/nanodbc
Releases · nanodbc/nanodbc
v2.14.0
Latest documentation at https://nanodbc.io
New Features
- Added Add
find_proceduresandfind_procedure_columnstocatalogclass#249 - Added support for binding
std::string_viewinstatementclass#283
Changes
- Changed return type of
result_impl::column_sizefrominttolongfor consistency#261 - Renamed
VERSIONfile toVERSION.txt#275
Bug Fixes
- Fixed SQL statements in
example/usage.cpp#253 - Fixed
result_impl::column_datatype_namesizing for Unicode characters#263 - Fixed memory leak of
ensure_pdata#269 - Fixed retrieval of SQL data type
DATETIMEOFFSET#219 - Fixed compilation on MacOS using Homebrew's vanilla GCC (for Conan build)
#279
Testing
- Add GitHub Actions with linters
#273
Acknowledgements
Thank you to everyone who contributed to this release by committing changes and submitting pull requests:
Amy Troschinetz,
Bernardo Sulzbach,
Denis Glazachev,
detule,
Ezequiel Ruiz,
Joe Siltberg,
Mateusz Loskot,
Michael Kaes,
Sewon Park
Thank you to everyone who also opened issues on GitHub.
v2.13.0
Latest documentation at https://nanodbc.io
New Features
- Added support for optional binding to allow out-of-order retrieval of unbound columns with
SQLGetData#236 - Added
catalog::find_table_privilegesmethod#204 - Added
connection::allocatemethod to manage ODBC handles handles#147 - Added
connection::get_infomethod which gets string information from a connection#215 - Added
NANODBC_DEPRECATEDmacro#279 - Added
nanodbc::list_driversfree function#192 - Added
nanodbc::list_datasourcesfree function#237 - Added
result::column_datatype_namemethod#237 - Added
result::column_decimal_digitsmethod#202 - Added
result::has_affected_rowsmethod#185 - Added
statement::describe_parametersmethod as alternative toSQLDescribeParam#225 - Added build flag
NANODBC_DISABLE_ASYNCwhich disables async features#142 - Added CMake package configuration
#245 - Added column validating function to the
result_implclass#206 - Added handling of
SQL_SS_UDTdata as binary#148 - Added input iterator for result class
#155 - Added public macro
NANODBC_THROW_NO_SOURCE_LOCATION#184 - Added string converter functions for more efficient processing
#151 - Added support for
SQL_WLONGVARCHARdata type#211 - Added support for
SQL_SS_XMLdata type#238 - Added support for
std::vectorof strings input#214 - Added support for
timecolumn type#183 - Added support for binding of binary data
#219 - Added support to get binary data as array of bytes
#130 - Added two
catalogoperations:list_catalogsandlist_schemas#193 - Added very minimal support for SQL Server-specific time datatypes
#228 - Allowed binding values of all intrinsic integral types
#232
Changes
- Changed
COLUMN_SIZEforbyteato now equalSQL_NO_TOTAL(-4)by default#251 - Disabled declaration of async methods if
NANODBC_DISABLE_ASYNCis defined#197 - Fixed, improved and cleaned up the family of bind functions
- Made
NANODBC_TEXTmacro public#151 - Refactored CMake options to default value
OFF#260 - Removed unused output connection string from
SQLDriverConnectcall#188 - Renamed
nanodbc::string_typetonanodbc::string#269 - Renamed
srcdirectory tonanodbc#256 - Replaced custom
NANODBC_STATICoption with CMake nativeBUILD_SHARED_LIBS#250 - Report
SQL_HANDLE_DBCerror if statement::open fails to allocate handle#178 - Started enforcing project-wide consistent code style using
clang-format#203
Bug Fixes
- Added DB-specific tests for
result::affected_rows#154 - Fixed
statement_impl::async*members which were left uninitialized if not built-in#187 - Fixed binding of
SQL_DECIMALandSQL_NUMERICtype as character data#238 - Fixed compilation using Xcode 11
#224 - Fixed copying of buffer to output string for
SQL_C_BINARY#129 - Fixed correct buffer size passed to
SQLGetData#150 - Fixed incorrect size passed to
SQLBindParameterwhile inserting batch of strings#116 - Fixed integer conversions
#176 - Fixed issue withSAP/Sybase ASE ODBC driver not setting
sqlsizeto 0 when retrievingvarcharcolumns#275 - Fixed overflowing transaction counter
#144 - Fixed retrieving long strings from MySQL
#212 - Fixed some issues with the async support, plus add async prepare and next
#170 - Fixed to use correct wide-char count when copying from
SQLGetDatabuffer#182 - Handled
SQLGetDatareturn value ofSQL_NO_TOTAL#161 - Put the string lengths in their proper place
#165 - Resolved narrowing from
wchar_ttocharwarning in VS 2017 updates#199 - Resolved unexpected
bind()with nulls set tonullptrbehavior#140 - Updated to catch up with breaking change in SQLite ODBC 0.9996
#165
Testing
- Added
integer_boundarytest case for SQLite#174 - Added AppVeyor build targeting SQL Server 2016
#194 - Added CI job to lint and build docs
#152 - Added CI job to run clang-format 5.0 to check for code formatting errors
#153 - Added CI jobs to run static code analysis
#270 - Added MinGW build job to AppVeyor
#196 - Added SQL Server test for the Invalid Descriptor Index issue
#227 - Added SQL Server test inserting large blob using direct
INSERT#186 - Added test for
std::vector<bool>workaround#267 - Added test for integer to string conversion (SQLite only)
#190 - Added test insert and select from/into
nanodbc::time(SQLite)#195 - Added tests for PostgreSQL time/timestamp with/without time zone
#229 - Added Vertica to Travis CI
#199 - Refactored test fixture and split into common utilities base and test case base
#225 - Updated Catch to 2.4.2
#201
Acknowledgements
Denis Glazachev,
Jim Hester,
Billy O'Neal,
Kun Ren,
whizmo,
Amy Troschinetz,
Christopher Blaesius,
detule,
Diego Sogari,
Jon Valvatne,
Mateusz Loskot,
Michael C. Grant,
H1X4Dev,
Rafee Memon,
Sauron,
Seth Shelnutt,
ThermoX360,
detule