| 49 | class RemoteFunction : public exec::VectorFunction { |
| 50 | public: |
| 51 | RemoteFunction( |
| 52 | const std::string& functionName, |
| 53 | const std::vector<exec::VectorFunctionArg>& inputArgs, |
| 54 | const RemoteVectorFunctionMetadata& metadata) |
| 55 | : functionName_(functionName), |
| 56 | location_(metadata.location), |
| 57 | thriftClient_(getThriftClient(location_, &eventBase_)), |
| 58 | serdeFormat_(metadata.serdeFormat), |
| 59 | serde_(getSerde(serdeFormat_)) { |
| 60 | std::vector<TypePtr> types; |
| 61 | types.reserve(inputArgs.size()); |
| 62 | serializedInputTypes_.reserve(inputArgs.size()); |
| 63 | |
| 64 | for (const auto& arg : inputArgs) { |
| 65 | types.emplace_back(arg.type); |
| 66 | serializedInputTypes_.emplace_back(serializeType(arg.type)); |
| 67 | } |
| 68 | remoteInputType_ = ROW(std::move(types)); |
| 69 | } |
| 70 | |
| 71 | void apply( |
| 72 | const SelectivityVector& rows, |
nothing calls this directly
no test coverage detected