The problem was, that if the created exception was a subclass as SQLException, it(or it's
copy) would eventually be destructed as SQLException. Thus, everything
but SQLException would leak. That happened, because as a quick solution
at the time, they all were thrown as SQLException. Caught as
SQLException&(they could not be caught as an exception of its own
class), they would be destructed as SQLException.
As the solution, exception are thrown at the moment of creation, if
possible. Otherwise connector operates spesially created
class(MariaDBExceptionThrower), that
can throw exception of the correct type
Added missing headers to msi. Headers now installed into include/mariadb
ALl headers have been renamed from .h to .hpp
ConnCpp.hpp renamed to conncpp.hpp(all small letters)
All headers but conncpp.hpp, have been moved to conncpp subdirectory in
include, and in the msi
All exception classes have got explicit (exported from dll on Windows) copyconstructor
decluration, and definition of those constructors in the connector
library. And to stay on the safe side, all other constructors and
destructors definitions have been moved to library side.
Fixed the error, that few exception methods were declared as
dllimported, and defined in the header at the same time.