ADBC
Arrow 資料庫連線能力
載入中...
搜尋中...
沒有符合的項目
utility.h
1// 根據 Apache 軟體基金會 (ASF) 的授權條款 (之一)
2// 或多個貢獻者授權協議。請參閱 NOTICE 檔案
3// 隨此工作散佈以取得更多資訊
4// 關於版權所有權。ASF 授權此檔案
5// 給您,依據 Apache License 2.0 (即
6// 「授權條款」);除非遵守
7// 授權條款,否則您不得使用此檔案。您可以在以下網址取得授權條款的副本:
8//
9// http://www.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 的包裝函式。
定義 於 status.h:43
Status MakeTableTypesStream(const std::vector< std::string > &table_types, ArrowArrayStream *out)
建立 table types 向量的 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