Skip to content

Commit

Permalink
mark a few nodePatterns as finals
Browse files Browse the repository at this point in the history
  • Loading branch information
sigmod committed Apr 22, 2021
1 parent e9fec51 commit 63df6ca
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ case class Not(child: Expression)

override def inputTypes: Seq[DataType] = Seq(BooleanType)

override val nodePatterns: Seq[TreePattern] = Seq(NOT)
final override val nodePatterns: Seq[TreePattern] = Seq(NOT)

// +---------+-----------+
// | CHILD | NOT CHILD |
Expand Down Expand Up @@ -436,7 +436,7 @@ case class In(value: Expression, list: Seq[Expression]) extends Predicate {
override def nullable: Boolean = children.exists(_.nullable)
override def foldable: Boolean = children.forall(_.foldable)

override val nodePatterns: Seq[TreePattern] = Seq(IN)
final override val nodePatterns: Seq[TreePattern] = Seq(IN)

override def toString: String = s"$value IN ${list.mkString("(", ",", ")")}"

Expand Down Expand Up @@ -549,7 +549,7 @@ case class InSet(child: Expression, hset: Set[Any]) extends UnaryExpression with

override def nullable: Boolean = child.nullable || hasNull

override val nodePatterns: Seq[TreePattern] = Seq(INSET)
final override val nodePatterns: Seq[TreePattern] = Seq(INSET)

protected override def nullSafeEval(value: Any): Any = {
if (set.contains(value)) {
Expand Down Expand Up @@ -667,7 +667,7 @@ case class And(left: Expression, right: Expression) extends BinaryOperator with

override def sqlOperator: String = "AND"

override val nodePatterns: Seq[TreePattern] = Seq(AND_OR)
final override val nodePatterns: Seq[TreePattern] = Seq(AND_OR)

// +---------+---------+---------+---------+
// | AND | TRUE | FALSE | UNKNOWN |
Expand Down Expand Up @@ -755,7 +755,7 @@ case class Or(left: Expression, right: Expression) extends BinaryOperator with P

override def sqlOperator: String = "OR"

override val nodePatterns: Seq[TreePattern] = Seq(AND_OR)
final override val nodePatterns: Seq[TreePattern] = Seq(AND_OR)

// +---------+---------+---------+---------+
// | OR | TRUE | FALSE | UNKNOWN |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ case class Like(left: Expression, right: Expression, escapeChar: Char)

override def matches(regex: Pattern, str: String): Boolean = regex.matcher(str).matches()

override val nodePatterns: Seq[TreePattern] = Seq(LIKE_FAMLIY)
final override val nodePatterns: Seq[TreePattern] = Seq(LIKE_FAMLIY)

override def toString: String = escapeChar match {
case '\\' => s"$left LIKE $right"
Expand Down Expand Up @@ -201,7 +201,7 @@ sealed abstract class MultiLikeBase

override def nullable: Boolean = true

override val nodePatterns: Seq[TreePattern] = Seq(LIKE_FAMLIY)
final override val nodePatterns: Seq[TreePattern] = Seq(LIKE_FAMLIY)

protected lazy val hasNull: Boolean = patterns.contains(null)

Expand Down

0 comments on commit 63df6ca

Please sign in to comment.