ADBC
Arrow 数据库连接
加载中...
搜索中...
无匹配项
utility.h
1// 根据 Apache 软件基金会 (ASF) 的一项或多项贡献者许可协议获得许可。请参阅随此作品分发的 NOTICE 文件,以获取有关版权所有权的其他信息。ASF 根据 Apache 许可证 2.0 版(“许可证”)向您授予此文件的许可证;除非遵守许可证,否则您不得使用此文件。您可以从以下位置获取许可证副本:
2
3
4
5
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, ArrowArrayStream* out);
53
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) : code(code), value(std::move(value)) {}
63
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 的包装器。
定义 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。
要从 AdbcConnectionGetInfo() 返回的数组中单个条目的表示形式。
定义 utility.h:58