ADBC
Arrow 数据库连接性
加载中...
搜索中...
未找到匹配项
utility.h
1// 在 Apache Software Foundation (ASF) 的许可下
2// 或更多贡献者许可协议。 请参阅 NOTICE 文件
3// 随本作品分发以获取更多信息
4// 关于版权所有权。 ASF 授权此文件
5// 按照 Apache 许可证第 2.0 版(以下简称
6// “许可证”)授权给您; 除非遵守
7// 许可证,否则您不得使用此文件。 您可以在以下位置获取许可证副本:
8//
9// https://apache.org/licenses/LICENSE-2.0
10//
11// 除非适用法律要求或书面同意,
12// 否则按“原样”分发且不提供任何类型的
13// 保证或条件,无论是明示的还是暗示的。 请参阅
14// 许可证,以了解有关特定语言的管辖权限
15// 许可和限制的更多信息。
16// 在许可证下。
17
18#pragma once
19
20#include <string>
21#include <utility>
22#include <vector>
23
24#include <arrow-adbc/adbc.h>
25
27
28namespace adbc::driver {
29
35void MakeEmptyStream(ArrowSchema* schema, ArrowArrayStream* out);
36
44void MakeArrayStream(ArrowSchema* schema, ArrowArray* array, ArrowArrayStream* out);
45
52Status MakeTableTypesStream(const std::vector<std::string>& table_types,
53 ArrowArrayStream* out);
54
58struct InfoValue {
59 uint32_t code;
60 std::variant<std::string, int64_t> value;
61
62 InfoValue(uint32_t code, std::variant<std::string, int64_t> value)
63 : code(code), value(std::move(value)) {}
64 InfoValue(uint32_t code, const char* value) : InfoValue(code, std::string(value)) {}
65};
66
71Status MakeGetInfoStream(const std::vector<InfoValue>& infos, ArrowArrayStream* out);
72
73} // namespace adbc::driver
AdbcStatusCode + AdbcError 的包装器。
Definition status.h:43
Status MakeTableTypesStream(const std::vector< std::string > &table_types, ArrowArrayStream *out)
创建一个表类型向量的 ArrowArrayStream 表示。
void MakeArrayStream(ArrowSchema *schema, ArrowArray *array, ArrowArrayStream *out)
从给定的 ArrowSchema 和 ArrowArray 创建一个 ArrowArrayStream。
Status MakeGetInfoStream(const std::vector< InfoValue > &infos, ArrowArrayStream *out)
创建一个将从 AdbcConnectionGetInfo() 返回的 ArrowArrayStream。
void MakeEmptyStream(ArrowSchema *schema, ArrowArrayStream *out)
从给定的 ArrowSchema 创建一个零批次的 ArrowArrayStream。