MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / Engine

Method Engine

src/plugins/udr_engine/UdrEngine.cpp:54–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52{
53public:
54 explicit Engine(IPluginConfig* par)
55 : functions(getPool()),
56 procedures(getPool()),
57 triggers(getPool())
58 {
59 LocalStatus ls;
60 CheckStatusWrapper s(&ls);
61 RefPtr<IConfig> defaultConfig(REF_NO_INCR, par->getDefaultConfig(&s));
62 check(&s);
63
64 if (defaultConfig)
65 {
66 // this plugin is not ready to support different configurations
67 // therefore keep legacy approach
68
69 RefPtr<IConfigEntry> icp;
70
71 for (int n = 0; icp.assignRefNoIncr(defaultConfig->findPos(&s, "path", n)); ++n)
72 {
73 check(&s);
74
75 PathName newPath(icp->getValue());
76 bool found = false;
77
78 for (ObjectsArray<PathName>::iterator i = paths->begin(); i != paths->end(); ++i)
79 {
80 if (*i == newPath)
81 {
82 found = true;
83 break;
84 }
85 }
86
87 if (!found)
88 paths->add(newPath);
89 }
90 }
91 }
92
93public:
94 UdrPluginImpl* loadModule(ThrowStatusWrapper* status, IRoutineMetadata* metadata,

Callers

nothing calls this directly

Calls 8

assignRefNoIncrMethod · 0.80
checkFunction · 0.50
getDefaultConfigMethod · 0.45
findPosMethod · 0.45
getValueMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected