| 781 | } |
| 782 | return outputSize_ == outputBatchSize_; |
| 783 | } |
| 784 | |
| 785 | namespace { |
| 786 | vector_size_t firstNonNull( |
| 787 | const RowVectorPtr& rowVector, |
| 788 | const std::vector<column_index_t>& keys, |
| 789 | vector_size_t start = 0) { |
| 790 | for (auto i = start; i < rowVector->size(); ++i) { |
| 791 | bool hasNull = false; |
| 792 | for (auto key : keys) { |
| 793 | if (rowVector->childAt(key)->isNullAt(i)) { |
| 794 | hasNull = true; |
| 795 | break; |
| 796 | } |
| 797 | } |
| 798 | if (!hasNull) { |
| 799 | return i; |
| 800 | } |
| 801 | } |
| 802 | |
| 803 | return rowVector->size(); |
| 804 | } |
no test coverage detected