| 1191 | } |
| 1192 | |
| 1193 | IExternalFunction* makeFunction(ThrowStatusExceptionWrapper* status, IExternalContext* context, |
| 1194 | IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder) override |
| 1195 | { |
| 1196 | const char* packageName = metadata->getPackage(status); |
| 1197 | const char* routineName = metadata->getName(status); |
| 1198 | |
| 1199 | for (auto& package : SystemPackage::get()) |
| 1200 | { |
| 1201 | if (strcmp(package.name, packageName) == 0) |
| 1202 | { |
| 1203 | for (auto& routine : package.functions) |
| 1204 | { |
| 1205 | if (strcmp(routine.name, routineName) == 0) |
| 1206 | return routine.factory(status, context, metadata, inBuilder, outBuilder); |
| 1207 | } |
| 1208 | } |
| 1209 | } |
| 1210 | |
| 1211 | fb_assert(false); |
| 1212 | return nullptr; |
| 1213 | } |
| 1214 | |
| 1215 | IExternalProcedure* makeProcedure(ThrowStatusExceptionWrapper* status, IExternalContext* context, |
| 1216 | IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder) override |
nothing calls this directly
no test coverage detected