Resolves a possible crash with SQLDescribeParam()
. In Progress OpenEdge 11 driver setting the
nullableptr argument to null causes a crash. This does not affect SQLite or MySQL drivers.
Thanks to @AndrewJD79 for finding and diagnosing the issue!
Unicode: Resolves a major issue with BLOB datatype handling for BINARY and TEXT columns.
Resolves a major issue with BLOB datatype handling for BINARY and TEXT columns.
Resolves a Travis-CI build issue.
Major work undertaken by Mateusz Łoskot provides new features and a host of bug fixes throughout.
Refactoring work moves nanodbc away from platform dependent wchar_t
in favor of char16_t
or in the
case of iODBC with unicode build enabled, char32_t
. Boost.Test dropped in this version, in favor of Catch.
- Converts usages of
wstring
andwchar_t
tou16string
andchar16_t
. - Enable iODBC + Unicode support with
u32string
types. - Add example program
table_schema.cpp
. - Add
dbms_name()
anddbms_version()
methods toconnection
class.
- Migrates tests from Boost.Test to Catch framework.
- Enables unicode tests on travis-ci.
- Syncs
Dockerfile
andVagrantfile
; adds quick usage docs for vagrant. - Switch Dockerfile over to
ubuntu:precise
(default). - Improve
odbc_test.cpp
to cope with DBMS variations.
- Fix compiler warnings while building with VS2015.
- Add missing optional
schema_name
parameter to usage info. - Workaround for VS2015 bug in
std::codecvt
forchar16_t
. - Fix retrieval of variable-length data in parts.
- Fix
catalog::columns::is_nullable()
to handle validNULL
. - Fix check of total of characters required to display
SQL_DATE
. - Fix
SELECT
result sorting withNULL
values involved.
- Fixes segmentation fault issue with unixODBC on Linux systems.
- Adds support for
while(!results.end())
style iteration.
- Adds this CHANGELOG.md file. Future releases should update it accordingly!
- Adds CHANGELOG.md helper script.
- Major thanks again to Mateusz Łoskot for all the new features!
- Adds convenient access to catalog objects (tables, columns, primary keys).
- Adds
database_name
andcatalog_name
methods to connection class. - Adds CMake option
NANODBC_ENABLE_LIBCXX
to enable/disable libc++ builds. - Adds CMake option
NANODBC_EXAMPLES
to enable/disable the example target. - Adds a
latest
release branch to track most recent release.
- Massive updates to Travis CI continuous integration.
- Adds general
odbc_test
to target variety of ODBC drivers. - Adds specific MySQL tests.
- Updates test target organization.
- The way the targets were designed is such that:
- test: runs all tests, but will not build them
- tests: builds all tests, but does not run them
- check: builds all tests and then runs all tests
- For individual tests then, it makes sense to use:
- ${name}_test: runs ${name}_test, but will not build it
- ${name}_tests: builds ${name}_test, but does not run it
- ${name}_check: builds ${name}_test and then runs it
- The way the targets were designed is such that:
- Fix test check of
result::affected_rows
forSELECT
statement. - Fix
result::position
to make it consistent withSQL_ATTR_ROW_NUMBER
. - Fix string object construction syntax.
- Adds missing
#include <cstring>
.
- More robust and friendly publish and release scripts.
- Updates to README and documentation.
- Adds
-DUNICODE
and-D_UNICODE
for Visual Studio projects. - Adds examples based on the documentation.
- Adds
rowset_iteration
example.
- Major thanks to Mateusz Łoskot for all the effort!
- Adds Dockerfile to support testing and development.
- Adds build.bat convenience script for Visual Studio users.
- Adds CMake options
NANODBC_INSTALL
andNANODBC_TEST
to control generation of those targets.
- Fixes cmake build on OS X El Capitan.
- Refine assert in
result_impl::position
withSQL_ROW_NUMBER_UNKNOWN
. - MSBuild Platform property for 32-bit is Win32.
- Reset null indicator before move for all columns, not just bound columns.
- Fixes doxygen generation of macro docs.
- Adds Vagrantfile to support testing and development.
- Adds customizable
NANODBC_ASSERT
macro. - Adds CMake option
NANODBC_STATIC
(default OFF). - Clean up Visual C++ 64-bit warnings.
- CMake: Fixes ODBC linking on Unix.
- Adds documentation on is_null() limitation.
- Write null indicator to
cbdata_
if indicated bySQLGetData
.
- Initial configuration of Travis CI build matrix.
- Added a Contributing section to readme.
- Updates to SQLite tests.
- Disable MSVC warning C4244 in tests.
- Update CMakeLists.txt to enable builds with Visual Studio. Thanks Mateusz Łoskot!
- Add async connection support, plus extended database_error info. Thanks Yao Wei Tjong!
- Add linking against ODBC libraries on Windows.
- Change
param_type_from_direction
to throwprogramming_error
. - Define
NANODBC_SNPRINTF
in terms of_snprintf_s
for MSVC. - Setting CMake
-DNANODBC_ODBC_VERSION
option now works.
- Adds move constructors.
- Fixes Xcode MARK comments.
- Adds section comment banners to header file.
- Removes
throw()
from header files, usesnoexcept
instead. - Adds basic and sqlite
std::move
test case.
- Resolves issue with decimal digits/scale and rounding. Thanks dedomilo!
- Resolve issue with
DECIMAL
to string conversion. Thanks dedomilo!
- Disable default unicode on windows.
- Override ODBC version with
NANODBC_ODBC_VERSION
.
- Add
statement::async_execute_direct
andstatement::async_complete
. Thanks Jon Valvatne! - Add NOEXCEPT define to allow compilation under Visual Studio 2013.
- Provides optional Boost workaround for missing codecvt support in libstdc++.
- Adds minimap banners for code navigation.
- Adds
column_c_datatype()
. - Converts line endings to unix.
- Adds
just_execute
class of functions that don't create result objects.
- Adds publish script.
- Fixes broken links in readme.
- Use C++11's
=delete
where appropriate.
- Fixes many documentation issues.
- Adds more todo info about updating docs.
- Adds notes about different versions.
- Cleans up style; removes CPP11 macros and C++03 support cruft.
- Silence warnings and untabify.
- Works with Unicode (std::wstring as nanodbc::string_type)
- Using nanodbc with SQL Server Native Client works with nvarchar(max) and varchar(max) fields in Win32 and Win64.
Version 1.0.0 and all commits prior are now completely unsupported.