You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/expressions/UnsafeProjection.md
+18-2Lines changed: 18 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,12 +65,28 @@ create(
65
65
create(
66
66
expr: Expression):UnsafeProjection
67
67
create(
68
-
exprs: Seq[Expression]):UnsafeProjection
68
+
exprs: Seq[Expression]):UnsafeProjection// (1)!
69
69
create(
70
70
exprs: Seq[Expression],
71
71
inputSchema: Seq[Attribute]):UnsafeProjection
72
72
create(
73
73
schema: StructType):UnsafeProjection
74
74
```
75
75
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)
0 commit comments