Returns true iff an insertion actually happened
| 142 | |
| 143 | // Returns true iff an insertion actually happened |
| 144 | bool registerVectorFunction( |
| 145 | const std::string& name, |
| 146 | std::vector<FunctionSignaturePtr> signatures, |
| 147 | std::unique_ptr<VectorFunction> func, |
| 148 | VectorFunctionMetadata metadata, |
| 149 | bool overwrite) { |
| 150 | std::shared_ptr<VectorFunction> sharedFunc = std::move(func); |
| 151 | auto factory = [sharedFunc]( |
| 152 | const auto& /*name*/, |
| 153 | const auto& /*vectorArg*/, |
| 154 | const auto& /*config*/) { return sharedFunc; }; |
| 155 | return registerStatefulVectorFunction( |
| 156 | name, signatures, factory, metadata, overwrite); |
| 157 | } |
| 158 | |
| 159 | bool deregisterVectorFunction(const std::string& name) { |
| 160 | auto sanitizedName = sanitizeName(name); |