415{
416 IBConnection* connHandle = conn();
418
419 if (
__stmtType == isc_info_sql_stmt_exec_procedure) {
420 if (isc_dsql_execute2(
421 statusVector,
428 return false;
429 }
430 return true;
431 }
432
433 if (isc_dsql_execute(
434 statusVector,
439
441 return false;
442 }
443
444 for(size_t i = 0; i < Query::__paramCount; i++)
446
447
448
449
450 unsigned char count_type = 0;
452 case isc_info_sql_stmt_update: {
453 count_type = isc_info_req_update_count;
454 break;
455 }
456 case isc_info_sql_stmt_delete: {
457 count_type = isc_info_req_delete_count;
458 break;
459 }
460 case isc_info_sql_stmt_insert: {
461 count_type = isc_info_req_insert_count;
462 break;
463 }
464 case isc_info_sql_stmt_select:
465 case isc_info_sql_stmt_select_for_upd: {
466 Query::__eof = false;
467 break;
468 }
469 case isc_info_sql_stmt_exec_procedure: {
470 for (size_t i = 0; i < Query::__fieldCount; i++) {
472 return false;
473 }
474 break;
475 }
476 }
477
478 if (count_type) {
479 unsigned char count_is = 0;
480 char count_buffer[33];
481 unsigned short length;
482
483 if (isc_dsql_sql_info(
484 statusVector,
486 sizeof(count_info_item),
487 count_info_item,
488 sizeof(count_buffer),
489 count_buffer)) {
490
492 return false;
493 }
494
495 for(char* pch = count_buffer + 3; *pch != isc_info_end; ) {
496 count_is = *pch++;
497 length = (unsigned short)isc_vax_integer(pch, 2);
498 pch += 2;
499 Query::__affectedRows = isc_vax_integer(pch, length);
500 pch += length;
501 if (count_is == count_type)
502 break;
503 }
504 }
505
506 return true;
507}
#define __SET_ERROR(_errorCode)
isc_tr_handle * trHandlePtr()
ISC_STATUS * statusVector()
isc_stmt_handle __stmtHandle