ayushi-agarwal opened a new issue, #9452:
URL: https://github.com/apache/incubator-gluten/issues/9452
### Description
I see this fallback when using map function:
(25) Project: Native validation failed:
Validation failed due to exception caught at
file:SubstraitToVeloxPlanValidator.cc line:1381 function:validate, thrown from
file:ExprCompiler.cpp line:477 function:compileRewrittenExpression,
reason:Scalar function map not registered with arguments: (VARCHAR, DOUBLE,
VARCHAR, DOUBLE, VARCHAR, DOUBLE, VARCHAR, DOUBLE, VARCHAR, DOUBLE). Found
function registered with the following signatures:
((K,V) -> map(K,V))
((K,V,K,V) -> map(K,V))
((K,V,K,V,K,V) -> map(K,V))
Is it because of this signature definition, can we just increase it more
than 6 inputs by chanigng the value to more than 3? @PHILO-HE
```
static std::vector<std::shared_ptr<exec::FunctionSignature>> signatures() {
// For the purpose of testing we introduce up to 6 inputs
// array(K), array(V) -> map(K,V)
std::vector<std::shared_ptr<exec::FunctionSignature>> signatures;
constexpr int kNumberOfSignatures = 3;
signatures.reserve(kNumberOfSignatures);
for (int i = 1; i <= kNumberOfSignatures; i++) {
auto builder = exec::FunctionSignatureBuilder()
.knownTypeVariable("K")
.typeVariable("V")
.returnType("map(K,V)");
for (int arg = 0; arg < i; arg++) {
builder.argumentType("K").argumentType("V");
}
signatures.push_back(builder.build());
}
return signatures;
}
```
### Gluten version
main branch
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]