Re: New TZParam/TZParams enabled
Posted: 17.12.2020, 06:52
@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.
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.