Estimated size information lost with .map() when .filter() is called on the result (presumably applies to other chaining operations).
To Reproduce
Check which components this affects:
Sample expression and input that reproduces the issue:
[1,2,3,4,5].map(x, x).filter(x, x % 2 == 0)
Test setup:
checker/cost_test.go:
{
name: ".map.filter size",
expr: `[1,2,3,4,5].map(x, x).filter(x, x % 2 == 0)`,
wanted: CostEstimate{Min: 97, Max: 97},
},
Expected behavior
Expected a bounded cost estimate. got: [97, 18446744073709551615]
Additional context
Both these test cases pass when added:
{
name: ".filter size",
expr: `[1,2,3,4,5].filter(x, x % 2 == 0)`,
wanted: CostEstimate{Min: 41, Max: 101},
},
{
name: ".map size",
expr: `[1,2,3,4,5].map(x, x)`,
wanted: CostEstimate{Min: 86, Max: 86},
},
Estimated size information lost with
.map()when.filter()is called on the result (presumably applies to other chaining operations).To Reproduce
Check which components this affects:
Sample expression and input that reproduces the issue:
Test setup:
checker/cost_test.go:{ name: ".map.filter size", expr: `[1,2,3,4,5].map(x, x).filter(x, x % 2 == 0)`, wanted: CostEstimate{Min: 97, Max: 97}, },Expected behavior
Expected a bounded cost estimate. got: [97, 18446744073709551615]
Additional context
Both these test cases pass when added:
{ name: ".filter size", expr: `[1,2,3,4,5].filter(x, x % 2 == 0)`, wanted: CostEstimate{Min: 41, Max: 101}, }, { name: ".map size", expr: `[1,2,3,4,5].map(x, x)`, wanted: CostEstimate{Min: 86, Max: 86}, },