Skip to content
Prev Previous commit
Next Next commit
Initial try at helper function
  • Loading branch information
bersprockets committed Dec 29, 2018
commit a9dbbec649438a5079f8d9826ebe40bdecfef93c
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,11 @@ object BindReferences extends Logging {
}
}.asInstanceOf[A] // Kind of a hack, but safe. TODO: Tighten return type when possible.
}

def bindReferences[A <: Expression](
in: Seq[A],
inputSchema: Seq[Attribute]): Seq[A] = {
lazy val inputSchemaAttrSeq: AttributeSeq = inputSchema
in.map(BindReferences.bindReference(_, inputSchemaAttrSeq))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ object GenerateOrdering extends CodeGenerator[Seq[SortOrder], Ordering[InternalR
protected def canonicalize(in: Seq[SortOrder]): Seq[SortOrder] =
in.map(ExpressionCanonicalizer.execute(_).asInstanceOf[SortOrder])

protected def bind(in: Seq[SortOrder], inputSchema: Seq[Attribute]): Seq[SortOrder] =
in.map(BindReferences.bindReference(_, inputSchema))
protected def bind(in: Seq[SortOrder], inputSchema: Seq[Attribute]): Seq[SortOrder] = {
BindReferences.bindReferences(in, inputSchema)
}

/**
* Creates a code gen ordering for sorting this schema, in ascending order.
Expand Down