Page 2 of 2

Re: New TZParam/TZParams enabled

Posted: 17.12.2020, 06:52
by EgonHugeist
@aehimself

of course vtNull variant represents SQL NULL. But there are driver differences:
you use the Old FreeTDS DBLIB API and MySQL. For FreeTDS we still send composed SQL-strings instead of native ParamData. For MySQL we do the same in Non-prepared mode(this may change for MariaDB in future -> mariadb_stmt_execute_direct). Then the value in the strings is "NULL" of course.

But for Oracle and other drivers we use native typed bindings. Means we prepare a structure the provider is able to read, declaring the types and tag the nullability. That than means those drivers, even if NULL, do a strict type check. If the value is bound more than once and not null the buffer contained value should be convertable by provider into it's native format.