| 182 | } |
| 183 | |
| 184 | BaseVector* loadedVector() override { |
| 185 | if (initialized_) { |
| 186 | return this; |
| 187 | } |
| 188 | |
| 189 | SelectivityVector rows(dictionaryValues_->size(), false); |
| 190 | for (vector_size_t i = 0; i < this->size(); i++) { |
| 191 | if (!BaseVector::isNullAt(i)) { |
| 192 | auto ind = getDictionaryIndex(i); |
| 193 | rows.setValid(ind, true); |
| 194 | } |
| 195 | } |
| 196 | rows.updateBounds(); |
| 197 | |
| 198 | LazyVector::ensureLoadedRows(dictionaryValues_, rows); |
| 199 | dictionaryValues_ = BaseVector::loadedVectorShared(dictionaryValues_); |
| 200 | setInternalState(); |
| 201 | return this; |
| 202 | } |
| 203 | |
| 204 | const BaseVector* loadedVector() const override { |
| 205 | return const_cast<DictionaryVector<T>*>(this)->loadedVector(); |
nothing calls this directly
no test coverage detected