If not selected otherwise.
The connection option `trustServerCertificate` responsible for that is
now properly documented in the README(.md) It is true by default that
means that certificate is not verified. If not set to false it now
causes also that certificate verification is explictitly turned off.
That enables connector to work without problem with C/C 3.4
Also, contains additional chages resquired for CONCPP-138 for the case
of the resultset streamin(that 1.0 does not have). We don't cache all
binary results in such case and check if statement/connection is not
closed to avoid the crash. i.e. in case of streaming closing of
connction transitively closes resultset.
from ResultSetMetaData. Some of them have prefix "Types::", some not.
They all should not have.
Fix of error in the previous commit in the RowProtocol.cpp
That could happen only with binary results, i.e. with results of
PreparedStatement if useServerPrepStmts option set.
Also the commit contain some performance improvements. In particular for
converting string values to double.
sql::bytes::length may be negative. That ByteArrayParameter::writeTo(SQLString& str) static_cast it directly to size_t causes unexpected result in this case.
This fixes compilation errors on systems, where the standard library doesn't happen to include sized integer definitions in one of the already included headers
- of string to integer conversion
- in client side query prepare some better memory reservation and use of
std::string instead of SQLString internally.
Statement::addBatch was omitted in previous commit. Here it is optimized
as well(in similar way).
Previous commit did not restore the autocommit in the stored server
status, so next query could thing it still off.
Fixed testcases for maxscale and fixing testing with mysql servers.
Given that parformance with defaults was so bad I think it's safe to
change. As a matter of fact it's been meant to be default as this is
best and fastest method and it's a unique MariaDB feature.
Changed default execution method to turn autocommit off for the time of
execution if it was on. Committing after the end of the batch if
autommit was on.
Also, I guess the potential bug has been fixed in case of next RS has
less fields than previous. Vector with metadata was keeping the previous
number of elements and looks like that could cause some strange things.
Connection properties is map of SQLStrings. If boolean property was initialized
with false, that would treated by compliler as nullptr, and string
initialized with nullptr is empty string, and empty string is treated
for boolean property as true. Which is obviously confusing.
The fix introduces 3rd state for the SQLString - NULL, and makes such
string as a value option to be treated as false. The NULL string will
still have empty string value in different string operations, though.
Setting or changing its value removes the nulliness.
This "Nulliness" is still intended for the driver's internal use mainly,
and designed not to change anything for applications. Comparison of such
object with nullptr returns true, though.
Setting logname will automatically set logging level to 1(error), if
it's not set and is 0.
3rd choice for default log location on Windows is current dir instead of
c: - opening file in c: root could be a problem for an application. Even
though I don't think 3rd choice will actually ever taken.
Changed unnecessary passing of shared_ptr to the function in one place
along the way.
Connection option "log" can be used to set the logging level and turning
logging on - any value > 0 will turn it on.
"logname" can be used for setting log filename. Default name is
mariadbccpp.log, and it's written to TEMP or USERPROFILE or c: on
Windows, or HOME or /tmp on other systems.
Levels from 1 to 5 are: error, warning, info, debug, trace
Also contains correction of thests in pool2 and small correction of the
pool itself - number of pending requests were not decremented.