MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / API_ROUTINE isc_dsql_exec_immed3_m

Function API_ROUTINE isc_dsql_exec_immed3_m

src/yvalve/why.cpp:2508–2535  ·  view source on GitHub ↗

Execute statement immediately.

Source from the content-addressed store, hash-verified

2506
2507// Execute statement immediately.
2508ISC_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
2538ISC_STATUS API_ROUTINE isc_dsql_fetch(ISC_STATUS* userStatus, isc_stmt_handle* stmtHandle,

Callers

nothing calls this directly

Calls 3

translateHandleFunction · 0.85
executeMethod · 0.45
stuffExceptionMethod · 0.45

Tested by

no test coverage detected