| 259 | } |
| 260 | |
| 261 | static offset_t internalTableFunc(const TableFuncMorsel& morsel, const TableFuncInput& input, |
| 262 | DataChunk& output) { |
| 263 | const auto bindData = input.bindData->constPtrCast<DiskSizeInfoBindData>(); |
| 264 | auto entries = collectDiskSizeInfo(bindData->ctx); |
| 265 | |
| 266 | auto numEntriesToOutput = std::min(static_cast<uint64_t>(entries.size()) - morsel.startOffset, |
| 267 | morsel.getMorselSize()); |
| 268 | |
| 269 | for (row_idx_t i = 0; i < numEntriesToOutput; ++i) { |
| 270 | const auto& entry = entries[morsel.startOffset + i]; |
| 271 | output.getValueVectorMutable(0).setValue(i, entry.category); |
| 272 | output.getValueVectorMutable(1).setValue(i, entry.name); |
| 273 | output.getValueVectorMutable(2).setValue<uint64_t>(i, entry.numPages); |
| 274 | output.getValueVectorMutable(3).setValue<uint64_t>(i, entry.sizeBytes); |
| 275 | } |
| 276 | return numEntriesToOutput; |
| 277 | } |
| 278 | |
| 279 | static std::unique_ptr<TableFuncBindData> bindFunc(const ClientContext* context, |
| 280 | const TableFuncBindInput* input) { |
nothing calls this directly
no test coverage detected