| 822 | |
| 823 | |
| 824 | ExtEngineManager::ResultSet::ResultSet(thread_db* tdbb, UCHAR* inMsg, UCHAR* outMsg, |
| 825 | const ExtEngineManager::Procedure* aProcedure) |
| 826 | : procedure(aProcedure), |
| 827 | attachment(tdbb->getAttachment()), |
| 828 | firstFetch(true) |
| 829 | { |
| 830 | attInfo = procedure->extManager->getEngineAttachment(tdbb, procedure->engine.get()); |
| 831 | const MetaString& userName = procedure->prc->invoker ? procedure->prc->invoker->getUserName() : ""; |
| 832 | ContextManager<IExternalProcedure> ctxManager(tdbb, attInfo, procedure->procedure, |
| 833 | (procedure->prc->getName().package.isEmpty() ? |
| 834 | CallerName(obj_procedure, procedure->prc->getName().identifier, userName) : |
| 835 | CallerName(obj_package_header, procedure->prc->getName().package, userName))); |
| 836 | |
| 837 | charSet = attachment->att_charset; |
| 838 | |
| 839 | EngineCheckout cout(tdbb, FB_FUNCTION, checkoutType(attInfo->engine)); |
| 840 | |
| 841 | FbLocalStatus status; |
| 842 | resultSet = procedure->procedure->open(&status, attInfo->context, inMsg, outMsg); |
| 843 | status.check(); |
| 844 | } |
| 845 | |
| 846 | |
| 847 | ExtEngineManager::ResultSet::~ResultSet() |
nothing calls this directly
no test coverage detected