| 1484 | } |
| 1485 | |
| 1486 | uint32_t maxSharedSubexprResultsCached() const { |
| 1487 | // 10 was chosen as a default as there are cases where a shared |
| 1488 | // subexpression can be called in 2 different places and a particular |
| 1489 | // argument may be peeled in one and not peeled in another. 10 is large |
| 1490 | // enough to handle this happening for a few arguments in different |
| 1491 | // combinations. |
| 1492 | // |
| 1493 | // For example, when the UDF at the root of a shared subexpression does not |
| 1494 | // have default null behavior and takes an input that is dictionary encoded |
| 1495 | // with nulls set in the DictionaryVector. That dictionary |
| 1496 | // encoding may be peeled depending on whether or not there is a UDF above |
| 1497 | // it in the expression tree that has default null behavior and takes the |
| 1498 | // same input as an argument. |
| 1499 | return get<uint32_t>(kMaxSharedSubexprResultsCached, 10); |
| 1500 | } |
| 1501 | |
| 1502 | int32_t maxSplitPreloadPerDriver() const { |
| 1503 | return get<int32_t>(kMaxSplitPreloadPerDriver, 2); |
no outgoing calls
no test coverage detected