[freetds] ct_param differences between 0.62 and 0.63
iain.calder at blueyonder.co.uk
Sun Jul 24 19:37:05 EDT 2005
Apologies if this has been covered before but I've not been following
the list closely recently. I am trying to move to version 0.63 from
0.62-4 but having problems with named parameters in CS_LANG_CMD
queries. The queries all work fine using 0.62.
Database server: SQL Server 2000 with tds version = 7.0
Example query:'select @myparam'
Using ct_param to supply a string (char) value for @myparam, the query
runs successfully with 0.62-4 but using 0.63 the server reports an error
'Must declare the variable @myparam' and the query fails. The unit test
ctlib/unittests/lang_ct_param.c also produces a similar error.
Stepping through the code the changed behaviour seems to be a result of
changes made in tds/query.c to the
tds_build_params_definition(...) function. In particular the call to
tds_count_placeholders_ucs2le(...) returns a count of zero and hence an
empty parameter definition string is returned.
It looks as though 0.63 does not support '@param' style named parameters
(for tds version 7 at least). Can anyone confirm this?
More information about the FreeTDS