| 451 | } |
| 452 | |
| 453 | Request* Statement::getRequest(thread_db* tdbb, USHORT level) |
| 454 | { |
| 455 | SET_TDBB(tdbb); |
| 456 | |
| 457 | Jrd::Attachment* const attachment = tdbb->getAttachment(); |
| 458 | Database* const dbb = tdbb->getDatabase(); |
| 459 | fb_assert(dbb); |
| 460 | |
| 461 | if (level < requests.getCount() && requests[level]) |
| 462 | return requests[level]; |
| 463 | |
| 464 | // Create the request. |
| 465 | AutoMemoryPool reqPool(MemoryPool::createPool(pool)); |
| 466 | const auto request = FB_NEW_POOL(*reqPool) Request(reqPool, attachment, this); |
| 467 | |
| 468 | requests.grow(level + 1); |
| 469 | requests[level] = request; |
| 470 | |
| 471 | return request; |
| 472 | } |
| 473 | |
| 474 | // Check that we have enough rights to access all resources this request touches including |
| 475 | // resources it used indirectly via procedures or triggers. |
no test coverage detected