agg method
Implementation
LazyFrame agg(Iterable<Expr> aggregations) {
final values = List<Expr>.unmodifiable(aggregations);
for (final value in [..._keys, ...values]) {
_frame._runtime._requireExpr(value);
}
final leases = _leaseAll([
_frame._owner,
..._keys.map((x) => x._owner),
...values.map((x) => x._owner),
]);
try {
final split = 1 + _keys.length;
return _frame._runtime._adoptLazy(
_frame._runtime._client.invokeSync('lazyGroupBy', {
'input': leases.first.handle.toString(),
'keys': leases
.sublist(1, split)
.map((x) => x.handle.toString())
.toList(),
'aggregations': leases
.sublist(split)
.map((x) => x.handle.toString())
.toList(),
'maintainOrder': _maintainOrder,
}),
);
} finally {
_releaseAll(leases);
}
}