ADBC
Arrow 資料庫連線能力
載入中...
搜尋中...
無符合項目
常數

主題

 ADBC 統計類型
 
 大量資料擷取
 

巨集

#define ADBC_VERSION_1_0_0   1000000
 ADBC 修訂版本 1.0.0。
 
#define ADBC_VERSION_1_1_0   1001000
 ADBC 修訂版本 1.1.0。
 
#define ADBC_OPTION_VALUE_ENABLED   "true"
 啟用選項的標準選項值。
 
#define ADBC_OPTION_VALUE_DISABLED   "false"
 停用選項的標準選項值。
 
#define ADBC_OPTION_URI   "uri"
 URI 的標準選項名稱。
 
#define ADBC_OPTION_USERNAME   "username"
 使用者名稱的標準選項名稱。
 
#define ADBC_OPTION_PASSWORD   "password"
 密碼的標準選項名稱。
 
#define ADBC_INFO_VENDOR_NAME   0
 資料庫供應商/產品名稱(例如伺服器名稱)。(類型:utf8)。
 
#define ADBC_INFO_VENDOR_VERSION   1
 資料庫供應商/產品版本(類型:utf8)。
 
#define ADBC_INFO_VENDOR_ARROW_VERSION   2
 資料庫供應商/產品 Arrow 程式庫版本(類型:utf8)。
 
#define ADBC_INFO_VENDOR_SQL   3
 指示是否支援 SQL 查詢(類型:bool)。
 
#define ADBC_INFO_VENDOR_SUBSTRAIT   4
 指示是否支援 Substrait 查詢(類型:bool)。
 
#define ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION   5
 支援的最低 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。
 
#define ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION   6
 支援的最高 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。
 
#define ADBC_INFO_DRIVER_NAME   100
 驅動程式名稱(類型:utf8)。
 
#define ADBC_INFO_DRIVER_VERSION   101
 驅動程式版本(類型:utf8)。
 
#define ADBC_INFO_DRIVER_ARROW_VERSION   102
 驅動程式 Arrow 程式庫版本(類型:utf8)。
 
#define ADBC_INFO_DRIVER_ADBC_VERSION   103
 驅動程式 ADBC API 版本(類型:int64)。
 
#define ADBC_OBJECT_DEPTH_ALL   0
 傳回關於目錄、綱要、表格和資料行的中繼資料。
 
#define ADBC_OBJECT_DEPTH_CATALOGS   1
 僅傳回關於目錄的中繼資料。
 
#define ADBC_OBJECT_DEPTH_DB_SCHEMAS   2
 傳回關於目錄和綱要的中繼資料。
 
#define ADBC_OBJECT_DEPTH_TABLES   3
 傳回關於目錄、綱要和表格的中繼資料。
 
#define ADBC_OBJECT_DEPTH_COLUMNS   ADBC_OBJECT_DEPTH_ALL
 傳回關於目錄、綱要、表格和資料行的中繼資料。
 
#define ADBC_CONNECTION_OPTION_AUTOCOMMIT   "adbc.connection.autocommit"
 用於指示是否啟用自動提交的標準選項名稱。
 
#define ADBC_CONNECTION_OPTION_READ_ONLY   "adbc.connection.readonly"
 用於指示目前連線是否應限制為唯讀的標準選項名稱。
 
#define ADBC_CONNECTION_OPTION_CURRENT_CATALOG   "adbc.connection.catalog"
 用於指示目前目錄的標準選項名稱。
 
#define ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA   "adbc.connection.db_schema"
 用於指示目前綱要的標準選項名稱。
 
#define ADBC_STATEMENT_OPTION_INCREMENTAL   "adbc.statement.exec.incremental"
 用於使查詢執行成為非封鎖的標準選項名稱。
 
#define ADBC_STATEMENT_OPTION_PROGRESS   "adbc.statement.exec.progress"
 用於取得查詢進度的選項名稱。
 
#define ADBC_STATEMENT_OPTION_MAX_PROGRESS   "adbc.statement.exec.max_progress"
 用於取得查詢最大進度的選項名稱。
 
