Skip to content

Commit

Permalink
#506 - swap to doGenCode instead of final in dbr genCode, it often ne…
Browse files Browse the repository at this point in the history
…eds to be implemented anyway
  • Loading branch information
chris-twiner committed Apr 11, 2023
1 parent 9272dc3 commit 31c8db5
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 12 deletions.
4 changes: 1 addition & 3 deletions dataset/src/main/scala/frameless/functions/Lit.scala
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@ private[frameless] case class Lit[T <: AnyVal](

def children: Seq[Expression] = Nil

override def genCode(ctx: CodegenContext): ExprCode = toCatalyst(ctx)

protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = ???
protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = toCatalyst(ctx)

protected def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression = this
}
6 changes: 1 addition & 5 deletions dataset/src/main/scala/frameless/functions/Udf.scala
Original file line number Diff line number Diff line change
Expand Up @@ -197,18 +197,14 @@ case class Spark2_4_LambdaVariable(
}
}

override def genCode(ctx: CodegenContext): ExprCode = {
override protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = {
val isNullValue = if (nullable) {
JavaCode.isNullVariable(isNull)
} else {
FalseLiteral
}
ExprCode(value = JavaCode.variable(value, dataType), isNull = isNullValue)
}

// This won't be called as `genCode` is overrided, just overriding it to make
// `LambdaVariable` non-abstract.
override protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = ev
}

object FramelessUdf {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,7 @@ object FramelessInternals {
def nullable: Boolean = false
def children: Seq[Expression] = tagged :: Nil
def dataType: DataType = tagged.dataType
protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = ???
override def genCode(ctx: CodegenContext): ExprCode = tagged.genCode(ctx)
protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = tagged.genCode(ctx)
protected def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression = copy(newChildren.head)
}

Expand All @@ -68,8 +67,7 @@ object FramelessInternals {
def nullable: Boolean = false
def children: Seq[Expression] = tagged :: Nil
def dataType: DataType = tagged.dataType
protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = ???
override def genCode(ctx: CodegenContext): ExprCode = tagged.genCode(ctx)
protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = tagged.genCode(ctx)
protected def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression = copy(newChildren.head)
}
}

0 comments on commit 31c8db5

Please sign in to comment.