Skip to content

Commit b5549a4

Browse files
Creating UnsafeProjection
1 parent b900177 commit b5549a4

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

docs/expressions/UnsafeProjection.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,28 @@ create(
6565
create(
6666
expr: Expression): UnsafeProjection
6767
create(
68-
exprs: Seq[Expression]): UnsafeProjection
68+
exprs: Seq[Expression]): UnsafeProjection // (1)!
6969
create(
7070
exprs: Seq[Expression],
7171
inputSchema: Seq[Attribute]): UnsafeProjection
7272
create(
7373
schema: StructType): UnsafeProjection
7474
```
7575

76-
`create` [creates an UnsafeProjection](CodeGeneratorWithInterpretedFallback.md#createObject) for the given [BoundReference](BoundReference.md)s.
76+
1. The main `create` that the other variants depend on
77+
78+
`create` [creates an UnsafeProjection](CodeGeneratorWithInterpretedFallback.md#createObject) for the given [Expression](Expression.md)s.
79+
80+
---
81+
82+
`create` is used when:
83+
84+
* `ExpressionEncoder` is requested to [create a serializer](../ExpressionEncoder.md#apply)
85+
* `V2Aggregator` is requested for an `inputProjection`
86+
* [SerializeFromObjectExec](../physical-operators/SerializeFromObjectExec.md) physical operator is executed
87+
* `SortExec` physical operator is requested to [create an UnsafeExternalRowSorter](../physical-operators/SortExec.md#createSorter)
88+
* `HashAggregateExec` physical operator is requested to [create a hash map](../physical-operators/HashAggregateExec.md#createHashMap) and [getEmptyAggregationBuffer](../physical-operators/HashAggregateExec.md#getEmptyAggregationBuffer)
89+
* `AggregationIterator` is [created](../aggregations/AggregationIterator.md#groupingProjection) and requested to [generateResultProjection](../aggregations/AggregationIterator.md#generateResultProjection)
90+
* `TungstenAggregationIterator` is requested to [create an aggregation buffer](../aggregations/TungstenAggregationIterator.md#createNewAggregationBuffer)
91+
* `ScalaAggregator` is requested for the [inputProjection](ScalaAggregator.md#inputProjection)
92+
* _others_

0 commit comments

Comments
 (0)