knex_dart_bigquery
Google BigQuery driver for knex_dart using the BigQuery Jobs REST API.
Installation
dependencies:
knex_dart_bigquery: ^0.1.0
Quick Start
import 'package:knex_dart_bigquery/knex_dart_bigquery.dart';
final db = KnexBigQuery(
projectId: 'my-gcp-project',
token: 'ya29.oauth_token',
defaultDataset: 'analytics',
location: 'US',
);
final rows = await db.select(
db.queryBuilder().table('events').where('event_type', '=', 'signup').limit(50),
);
db.close();
Platform Requirements
- Works on Dart VM and web runtimes (HTTP-based driver).
- Requires a valid Google OAuth bearer token with BigQuery permissions.
Dialect Capabilities
Based on knex_dart_capabilities (bigquery dialect):
| Capability | Support |
|---|---|
returning |
No |
fullOuterJoin |
Yes |
lateralJoin |
Yes |
onConflictMerge |
No |
cte |
Yes |
windowFunctions |
Yes |
json |
Yes |
intersectExcept |
Yes |
Known Limitations
- No interactive transaction API in this driver.
- Each query is submitted as a separate BigQuery job.
- Large result pagination is not yet surfaced by this client (single result fetch path).
- Parameter type mapping is basic (
BOOL,INT64,FLOAT64,STRING).
Libraries
- knex_dart_bigquery
- Google BigQuery driver for knex_dart.