Skip to Content.
Sympa Menu

freetds - Re: [freetds] ct_param differences between 0.62 and 0.63

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] ct_param differences between 0.62 and 0.63
  • Date: Mon, 25 Jul 2005 13:44:23 +0200

>
> Hi Iain,
>
> Your diagnosis is correct.
> This functionality did regress somewhere between 0.62 and 0.63,
> as a result of improvements to the "query with ?
> placeholders" logic for
> both ODBC and ct-library (ct_dynamic)
>
> I have fixed and improved this now.
> A patch will be on its way to freetds this week.
>
> Bill
>

Mmm... why doesn't ct_results return CS_CMD_FAIL?

It seems that problem is in token.c

case TDS_DONEPROC_TOKEN:
SET_RETURN(TDS_DONEPROC_RESULT, DONE);
rc = tds_process_end(tds, marker, done_flags);
switch (tds->internal_sp_called ) {
case 0:
case TDS_SP_PREPARE:
case TDS_SP_EXECUTE:
case TDS_SP_UNPREPARE:
break;
case TDS_SP_CURSOROPEN:
*result_type = TDS_DONE_RESULT;
tds->rows_affected = saved_rows_affected;
break;
case TDS_SP_CURSORCLOSE:
tdsdump_log(TDS_DBG_FUNC,
"TDS_SP_CURSORCLOSE\n");
if (tds->cur_cursor) {

TDSCURSOR *cursor = tds->cur_cursor;

cursor->srv_status &=
~TDS_CUR_ISTAT_OPEN;
cursor->srv_status |=
TDS_CUR_ISTAT_CLOSED;
cursor->srv_status |=
TDS_CUR_ISTAT_DECLARED;
if (cursor->status.dealloc == 2) {
tds_free_cursor(tds, cursor);
}
}
*result_type = TDS_NO_MORE_RESULTS;
rc = TDS_NO_MORE_RESULTS;
break;
default:
*result_type = TDS_NO_MORE_RESULTS;
rc = TDS_NO_MORE_RESULTS;
break;
}
break;

on parameters tds_submit_query_params is called (ct.c), then
tds->internal_sp_called is set to TDS_SP_EXECUTESQL so
TDS_DONEPROC_TOKENS (that contains error) is not returned, error is not
detected and lang_ct_param test pass...
Note also that tds_submit_query_params do not accept @param style in
language...

freddy77





Archive powered by MHonArc 2.6.24.

Top of Page