#define ADBC_CONNECTION_OPTION_ISOLATION_LEVEL    "adbc.connection.transaction.isolation_level"
 用於設定交易隔離層級的標準選項名稱。
 
#define ADBC_OPTION_ISOLATION_LEVEL_DEFAULT    "adbc.connection.transaction.isolation.default"
 使用資料庫或驅動程式預設隔離層級。
 
#define ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED    "adbc.connection.transaction.isolation.read_uncommitted"
 最低隔離層級。允許髒讀,因此一個交易可能會看到其他交易尚未提交的變更。
 
#define ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED    "adbc.connection.transaction.isolation.read_committed"
 基於鎖定的並行控制會將寫入鎖定保留到交易結束,但是讀取鎖定會在執行 SELECT 後立即釋放。在這個隔離層級中可能會發生不可重複讀取。
 
#define ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ    "adbc.connection.transaction.isolation.repeatable_read"
 基於鎖定的並行控制會將讀取和寫入鎖定(在選取資料時取得)保留到交易結束。
 
#define ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT    "adbc.connection.transaction.isolation.snapshot"
 此隔離保證交易中的所有讀取都將看到資料庫的一致快照,並且僅當自該快照以來沒有任何更新與任何並行更新衝突時,交易才應成功提交。
 
#define ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE    "adbc.connection.transaction.isolation.serializable"
 可序列化性要求讀取和寫入鎖定僅在交易結束時釋放。這包括在 select 查詢使用範圍 WHERE 子句以避免幻讀時,取得範圍鎖定。
 
#define ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE    "adbc.connection.transaction.isolation.linearizable"
 可序列化性與線性化之間的主要區別在於,可序列化性是一個全域屬性;是操作和交易的整個歷史記錄的屬性。線性化是一個局部屬性;是單個操作/交易的屬性。
 

詳細描述

巨集定義文件

◆ ADBC_CONNECTION_OPTION_AUTOCOMMIT

#define ADBC_CONNECTION_OPTION_AUTOCOMMIT   "adbc.connection.autocommit"

用於指示是否啟用自動提交的標準選項名稱。

類型為 char*。

另請參閱
AdbcConnectionSetOption

◆ ADBC_CONNECTION_OPTION_CURRENT_CATALOG

#define ADBC_CONNECTION_OPTION_CURRENT_CATALOG   "adbc.connection.catalog"

用於指示目前目錄的標準選項名稱。

類型為 char*。

另請參閱
AdbcConnectionGetOption
AdbcConnectionSetOption
自從
ADBC API 修訂版本 1.1.0

◆ ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA

#define ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA   "adbc.connection.db_schema"

用於指示目前綱要的標準選項名稱。

類型為 char*。

另請參閱
AdbcConnectionGetOption
AdbcConnectionSetOption
自從
ADBC API 修訂版本 1.1.0

◆ ADBC_CONNECTION_OPTION_ISOLATION_LEVEL

#define ADBC_CONNECTION_OPTION_ISOLATION_LEVEL    "adbc.connection.transaction.isolation_level"

用於設定交易隔離層級的標準選項名稱。

應僅在停用自動提交且使用 AdbcConnectionCommit / AdbcConnectionRollback 時使用。如果驅動程式不支援所需的隔離層級,則應傳回適當的錯誤。

類型為 char*。

另請參閱
AdbcConnectionSetOption

◆ ADBC_CONNECTION_OPTION_READ_ONLY

#define ADBC_CONNECTION_OPTION_READ_ONLY   "adbc.connection.readonly"

用於指示目前連線是否應限制為唯讀的標準選項名稱。

類型為 char*。

另請參閱
AdbcConnectionSetOption

◆ ADBC_INFO_DRIVER_ADBC_VERSION

#define ADBC_INFO_DRIVER_ADBC_VERSION   103

驅動程式 ADBC API 版本(類型:int64)。

該值應為 ADBC_VERSION 常數之一。

自從
ADBC API 修訂版本 1.1.0
另請參閱
AdbcConnectionGetInfo
ADBC_VERSION_1_0_0
ADBC_VERSION_1_1_0

◆ ADBC_INFO_DRIVER_ARROW_VERSION

