1234567891011121314151617181920212223 |
- #pragma once
- #include <yql/essentials/minikql/mkql_node.h>
- #include <yql/essentials/public/udf/arrow/block_item.h>
- #include <arrow/datum.h>
- namespace NYql {
- arrow::Datum MakePgScalar(NKikimr::NMiniKQL::TPgType* type, const NKikimr::NUdf::TUnboxedValuePod& value, arrow::MemoryPool& pool);
- arrow::Datum MakePgScalar(NKikimr::NMiniKQL::TPgType* type, const NUdf::TBlockItem& value, arrow::MemoryPool& pool);
- using TColumnConverter = std::function<std::shared_ptr<arrow::Array>(const std::shared_ptr<arrow::Array>&)>;
- TColumnConverter BuildPgColumnConverter(const std::shared_ptr<arrow::DataType>& originalType, NKikimr::NMiniKQL::TPgType* targetType);
- } // NYql
- namespace NKikimr {
- namespace NMiniKQL {
- class IBlockAggregatorFactory;
- void RegisterPgBlockAggs(THashMap<TString, std::unique_ptr<IBlockAggregatorFactory>>& registry);
- }
- }
|