| 1382 | } |
| 1383 | |
| 1384 | bool parserAppendArrowStream( |
| 1385 | void* ctx, struct ArrowArrayStream* stream, PJ_string_view_t timestamp_column, PJ_error_t* out_error) noexcept { |
| 1386 | return guardHostCallback(out_error, [&] { |
| 1387 | auto* impl = static_cast<DatastoreParserWriteHostState*>(ctx); |
| 1388 | auto core = impl->core.load(std::memory_order_acquire); |
| 1389 | if (!core->appendArrowStream(impl->topic, stream, timestamp_column)) { |
| 1390 | propagateError(out_error, core->lastError()); |
| 1391 | return false; |
| 1392 | } |
| 1393 | if (stream != nullptr && stream->release != nullptr) { |
| 1394 | stream->release(stream); |
| 1395 | } |
| 1396 | return true; |
| 1397 | }); |
| 1398 | } |
| 1399 | |
| 1400 | bool toolboxCreateDataSource( |
| 1401 | void* ctx, PJ_string_view_t name, DataSourceHandle* out_source, PJ_error_t* out_error) noexcept { |
nothing calls this directly
no test coverage detected