You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Parameters declared as SQL_DATA_AT_EXEC the following bug appears:
After passing SQL_NULL_DATA as length parameter to SQLPutData, the parameter pointer is not advanced and the next call to SQLParamData returns SQL_NEED_DATA for the same parameter.
This is for all parameter types - blob AND not blob.
See #ODBC134 - seems to be related.
description: With Parameters declared as SQL_DATA_AT_EXEC the following bug appears:
After passing SQL_NULL_DATA as length parameter to SQLPutData, the parameter pointer is not advanced and the next call to SQLParamData returns SQL_NEED_DATA for the same parameter.
=>
With Parameters declared as SQL_DATA_AT_EXEC the following bug appears:
After passing SQL_NULL_DATA as length parameter to SQLPutData, the parameter pointer is not advanced and the next call to SQLParamData returns SQL_NEED_DATA for the same parameter.
This is for all parameter types - blob AND not blob.
See #ODBC134 - seems to be related.
The problem was, that binding->startedTransfer flag was not set, when SQLPutData has been called with SQL_NEED_DATA.
I changed it now this way, that also for SQL_NULL_DATA the standard field setter routine is sqlPutData is used. This sets SQL_NULL_DATA for the appDescriptor and the impDescriptor.
I removed the setNull function from DescRecord class becaus it was used only in sqlPutData and seems to be dangerous. It sets a *(short*) value. When my research is right, this is only correct if the DescRecord is used for the implementationParamDescriptor. The applicationParamDescriptor should set *indicatorPtr without cast, because ODBC uses SQLLEN. Should one call setNull for the application side, the value will not be correct (high-word not modified).
I think, that this fix also solves the ticket #ODBC134 but I could not test this in the short time frame I had.
Submitted by: Jojakim Stahl (jstahl)
With Parameters declared as SQL_DATA_AT_EXEC the following bug appears:
After passing SQL_NULL_DATA as length parameter to SQLPutData, the parameter pointer is not advanced and the next call to SQLParamData returns SQL_NEED_DATA for the same parameter.
This is for all parameter types - blob AND not blob.
See #ODBC134 - seems to be related.
Commits: 044fa9d b3faed5
The text was updated successfully, but these errors were encountered: