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 | 
|---|---|---|---|
| BigQuery | C# | C# | Experimental | 
| Flight SQL (Go) | C, Go | Go | Beta | 
| Flight SQL (Java) | Java | Java | Experimental | 
| JDBC | Java | Java | Experimental | 
| PostgreSQL | C | C++ | Beta | 
| SQLite | C | C | Beta | 
| Snowflake | C, Go | Go | Experimental | 
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? 
| 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 | 
| 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 | N/A | Y | Y | Y | Y | 
| SQLite | N/A | Y | Y | Y | Y | 
| 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 |