[
https://issues.apache.org/jira/browse/FLINK-3580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509875#comment-15509875
]
ASF GitHub Bot commented on FLINK-3580:
---------------------------------------
Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/2468#discussion_r79826575
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/expressions/time.scala
---
@@ -248,3 +249,97 @@ case class LocalTime() extends
CurrentTimePoint(SqlTimeTypeInfo.TIME, local = tr
case class LocalTimestamp() extends
CurrentTimePoint(SqlTimeTypeInfo.TIMESTAMP, local = true)
+case class TemporalOverlaps(
+ leftTimePoint: Expression,
+ leftTemporal: Expression,
+ rightTimePoint: Expression,
+ rightTemporal: Expression)
+ extends Expression {
+
+ override private[flink] def children: Seq[Expression] =
+ Seq(leftTimePoint, leftTemporal, rightTimePoint, rightTemporal)
+
+ override private[flink] def resultType: TypeInformation[_] =
BOOLEAN_TYPE_INFO
+
+ override private[flink] def validateInput(): ExprValidationResult = {
+ if (!TypeCheckUtils.isTimePoint(leftTimePoint.resultType)) {
+ return ValidationFailure(s"TemporalOverlaps operator requires
leftTimePoint to be of type " +
+ s"Time Point, but get ${leftTimePoint.resultType}.")
+ }
+ if (!TypeCheckUtils.isTimePoint(rightTimePoint.resultType)) {
+ return ValidationFailure(s"TemporalOverlaps operator requires
rightTimePoint to be of " +
+ s"type Time Point, but get ${rightTimePoint.resultType}.")
+ }
+ if (leftTimePoint.resultType != rightTimePoint.resultType) {
+ return ValidationFailure(s"TemporalOverlaps operator requires
leftTimePoint and " +
+ s"rightTimePoint to be of same type.")
+ }
+
+ // leftTemporal is point, then it must be comparable with leftTimePoint
+ if (TypeCheckUtils.isTimePoint(leftTemporal.resultType)) {
+ if (leftTemporal.resultType != leftTimePoint.resultType) {
+ return ValidationFailure(s"TemporalOverlaps operator requires
leftTemporal and " +
+ s"leftTimePoint to be of same type if leftPointOrInterval is of
type Time Point.")
--- End diff --
`leftPointOrInterval` should be `leftTemporal`?
> Reintroduce Date/Time and implement scalar functions for it
> -----------------------------------------------------------
>
> Key: FLINK-3580
> URL: https://issues.apache.org/jira/browse/FLINK-3580
> Project: Flink
> Issue Type: Sub-task
> Components: Table API & SQL
> Reporter: Timo Walther
> Assignee: Timo Walther
>
> This task includes:
> {code}
> DATETIME_PLUS
> EXTRACT_DATE
> FLOOR
> CEIL
> CURRENT_TIME
> CURRENT_TIMESTAMP
> LOCALTIME
> LOCALTIMESTAMP
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)