MCPcopy Create free account
hub / github.com/duckdb/duckdb / TryConvertChunk

Method TryConvertChunk

tools/shell/shell_renderer.cpp:313–343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

311}
312
313bool RenderingQueryResult::TryConvertChunk() {
314 if (exhausted_result) {
315 return false;
316 }
317 auto chunk = result.Fetch();
318 if (!chunk) {
319 exhausted_result = true;
320 return false;
321 }
322 auto varchar_chunk = renderer.ConvertChunk(*chunk);
323 if (renderer.HasConvertValue()) {
324 for (idx_t c = 0; c < result.ColumnCount(); c++) {
325 auto &str_vec = varchar_chunk->data[c];
326 auto strings = duckdb::FlatVector::GetData<duckdb::string_t>(str_vec);
327 for (idx_t r = 0; r < varchar_chunk->size(); r++) {
328 if (duckdb::FlatVector::IsNull(str_vec, r)) {
329 continue;
330 }
331 auto val = strings[r].GetData();
332 auto str_len = strings[r].GetSize();
333 if (!renderer.ShouldConvertValue(val, str_len)) {
334 continue;
335 }
336 strings[r] = duckdb::StringVector::AddStringOrBlob(str_vec, renderer.ConvertValue(val, str_len));
337 }
338 }
339 }
340 loaded_row_count += chunk->size();
341 chunks.push_back(std::move(varchar_chunk));
342 return true;
343}
344
345void ColumnRenderer::Analyze(RenderingQueryResult &result) {
346 auto &state = ShellState::Get();

Callers 4

NextMethod · 0.80
AnalyzeMethod · 0.80
ShouldUsePagerMethod · 0.80

Calls 11

IsNullFunction · 0.85
FetchMethod · 0.45
ConvertChunkMethod · 0.45
HasConvertValueMethod · 0.45
ColumnCountMethod · 0.45
sizeMethod · 0.45
GetDataMethod · 0.45
GetSizeMethod · 0.45
ShouldConvertValueMethod · 0.45
ConvertValueMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected