Execute statement immediately.
| 2506 | |
| 2507 | // Execute statement immediately. |
| 2508 | ISC_STATUS API_ROUTINE isc_dsql_exec_immed3_m(ISC_STATUS* userStatus, isc_db_handle* dbHandle, |
| 2509 | isc_tr_handle* traHandle, USHORT stmtLength, const SCHAR* sqlStmt, USHORT dialect, |
| 2510 | USHORT inBlrLength, const SCHAR* inBlr, USHORT inMsgType, USHORT inMsgLength, const SCHAR* inMsg, |
| 2511 | USHORT outBlrLength, SCHAR* outBlr, USHORT /*outMsgType*/, USHORT outMsgLength, SCHAR* outMsg) |
| 2512 | { |
| 2513 | StatusVector status(userStatus); |
| 2514 | CheckStatusWrapper statusWrapper(&status); |
| 2515 | |
| 2516 | try |
| 2517 | { |
| 2518 | RefPtr<YAttachment> attachment(translateHandle(attachments, dbHandle)); |
| 2519 | |
| 2520 | InternalMessageBuffer inMsgBuffer(inBlrLength, reinterpret_cast<const unsigned char*>(inBlr), |
| 2521 | inMsgLength, reinterpret_cast<UCHAR*>(const_cast<SCHAR*>(inMsg))); |
| 2522 | InternalMessageBuffer outMsgBuffer(outBlrLength, reinterpret_cast<unsigned char*>(outBlr), |
| 2523 | outMsgLength, reinterpret_cast<unsigned char*>(outMsg)); |
| 2524 | |
| 2525 | attachment->execute(&statusWrapper, traHandle, stmtLength, sqlStmt, |
| 2526 | dialect, inMsgBuffer.metadata, inMsgBuffer.buffer, |
| 2527 | outMsgBuffer.metadata, outMsgBuffer.buffer); |
| 2528 | } |
| 2529 | catch (const Exception& e) |
| 2530 | { |
| 2531 | e.stuffException(&statusWrapper); |
| 2532 | } |
| 2533 | |
| 2534 | return status[1]; |
| 2535 | } |
| 2536 | |
| 2537 | // Fetch next record from a dynamic SQL cursor |
| 2538 | ISC_STATUS API_ROUTINE isc_dsql_fetch(ISC_STATUS* userStatus, isc_stmt_handle* stmtHandle, |
nothing calls this directly
no test coverage detected