| 775 | |
| 776 | |
| 777 | void ExtEngineManager::Function::execute(thread_db* tdbb, UCHAR* inMsg, UCHAR* outMsg) const |
| 778 | { |
| 779 | EngineAttachmentInfo* attInfo = extManager->getEngineAttachment(tdbb, engine.get()); |
| 780 | const MetaString& userName = udf->invoker ? udf->invoker->getUserName() : ""; |
| 781 | ContextManager<IExternalFunction> ctxManager(tdbb, attInfo, function, |
| 782 | (udf->getName().package.isEmpty() ? |
| 783 | CallerName(obj_udf, udf->getName().identifier, userName) : |
| 784 | CallerName(obj_package_header, udf->getName().package, userName))); |
| 785 | |
| 786 | EngineCheckout cout(tdbb, FB_FUNCTION, checkoutType(attInfo->engine)); |
| 787 | |
| 788 | FbLocalStatus status; |
| 789 | function->execute(&status, attInfo->context, inMsg, outMsg); |
| 790 | status.check(); |
| 791 | } |
| 792 | |
| 793 | |
| 794 | //--------------------- |
no test coverage detected