ArcadeDB into Apache Arrow through ADBC, using psqlodbc 16 over the PostgreSQL wire (adbcBridge 0.1.0) #6888
Replies: 1 comment
|
A follow-up with one new measurement. On 2026-09-05 I ran the ADBC read workload (connect, SELECT 1, GetTableSchema, GetObjects, read the fixture table) through the Apache Arrow native PostgreSQL ADBC driver (1.12.0) and through adbcBridge over psqlodbc, against ArcadeDB's PostgreSQL-protocol plugin. Native driver: stops at connect with Table for all 28 PostgreSQL-wire and MySQL-wire databases, with each native driver's first error: https://adbcbridge.org/notes/native-adbc-drivers-on-wire-compatible-databases/ |
Uh oh!
There was an error while loading. Please reload this page.
adbcBridge is a small Apache-2.0 ADBC driver written in C11 that loads an ODBC driver and exposes it through the Arrow ADBC C ABI: block-cursor reads straight into Arrow record batches, bulk ingest, metadata, partitioned parallel reads. I ran ArcadeDB through it as one of 46 databases in a single compatibility workload and wanted to share the entry here, since the quirks it records are ArcadeDB-specific.
What was verified (ArcadeDB 26.9, PostgreSQL wire; driver: psqlodbc 16)
What the compatibility entry records: multi-model engine behind the PG wire: no
CREATE TABLEat all (a table is a document type plus oneCREATE PROPERTYper column), soadbc_ingest's generated DDL has nowhere to go and the entry runs the read side — queries, parameters and the catalog all work; driver quirks handled: psqlodbc'sSQLColumnsandSQLTables(SQL_ALL_TABLE_TYPES)are queries its parser will not run —SQLColumnsanswersSQL_SUCCESSwith zero rows,SQLTables(SQL_ALL_TABLE_TYPES)answersSQL_ERROR— soGetObjectsdescribes a zero-row SELECT andGetTableTypesfalls back to the types the server's own tables have;BoolsAsChar=0, ISO-8601Ttimestamp literals,@rid/@type/@catin everySELECT *; the entry also traverses a small graph (vertices, edges,expand(out())); fetch 332k rows/s. Full entry: docs/COMPATIBILITY.md.The
postgresqlADBC driver may also work with ArcadeDB over its wire protocol; this path goes through psqlodbc and records exactly what it needed, so it is a second, documented route rather than a replacement.Trying it (Python; Rust, Go, Java and C# are on the docs site):
Links: repository · docs · upstream notes · PyPI
It is a 0.1.0. If the entry says something wrong about ArcadeDB, or you run a version or driver I didn't, an issue on the repository with the details is the most useful thing you could send.
All reactions