Flight SQL endpoint
High-throughput Arrow reads over Flight SQL (port 8082) - for exports, BI, and large result sets.
Flight SQL is Eddytor's high-throughput read path - columnar Arrow batches over gRPC, for large result sets, exports, and BI / ADBC clients. It is read-only; writes go over the gRPC DML path (CLI / SDK / MCP).
Endpoints
| Deployment | Endpoint |
|---|---|
| Docker Compose (self-host) | grpc://localhost:8082 - the server proxies Flight to the engine |
| Kubernetes / behind the server | server port 8082 (proxies the engine's 50052); port-forward svc/eddytor-server 8082:8082 |
| Eddytor Cloud | grpc+tls://flight.eddytor.com:443 |
Heads up
Always go through the server's 8082 proxy, never the
engine's internal 50052 - the proxy is where the bearer token is validated. Keep
the engine on a private network / ClusterIP.
Connecting
Authenticate with the same credentials as REST - an OAuth bearer token or an
edd_live_… API key, sent as
authorization: Bearer <token>. Any ADBC Flight SQL driver works.
eddytor config set-flight-url http://localhost:8082
eddytor query "SELECT * FROM \`eddytor\`.\`sales\`.\`orders\` WHERE status='active'" --limit 1000# pip install adbc-driver-flightsql pyarrow
from adbc_driver_flightsql import dbapi, DatabaseOptions
conn = dbapi.connect(
"grpc://localhost:8082", # cloud: grpc+tls://flight.eddytor.com:443
db_kwargs={DatabaseOptions.AUTHORIZATION_HEADER.value: "Bearer edd_live_…"},
)
tbl = conn.cursor().execute(
'SELECT * FROM "eddytor"."cfg_…"."…_orders" WHERE status = \'active\''
).fetch_arrow_table()Gotchas
Heads up
Quote identifiers per component - over Flight SQL / ADBC
use double quotes (
"catalog"."schema"."table") and fully qualify them (get
names from eddytor get tables). Read-only - DML uses the
CLI/SDK/MCP. Same auth + permissions as REST -
a token only sees what its role ∩ key scope allows; expired access tokens fail the
handshake (use an API key).Match the scheme to your edge: grpc+tls://…:443 for cloud, grpc://…:8082 for a
plaintext self-host proxy.
When to use it
- Flight SQL - bulk/analytical reads, full-table exports, feeding pandas/BI.
- REST - control plane + small reads.
- MCP - LLM/agent access.