驱动程序实现状态

警告

在 macOS x86_64 上,当在同一个进程中使用两个用 Go 编写的驱动程序时(除非在纯 Go 应用程序中),使用第二个驱动程序可能会导致崩溃。有关详细信息,请参见 GH-1841

实现状态

**实验性** 驱动程序功能不完整,实现仍在进行中。**测试版** 驱动程序(大部分)功能完整,但只提供了一段时间。**稳定版** 驱动程序(大部分)功能完整(尽可能接近底层数据库),并且已经提供/测试了一段时间。

驱动程序

支持的语言 [1]

实现语言

状态

BigQuery

C#

C#

实验性

Flight SQL (Go)

C, Go

Go

稳定版

Flight SQL (Java)

Java

Java

实验性

JDBC

Java

Java

实验性

PostgreSQL

C

C++

稳定版

SQLite

C

C

稳定版

Snowflake

C, Go

Go

稳定版

功能支持

N/A 表示底层数据库中无法支持此功能。

有关完整详细信息,请参阅各个驱动程序文档页面。

批量导入

驱动程序是否支持 批量导入数据(从 Arrow 表创建或追加到数据库表)?

数据库元数据

驱动程序是否支持 AdbcConnectionGetObjects() 等获取数据库目录元数据等信息的函数?

参数化查询

驱动程序是否支持绑定查询参数?

分区数据

能够读取(通常是分布式)结果集的单个块 (AdbcStatementExecutePartitions())。

准备好的语句

驱动程序是否支持绑定查询参数?

完整类型支持

驱动程序是否尽可能将所有数据库类型映射到/从等效的 Arrow 类型?

选择查询

驱动程序是否支持返回结果集的查询?

SQL

驱动程序是否支持提交 SQL 查询?

事务

驱动程序是否支持显式事务(默认情况下假定自动提交)?

Substrait

驱动程序是否支持提交 Substrait 计划?

更新查询

驱动程序是否支持不返回结果集的查询?

常规功能

驱动程序

完整类型支持

SQL

Substrait

Flight SQL (Go)

Y

Y

N

Flight SQL (Java)

Y

Y

N

JDBC

N

Y

N/A

PostgreSQL

N

Y

N/A

SQLite

Y

Y

N/A

语句/查询级功能

驱动程序

增量查询

分区数据

参数化查询

准备好的语句

选择查询

更新查询

Flight SQL (Go)

Y

Y

Y

Y

Y

Y

Flight SQL (Java)

N

Y

Y

Y

Y

Y

JDBC

N/A

N/A

Y

Y

Y

Y

PostgreSQL

N/A

N/A

Y [2]

Y

Y

Y

SQLite

N/A

N/A

Y

Y

Y

Y

连接/数据库级功能

驱动程序

批量导入

数据库元数据(目录等)

事务

Flight SQL (Go)

N

Y

Y

Flight SQL (Java)

Y

Y

N

JDBC

Y

Y

N

PostgreSQL

Y

Y

Y

SQLite

Y

Y

Y