Driver Implementation Status#

Implementation Status#

Experimental drivers are not feature-complete and the implementation is still progressing. Beta drivers are (mostly) feature-complete but have only been available for a short time. Stable drivers are feature-complete (as much as possible for the underlying database) and have been available/tested for a while.

Driver

Supported Languages [1]

Implementation Language

Status

Flight SQL (Go)

C, Go

Go

Beta

Flight SQL (Java)

Java

Java

Experimental

JDBC

Java

Java

Experimental

PostgreSQL

C

C++

Experimental

SQLite

C

C

Beta

Feature Support#

N/A indicates that it is not possible to support this feature in the underlying database.

See individual driver documentation pages for full details.

Bulk Ingestion

Does the driver support bulk ingestion of data (creating or appending to a database table from an Arrow table)?

Database Metadata

Does the driver support functions like AdbcConnectionGetObjects() that get metadata about the database catalog, etc.?

Parameterized Queries

Does the driver support binding query parameters?

Partitioned Data

Being able to read individual chunks of a (generally distributed) result set (AdbcStatementExecutePartitions()).

Prepared Statements

Does the driver support binding query parameters?

Full Type Support

Does the driver map all database types to/from equivalent Arrow types, as much as is possible?

Select Queries

Does the driver support queries returning result sets?

SQL

Does the driver support submitting SQL queries?

Transactions

Does the driver support explicit transactions (the default is to assume auto-commit)?

Substrait

Does the driver support submitting Substrait plans?

Update Queries

Does the driver support queries not returning result sets?

General features#

Driver

Full Type Support

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

Statement/query-level features#

Driver

Partitioned Data

Parameterized Queries

Prepared Statements

Select Queries

Update Queries

Flight SQL (Go)

Y

Y

Y

Y

Y

Flight SQL (Java)

Y

Y

Y

Y

Y

JDBC

N/A

Y

Y

Y

Y

PostgreSQL

Y

Y

Y

N/A

Y

SQLite

N/A

Y

Y

Y

Y

Connection/database-level features#

Driver

Bulk Ingestion

Database Metadata (catalogs, etc.)

Transactions

Flight SQL (Go)

N

Y

N

Flight SQL (Java)

Y

Y

N

JDBC

Y

Y

N

PostgreSQL

Y

Y

N

SQLite

Y

Y

Y