| 1213 | } |
| 1214 | |
| 1215 | IExternalProcedure* makeProcedure(ThrowStatusExceptionWrapper* status, IExternalContext* context, |
| 1216 | IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder) override |
| 1217 | { |
| 1218 | const char* packageName = metadata->getPackage(status); |
| 1219 | const char* routineName = metadata->getName(status); |
| 1220 | |
| 1221 | for (auto& package : SystemPackage::get()) |
| 1222 | { |
| 1223 | if (strcmp(package.name, packageName) == 0) |
| 1224 | { |
| 1225 | for (auto& routine : package.procedures) |
| 1226 | { |
| 1227 | if (strcmp(routine.name, routineName) == 0) |
| 1228 | return routine.factory(status, context, metadata, inBuilder, outBuilder); |
| 1229 | } |
| 1230 | } |
| 1231 | } |
| 1232 | |
| 1233 | fb_assert(false); |
| 1234 | return nullptr; |
| 1235 | } |
| 1236 | |
| 1237 | IExternalTrigger* makeTrigger(ThrowStatusExceptionWrapper* status, IExternalContext* context, |
| 1238 | IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder) override |
nothing calls this directly
no test coverage detected