Releases: nanodbc/nanodbc
Releases · nanodbc/nanodbc
v2.14.0
Latest documentation at https://nanodbc.io
New Features
- Added Add
find_procedures
andfind_procedure_columns
tocatalog
class#249
- Added support for binding
std::string_view
instatement
class#283
Changes
- Changed return type of
result_impl::column_size
fromint
tolong
for consistency#261
- Renamed
VERSION
file toVERSION.txt
#275
Bug Fixes
- Fixed SQL statements in
example/usage.cpp
#253
- Fixed
result_impl::column_datatype_name
sizing 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_privileges
method#204
- Added
connection::allocate
method to manage ODBC handles handles#147
- Added
connection::get_info
method which gets string information from a connection#215
- Added
NANODBC_DEPRECATED
macro#279
- Added
nanodbc::list_drivers
free function#192
- Added
nanodbc::list_datasources
free function#237
- Added
result::column_datatype_name
method#237
- Added
result::column_decimal_digits
method#202
- Added
result::has_affected_rows
method#185
- Added
statement::describe_parameters
method as alternative toSQLDescribeParam
#225
- Added build flag
NANODBC_DISABLE_ASYNC
which disables async features#142
- Added CMake package configuration
#245
- Added column validating function to the
result_impl
class#206
- Added handling of
SQL_SS_UDT
data 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_WLONGVARCHAR
data type#211
- Added support for
SQL_SS_XML
data type#238
- Added support for
std::vector
of strings input#214
- Added support for
time
column type#183
- Added support for binding of binary data
#219
- Added support to get binary data as array of bytes
#130
- Added two
catalog
operations:list_catalogs
andlist_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_SIZE
forbytea
to now equalSQL_NO_TOTAL(-4)
by default#251
- Disabled declaration of async methods if
NANODBC_DISABLE_ASYNC
is defined#197
- Fixed, improved and cleaned up the family of bind functions
- Made
NANODBC_TEXT
macro public#151
- Refactored CMake options to default value
OFF
#260
- Removed unused output connection string from
SQLDriverConnect
call#188
- Renamed
nanodbc::string_type
tonanodbc::string
#269
- Renamed
src
directory tonanodbc
#256
- Replaced custom
NANODBC_STATIC
option with CMake nativeBUILD_SHARED_LIBS
#250
- Report
SQL_HANDLE_DBC
error 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_DECIMAL
andSQL_NUMERIC
type 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
SQLBindParameter
while inserting batch of strings#116
- Fixed integer conversions
#176
- Fixed issue withSAP/Sybase ASE ODBC driver not setting
sqlsize
to 0 when retrievingvarchar
columns#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
SQLGetData
buffer#182
- Handled
SQLGetData
return value ofSQL_NO_TOTAL
#161
- Put the string lengths in their proper place
#165
- Resolved narrowing from
wchar_t
tochar
warning in VS 2017 updates#199
- Resolved unexpected
bind()
with nulls set tonullptr
behavior#140
- Updated to catch up with breaking change in SQLite ODBC 0.9996
#165
Testing
- Added
integer_boundary
test 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