Skip to content

Commit 8baeb3b

Browse files
committed
fix(naming): rename variant to implementation
rename variant to implementation
1 parent 041fecb commit 8baeb3b

File tree

5 files changed

+82
-81
lines changed

5 files changed

+82
-81
lines changed

include/substrait/function/Extension.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ struct TypeVariant {
2020

2121
using TypeVariantPtr = std::shared_ptr<TypeVariant>;
2222

23-
using FunctionVariantMap =
23+
using FunctionImplMap =
2424
std::unordered_map<std::string, std::vector<FunctionImplementationPtr>>;
2525

2626
using TypeVariantMap = std::unordered_map<std::string, TypeVariantPtr>;
@@ -40,40 +40,40 @@ class Extension {
4040
static std::shared_ptr<Extension> load(
4141
const std::vector<std::string>& extensionFiles);
4242

43-
/// Add a scalar function variant.
44-
void addScalarFunctionVariant(const FunctionImplementationPtr& functionVariant);
43+
/// Add a scalar function implementation.
44+
void addScalarFunctionImpl(const FunctionImplementationPtr& functionImpl);
4545

46-
/// Add a aggregate function variant.
47-
void addAggregateFunctionVariant(const FunctionImplementationPtr& functionVariant);
46+
/// Add a aggregate function implementation.
47+
void addAggregateFunctionImpl(const FunctionImplementationPtr& functionImpl);
4848

49-
/// Add a window function variant.
50-
void addWindowFunctionVariant(const FunctionImplementationPtr& functionVariant);
49+
/// Add a window function implementation.
50+
void addWindowFunctionImpl(const FunctionImplementationPtr& functionImpl);
5151

5252
/// Add a type variant.
53-
void addTypeVariant(const TypeVariantPtr& functionVariant);
53+
void addTypeVariant(const TypeVariantPtr& typeVariant);
5454

5555
/// Lookup type variant by given type name.
5656
/// @return matched type variant
5757
TypeVariantPtr lookupType(const std::string& typeName) const;
5858

59-
const FunctionVariantMap& scalaFunctionVariantMap() const {
60-
return scalarFunctionVariantMap_;
59+
const FunctionImplMap& scalaFunctionImplMap() const {
60+
return scalarFunctionImplMap_;
6161
}
6262

63-
const FunctionVariantMap& windowFunctionVariantMap() const {
64-
return windowFunctionVariantMap_;
63+
const FunctionImplMap& windowFunctionImplMap() const {
64+
return windowFunctionImplMap_;
6565
}
6666

67-
const FunctionVariantMap& aggregateFunctionVariantMap() const {
68-
return aggregateFunctionVariantMap_;
67+
const FunctionImplMap& aggregateFunctionImplMap() const {
68+
return aggregateFunctionImplMap_;
6969
}
7070

7171
private:
72-
FunctionVariantMap scalarFunctionVariantMap_;
72+
FunctionImplMap scalarFunctionImplMap_;
7373

74-
FunctionVariantMap aggregateFunctionVariantMap_;
74+
FunctionImplMap aggregateFunctionImplMap_;
7575

76-
FunctionVariantMap windowFunctionVariantMap_;
76+
FunctionImplMap windowFunctionImplMap_;
7777

7878
TypeVariantMap typeVariantMap_;
7979
};

include/substrait/function/Function.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ struct FunctionImplementation {
9595
ParameterizedTypePtr returnType;
9696
std::optional<FunctionVariadic> variadic;
9797

98-
/// Test if the actual types matched with this function variant.
98+
/// Test if the actual types matched with this function implement.
9999
virtual bool tryMatch(const FunctionSignature& signature);
100100

101101
/// Create function signature by function name and arguments.

include/substrait/function/FunctionLookup.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class FunctionLookup {
1818
virtual ~FunctionLookup() = default;
1919

2020
protected:
21-
[[nodiscard]] virtual FunctionVariantMap getFunctionVariants() const = 0;
21+
[[nodiscard]] virtual FunctionImplMap getFunctionImpls() const = 0;
2222

2323
ExtensionPtr extension_{};
2424
};
@@ -31,8 +31,8 @@ class ScalarFunctionLookup : public FunctionLookup {
3131
: FunctionLookup(extension) {}
3232

3333
protected:
34-
[[nodiscard]] FunctionVariantMap getFunctionVariants() const override {
35-
return extension_->scalaFunctionVariantMap();
34+
[[nodiscard]] FunctionImplMap getFunctionImpls() const override {
35+
return extension_->scalaFunctionImplMap();
3636
}
3737
};
3838

@@ -42,8 +42,8 @@ class AggregateFunctionLookup : public FunctionLookup {
4242
: FunctionLookup(extension) {}
4343

4444
protected:
45-
[[nodiscard]] FunctionVariantMap getFunctionVariants() const override {
46-
return extension_->aggregateFunctionVariantMap();
45+
[[nodiscard]] FunctionImplMap getFunctionImpls() const override {
46+
return extension_->aggregateFunctionImplMap();
4747
}
4848
};
4949

@@ -53,8 +53,8 @@ class WindowFunctionLookup : public FunctionLookup {
5353
: FunctionLookup(extension) {}
5454

5555
protected:
56-
[[nodiscard]] FunctionVariantMap getFunctionVariants() const override {
57-
return extension_->windowFunctionVariantMap();
56+
[[nodiscard]] FunctionImplMap getFunctionImpls() const override {
57+
return extension_->windowFunctionImplMap();
5858
}
5959
};
6060

substrait/function/Extension.cpp

Lines changed: 53 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include <yaml-cpp/yaml.h>
44
#include "substrait/function/Extension.h"
55

6-
bool decodeFunctionVariant(
6+
bool decodeFunctionImpl(
77
const YAML::Node& node,
88
substrait::FunctionImplementation& function) {
99
const auto& returnType = node["return"];
@@ -103,7 +103,7 @@ struct YAML::convert<substrait::ScalarFunctionImplementation> {
103103
static bool decode(
104104
const Node& node,
105105
substrait::ScalarFunctionImplementation& function) {
106-
return decodeFunctionVariant(node, function);
106+
return decodeFunctionImpl(node, function);
107107
};
108108
};
109109

@@ -112,7 +112,7 @@ struct YAML::convert<substrait::AggregateFunctionImplementation> {
112112
static bool decode(
113113
const Node& node,
114114
substrait::AggregateFunctionImplementation& function) {
115-
const auto& res = decodeFunctionVariant(node, function);
115+
const auto& res = decodeFunctionImpl(node, function);
116116
if (res) {
117117
const auto& intermediate = node["intermediate"];
118118
if (intermediate) {
@@ -178,13 +178,14 @@ std::shared_ptr<Extension> Extension::load(
178178
if (scalarFunctions && scalarFunctions.IsSequence()) {
179179
for (auto& scalarFunctionNode : scalarFunctions) {
180180
const auto functionName = scalarFunctionNode["name"].as<std::string>();
181-
for (auto& scalaFunctionVariantNode : scalarFunctionNode["impls"]) {
182-
auto scalarFunctionVariant =
183-
scalaFunctionVariantNode.as<ScalarFunctionImplementation>();
184-
scalarFunctionVariant.name = functionName;
185-
scalarFunctionVariant.uri = extensionUri;
186-
extension->addScalarFunctionVariant(
187-
std::make_shared<ScalarFunctionImplementation>(scalarFunctionVariant));
181+
for (auto& scalaFunctionImplNode : scalarFunctionNode["impls"]) {
182+
auto scalarFunctionImpl =
183+
scalaFunctionImplNode.as<ScalarFunctionImplementation>();
184+
scalarFunctionImpl.name = functionName;
185+
scalarFunctionImpl.uri = extensionUri;
186+
extension->addScalarFunctionImpl(
187+
std::make_shared<ScalarFunctionImplementation>(
188+
scalarFunctionImpl));
188189
}
189190
}
190191
}
@@ -194,15 +195,15 @@ std::shared_ptr<Extension> Extension::load(
194195
for (auto& aggregateFunctionNode : aggregateFunctions) {
195196
const auto functionName =
196197
aggregateFunctionNode["name"].as<std::string>();
197-
for (auto& aggregateFunctionVariantNode :
198+
for (auto& aggregateFunctionImplNode :
198199
aggregateFunctionNode["impls"]) {
199-
auto aggregateFunctionVariant =
200-
aggregateFunctionVariantNode.as<AggregateFunctionImplementation>();
201-
aggregateFunctionVariant.name = functionName;
202-
aggregateFunctionVariant.uri = extensionUri;
203-
extension->addAggregateFunctionVariant(
200+
auto aggregateFunctionImpl =
201+
aggregateFunctionImplNode.as<AggregateFunctionImplementation>();
202+
aggregateFunctionImpl.name = functionName;
203+
aggregateFunctionImpl.uri = extensionUri;
204+
extension->addAggregateFunctionImpl(
204205
std::make_shared<AggregateFunctionImplementation>(
205-
aggregateFunctionVariant));
206+
aggregateFunctionImpl));
206207
}
207208
}
208209
}
@@ -219,23 +220,23 @@ std::shared_ptr<Extension> Extension::load(
219220
return extension;
220221
}
221222

222-
void Extension::addWindowFunctionVariant(
223-
const FunctionImplementationPtr& functionVariant) {
224-
const auto& functionVariants =
225-
windowFunctionVariantMap_.find(functionVariant->name);
226-
if (functionVariants != windowFunctionVariantMap_.end()) {
227-
auto& variants = functionVariants->second;
228-
variants.emplace_back(functionVariant);
223+
void Extension::addWindowFunctionImpl(
224+
const FunctionImplementationPtr& functionImpl) {
225+
const auto& functionImpls =
226+
windowFunctionImplMap_.find(functionImpl->name);
227+
if (functionImpls != windowFunctionImplMap_.end()) {
228+
auto& impls = functionImpls->second;
229+
impls.emplace_back(functionImpl);
229230
} else {
230-
std::vector<FunctionImplementationPtr> variants;
231-
variants.emplace_back(functionVariant);
232-
windowFunctionVariantMap_.insert(
233-
{functionVariant->name, std::move(variants)});
231+
std::vector<FunctionImplementationPtr> impls;
232+
impls.emplace_back(functionImpl);
233+
windowFunctionImplMap_.insert(
234+
{functionImpl->name, std::move(impls)});
234235
}
235236
}
236237

237-
void Extension::addTypeVariant(const TypeVariantPtr& functionVariant) {
238-
typeVariantMap_.insert({functionVariant->name, functionVariant});
238+
void Extension::addTypeVariant(const TypeVariantPtr& typeVariant) {
239+
typeVariantMap_.insert({typeVariant->name, typeVariant});
239240
}
240241

241242
TypeVariantPtr Extension::lookupType(const std::string& typeName) const {
@@ -246,33 +247,33 @@ TypeVariantPtr Extension::lookupType(const std::string& typeName) const {
246247
return nullptr;
247248
}
248249

249-
void Extension::addScalarFunctionVariant(
250-
const FunctionImplementationPtr& functionVariant) {
251-
const auto& functionVariants =
252-
scalarFunctionVariantMap_.find(functionVariant->name);
253-
if (functionVariants != scalarFunctionVariantMap_.end()) {
254-
auto& variants = functionVariants->second;
255-
variants.emplace_back(functionVariant);
250+
void Extension::addScalarFunctionImpl(
251+
const FunctionImplementationPtr& functionImpl) {
252+
const auto& functionImpls =
253+
scalarFunctionImplMap_.find(functionImpl->name);
254+
if (functionImpls != scalarFunctionImplMap_.end()) {
255+
auto& impls = functionImpls->second;
256+
impls.emplace_back(functionImpl);
256257
} else {
257-
std::vector<FunctionImplementationPtr> variants;
258-
variants.emplace_back(functionVariant);
259-
scalarFunctionVariantMap_.insert(
260-
{functionVariant->name, std::move(variants)});
258+
std::vector<FunctionImplementationPtr> impls;
259+
impls.emplace_back(functionImpl);
260+
scalarFunctionImplMap_.insert(
261+
{functionImpl->name, std::move(impls)});
261262
}
262263
}
263264

264-
void Extension::addAggregateFunctionVariant(
265-
const FunctionImplementationPtr& functionVariant) {
266-
const auto& functionVariants =
267-
aggregateFunctionVariantMap_.find(functionVariant->name);
268-
if (functionVariants != aggregateFunctionVariantMap_.end()) {
269-
auto& variants = functionVariants->second;
270-
variants.emplace_back(functionVariant);
265+
void Extension::addAggregateFunctionImpl(
266+
const FunctionImplementationPtr& functionImpl) {
267+
const auto& functionImpls =
268+
aggregateFunctionImplMap_.find(functionImpl->name);
269+
if (functionImpls != aggregateFunctionImplMap_.end()) {
270+
auto& impls = functionImpls->second;
271+
impls.emplace_back(functionImpl);
271272
} else {
272-
std::vector<FunctionImplementationPtr> variants;
273-
variants.emplace_back(functionVariant);
274-
aggregateFunctionVariantMap_.insert(
275-
{functionVariant->name, std::move(variants)});
273+
std::vector<FunctionImplementationPtr> impls;
274+
impls.emplace_back(functionImpl);
275+
aggregateFunctionImplMap_.insert(
276+
{functionImpl->name, std::move(impls)});
276277
}
277278
}
278279

substrait/function/FunctionLookup.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ namespace substrait {
77
FunctionImplementationPtr FunctionLookup::lookupFunction(
88
const FunctionSignature& signature) const {
99

10-
const auto& functionImpls = getFunctionVariants();
10+
const auto& functionImpls = getFunctionImpls();
1111
auto functionImplsIter = functionImpls.find(signature.name);
1212
if (functionImplsIter != functionImpls.end()) {
13-
for (const auto& candidateFunctionVariant : functionImplsIter->second) {
14-
if (candidateFunctionVariant->tryMatch(signature)) {
15-
return candidateFunctionVariant;
13+
for (const auto& candidateFunctionImpl : functionImplsIter->second) {
14+
if (candidateFunctionImpl->tryMatch(signature)) {
15+
return candidateFunctionImpl;
1616
}
1717
}
1818
}

0 commit comments

Comments
 (0)