#define ADBC_INFO_DRIVER_ARROW_VERSION   102

驅動程式 Arrow 程式庫版本(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_DRIVER_NAME

#define ADBC_INFO_DRIVER_NAME   100

驅動程式名稱(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_DRIVER_VERSION

#define ADBC_INFO_DRIVER_VERSION   101

驅動程式版本(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_ARROW_VERSION

#define ADBC_INFO_VENDOR_ARROW_VERSION   2

資料庫供應商/產品 Arrow 程式庫版本(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_NAME

#define ADBC_INFO_VENDOR_NAME   0

資料庫供應商/產品名稱(例如伺服器名稱)。(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SQL

#define ADBC_INFO_VENDOR_SQL   3

指示是否支援 SQL 查詢(類型:bool)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT

#define ADBC_INFO_VENDOR_SUBSTRAIT   4

指示是否支援 Substrait 查詢(類型:bool)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION

#define ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION   6

支援的最高 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION

#define ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION   5

支援的最低 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_VERSION

#define ADBC_INFO_VENDOR_VERSION   1

資料庫供應商/產品版本(類型:utf8)。

另請參閱
AdbcConnectionGetInfo

◆ ADBC_OBJECT_DEPTH_ALL

#define ADBC_OBJECT_DEPTH_ALL   0

傳回關於目錄、綱要、表格和資料行的中繼資料。

另請參閱
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_CATALOGS

#define ADBC_OBJECT_DEPTH_CATALOGS   1

僅傳回關於目錄的中繼資料。

另請參閱
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_COLUMNS

#define ADBC_OBJECT_DEPTH_COLUMNS   ADBC_OBJECT_DEPTH_ALL

傳回關於目錄、綱要、表格和資料行的中繼資料。

另請參閱
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_DB_SCHEMAS

#define ADBC_OBJECT_DEPTH_DB_SCHEMAS   2

傳回關於目錄和綱要的中繼資料。

另請參閱
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_TABLES

#define ADBC_OBJECT_DEPTH_TABLES   3

傳回關於目錄、綱要和表格的中繼資料。

另請參閱
AdbcConnectionGetObjects

◆ ADBC_OPTION_ISOLATION_LEVEL_DEFAULT

#define ADBC_OPTION_ISOLATION_LEVEL_DEFAULT    "adbc.connection.transaction.isolation.default"

使用資料庫或驅動程式預設隔離層級。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE

#define ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE    "adbc.connection.transaction.isolation.linearizable"

可序列化性與線性化之間的主要區別在於,可序列化性是一個全域屬性;是操作和交易的整個歷史記錄的屬性。線性化是一個局部屬性;是單個操作/交易的屬性。

線性化可以被視為嚴格可序列化性的一種特殊情況,其中交易被限制為僅包含應用於單個物件的單個操作。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED

#define ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED    "adbc.connection.transaction.isolation.read_committed"

基於鎖定的並行控制會將寫入鎖定保留到交易結束,但是讀取鎖定會在執行 SELECT 後立即釋放。在這個隔離層級中可能會發生不可重複讀取。

更簡單地說,讀取已提交是一種隔離層級,它保證任何讀取的資料在讀取時都已提交。它僅限制讀取器看到任何中間的、未提交的「髒」讀取。它不保證如果交易重新發出讀取,它將找到相同的資料;資料在讀取後可以自由變更。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED

#define ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED    "adbc.connection.transaction.isolation.read_uncommitted"

最低隔離層級。允許髒讀,因此一個交易可能會看到其他交易尚未提交的變更。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ

#define ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ    "adbc.connection.transaction.isolation.repeatable_read"

基於鎖定的並行控制會將讀取和寫入鎖定(在選取資料時取得)保留到交易結束。

但是,範圍鎖定未被管理,因此可能會發生幻讀。在某些系統中,在這個隔離層級可能發生寫入傾斜。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE

#define ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE    "adbc.connection.transaction.isolation.serializable"

可序列化性要求讀取和寫入鎖定僅在交易結束時釋放。這包括在 select 查詢使用範圍 WHERE 子句以避免幻讀時,取得範圍鎖定。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT

#define ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT    "adbc.connection.transaction.isolation.snapshot"

此隔離保證交易中的所有讀取都將看到資料庫的一致快照,並且僅當自該快照以來沒有任何更新與任何並行更新衝突時,交易才應成功提交。

另請參閱
AdbcConnectionSetOption

◆ ADBC_OPTION_PASSWORD

#define ADBC_OPTION_PASSWORD   "password"

密碼的標準選項名稱。

應用作指定驅動程式驗證密碼的預期選項名稱。

類型為 char*。

自從
ADBC API 修訂版本 1.1.0

◆ ADBC_OPTION_URI

#define ADBC_OPTION_URI   "uri"

URI 的標準選項名稱。

應用作指定任何 ADBC 驅動程式 URI 的預期選項名稱。

類型為 char*。

自從
ADBC API 修訂版本 1.1.0

◆ ADBC_OPTION_USERNAME

#define ADBC_OPTION_USERNAME   "username"

使用者名稱的標準選項名稱。

應用作指定驅動程式驗證使用者名稱的預期選項名稱。

類型為 char*。

自從
ADBC API 修訂版本 1.1.0

◆ ADBC_OPTION_VALUE_DISABLED

#define ADBC_OPTION_VALUE_DISABLED   "false"

停用選項的標準選項值。

用於 SetOption 呼叫中的值。

◆ ADBC_OPTION_VALUE_ENABLED

#define ADBC_OPTION_VALUE_ENABLED   "true"

啟用選項的標準選項值。

用於 SetOption 呼叫中的值。

◆ ADBC_STATEMENT_OPTION_INCREMENTAL

#define ADBC_STATEMENT_OPTION_INCREMENTAL   "adbc.statement.exec.incremental"

用於使查詢執行成為非封鎖的標準選項名稱。

啟用後,AdbcStatementExecutePartitions 將在分割區可用時立即傳回它們,而不是在最後傳回所有分割區。當沒有更多要傳回時,它將傳回一組空的分割區。 AdbcStatementExecuteQuery 和 AdbcStatementExecuteSchema 不受影響。

預設值為 ADBC_OPTION_VALUE_DISABLED。

類型為 char*。

另請參閱
AdbcStatementSetOption
自從
ADBC API 修訂版本 1.1.0

◆ ADBC_STATEMENT_OPTION_MAX_PROGRESS

#define ADBC_STATEMENT_OPTION_MAX_PROGRESS   "adbc.statement.exec.max_progress"

用於取得查詢最大進度的選項名稱。

這是已完成查詢的 ADBC_STATEMENT_OPTION_PROGRESS 值。如果不支持,或者如果該值為非正數,則最大值未知。(例如,查詢可能是完全流式的,並且驅動程式不知道結果集何時結束。)

類型為 double。

另請參閱
AdbcStatementGetOptionDouble
自從
ADBC API 修訂版本 1.1.0

◆ ADBC_STATEMENT_OPTION_PROGRESS

#define ADBC_STATEMENT_OPTION_PROGRESS   "adbc.statement.exec.progress"

用於取得查詢進度的選項名稱。

該值不一定在任何特定範圍內或具有任何特定單位。(例如,它可能是一個百分比、資料位元組、資料列、工作人員數量等。)最大值可以透過 ADBC_STATEMENT_OPTION_MAX_PROGRESS 檢索。這表示執行的進度,而不是消耗的進度(即,它獨立於客戶端透過 ArrowArrayStream.get_next() 讀取了多少結果集。)

類型為 double。

另請參閱
AdbcStatementGetOptionDouble
自從
ADBC API 修訂版本 1.1.0

◆ ADBC_VERSION_1_0_0

#define ADBC_VERSION_1_0_0   1000000

ADBC 修訂版本 1.0.0。

當傳遞給 AdbcDriverInitFunc() 時,驅動程式參數必須指向 AdbcDriver

◆ ADBC_VERSION_1_1_0

#define ADBC_VERSION_1_1_0   1001000

ADBC 修訂版本 1.1.0。

當傳遞給 AdbcDriverInitFunc() 時,驅動程式參數必須指向 AdbcDriver

自從
ADBC API 修訂版本 1.1.0