You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/03/14 10:12:53 UTC
[GitHub] [arrow-datafusion] Ted-Jiang commented on a change in pull request #2008: Support more ScalarFunction in Ballista
Ted-Jiang commented on a change in pull request #2008:
URL: https://github.com/apache/arrow-datafusion/pull/2008#discussion_r825782848
##########
File path: datafusion-proto/src/from_proto.rs
##########
@@ -992,32 +1017,86 @@ impl TryFrom<&protobuf::LogicalExprNode> for Expr {
ScalarFunction::Trunc => Ok(trunc((&args[0]).try_into()?)),
ScalarFunction::Abs => Ok(abs((&args[0]).try_into()?)),
ScalarFunction::Signum => Ok(signum((&args[0]).try_into()?)),
- ScalarFunction::Octetlength => {
+ ScalarFunction::OctetLength => {
Ok(octet_length((&args[0]).try_into()?))
}
- // // ScalarFunction::Concat => Ok(concat((&args[0]).try_into()?)),
ScalarFunction::Lower => Ok(lower((&args[0]).try_into()?)),
ScalarFunction::Upper => Ok(upper((&args[0]).try_into()?)),
ScalarFunction::Trim => Ok(trim((&args[0]).try_into()?)),
ScalarFunction::Ltrim => Ok(ltrim((&args[0]).try_into()?)),
ScalarFunction::Rtrim => Ok(rtrim((&args[0]).try_into()?)),
- // ScalarFunction::Totimestamp => Ok(to_timestamp((&args[0]).try_into()?)),
- // ScalarFunction::Array => Ok(array((&args[0]).try_into()?)),
- // // ScalarFunction::Nullif => Ok(nulli((&args[0]).try_into()?)),
- ScalarFunction::Datepart => {
+ ScalarFunction::DatePart => {
Ok(date_part((&args[0]).try_into()?, (&args[1]).try_into()?))
}
- ScalarFunction::Datetrunc => {
+ ScalarFunction::DateTrunc => {
Ok(date_trunc((&args[0]).try_into()?, (&args[1]).try_into()?))
}
- // ScalarFunction::Md5 => Ok(md5((&args[0]).try_into()?)),
ScalarFunction::Sha224 => Ok(sha224((&args[0]).try_into()?)),
ScalarFunction::Sha256 => Ok(sha256((&args[0]).try_into()?)),
ScalarFunction::Sha384 => Ok(sha384((&args[0]).try_into()?)),
ScalarFunction::Sha512 => Ok(sha512((&args[0]).try_into()?)),
ScalarFunction::Digest => {
Ok(digest((&args[0]).try_into()?, (&args[1]).try_into()?))
}
+ //ScalarFunction::ToTimestampMillis => Ok(to_tome)
+ ScalarFunction::Ascii => Ok(ascii((&args[0]).try_into()?)),
+ ScalarFunction::BitLength => Ok((&args[0]).try_into()?),
+ ScalarFunction::CharacterLength => {
+ Ok(character_length((&args[0]).try_into()?))
+ }
+ ScalarFunction::Chr => Ok(chr((&args[0]).try_into()?)),
+ // ScalarFunction::ConcatWithSeparator => {
+ // Ok(concat_ws((&args[0]).try_into()?, (&args[1]).try_into()?))
+ // }
+ ScalarFunction::InitCap => Ok(ascii((&args[0]).try_into()?)),
+ ScalarFunction::Left => {
+ Ok(left((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Random => Ok(random()),
+ ScalarFunction::Repeat => {
+ Ok(repeat((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Replace => Ok(replace(
+ (&args[0]).try_into()?,
+ (&args[1]).try_into()?,
+ (&args[2]).try_into()?,
+ )),
+ ScalarFunction::Reverse => Ok(reverse((&args[0]).try_into()?)),
+ ScalarFunction::Right => {
+ Ok(right((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ // ScalarFunction::Rpad => Ok(rpad(vec![])),
+ // ScalarFunction::RegexpReplace => {
+ // Ok(regexp_replace(vec![]))
+ // }
+ // ScalarFunction::RegexpMatch => {
+ // Ok(regexp_match(vec![]))
+ // }
+ // ScalarFunction::Lpad => Ok(lpad(vec![])),
+ //ScalarFunction::Btrim => Ok(btrim((&args[0]).try_into()?)),
+ ScalarFunction::SplitPart => Ok(split_part(
+ (&args[0]).try_into()?,
+ (&args[1]).try_into()?,
+ (&args[2]).try_into()?,
+ )),
+ ScalarFunction::StartsWith => {
+ Ok(starts_with((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Strpos => {
+ Ok(strpos((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Substr => {
+ Ok(substr((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::ToHex => Ok(to_hex((&args[0]).try_into()?)),
+ //ScalarFunction::ToTimestampMicros Ok(totime((&args[0]).try_into()?)),
Review comment:
Add issue #2010
##########
File path: datafusion-proto/src/from_proto.rs
##########
@@ -992,32 +1017,86 @@ impl TryFrom<&protobuf::LogicalExprNode> for Expr {
ScalarFunction::Trunc => Ok(trunc((&args[0]).try_into()?)),
ScalarFunction::Abs => Ok(abs((&args[0]).try_into()?)),
ScalarFunction::Signum => Ok(signum((&args[0]).try_into()?)),
- ScalarFunction::Octetlength => {
+ ScalarFunction::OctetLength => {
Ok(octet_length((&args[0]).try_into()?))
}
- // // ScalarFunction::Concat => Ok(concat((&args[0]).try_into()?)),
ScalarFunction::Lower => Ok(lower((&args[0]).try_into()?)),
ScalarFunction::Upper => Ok(upper((&args[0]).try_into()?)),
ScalarFunction::Trim => Ok(trim((&args[0]).try_into()?)),
ScalarFunction::Ltrim => Ok(ltrim((&args[0]).try_into()?)),
ScalarFunction::Rtrim => Ok(rtrim((&args[0]).try_into()?)),
- // ScalarFunction::Totimestamp => Ok(to_timestamp((&args[0]).try_into()?)),
- // ScalarFunction::Array => Ok(array((&args[0]).try_into()?)),
- // // ScalarFunction::Nullif => Ok(nulli((&args[0]).try_into()?)),
- ScalarFunction::Datepart => {
+ ScalarFunction::DatePart => {
Ok(date_part((&args[0]).try_into()?, (&args[1]).try_into()?))
}
- ScalarFunction::Datetrunc => {
+ ScalarFunction::DateTrunc => {
Ok(date_trunc((&args[0]).try_into()?, (&args[1]).try_into()?))
}
- // ScalarFunction::Md5 => Ok(md5((&args[0]).try_into()?)),
ScalarFunction::Sha224 => Ok(sha224((&args[0]).try_into()?)),
ScalarFunction::Sha256 => Ok(sha256((&args[0]).try_into()?)),
ScalarFunction::Sha384 => Ok(sha384((&args[0]).try_into()?)),
ScalarFunction::Sha512 => Ok(sha512((&args[0]).try_into()?)),
ScalarFunction::Digest => {
Ok(digest((&args[0]).try_into()?, (&args[1]).try_into()?))
}
+ //ScalarFunction::ToTimestampMillis => Ok(to_tome)
+ ScalarFunction::Ascii => Ok(ascii((&args[0]).try_into()?)),
+ ScalarFunction::BitLength => Ok((&args[0]).try_into()?),
+ ScalarFunction::CharacterLength => {
+ Ok(character_length((&args[0]).try_into()?))
+ }
+ ScalarFunction::Chr => Ok(chr((&args[0]).try_into()?)),
+ // ScalarFunction::ConcatWithSeparator => {
+ // Ok(concat_ws((&args[0]).try_into()?, (&args[1]).try_into()?))
+ // }
+ ScalarFunction::InitCap => Ok(ascii((&args[0]).try_into()?)),
+ ScalarFunction::Left => {
+ Ok(left((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Random => Ok(random()),
+ ScalarFunction::Repeat => {
+ Ok(repeat((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ ScalarFunction::Replace => Ok(replace(
+ (&args[0]).try_into()?,
+ (&args[1]).try_into()?,
+ (&args[2]).try_into()?,
+ )),
+ ScalarFunction::Reverse => Ok(reverse((&args[0]).try_into()?)),
+ ScalarFunction::Right => {
+ Ok(right((&args[0]).try_into()?, (&args[1]).try_into()?))
+ }
+ // ScalarFunction::Rpad => Ok(rpad(vec![])),
+ // ScalarFunction::RegexpReplace => {
+ // Ok(regexp_replace(vec![]))
+ // }
Review comment:
Add issue #2009
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org