Skip to content

Commit 4b64cd5

Browse files
authored
feat: add Google BigQuery driver plugin (#480)
* feat: add Google BigQuery driver plugin * Update CLAUDE.md * chore: remove bigquery-status.md from tracked files * fix: address PR review — access modifier, SQL injection, formatter cache, OAuth token, LIMIT regex * fix: re-add BigQuery Xcode target lost in merge, fix supportsColumnReorder * fix: remove hidden bqOAuthRefreshToken field from connection form * feat: add conditional field visibility (visibleWhen) to connection form * fix: hide password field for all auth methods when hidesPassword is declared * fix: BigQuery icon adapts to light/dark mode (template rendering) * fix: BigQuery connection form UX — labels, placeholders, validation, field types * fix: remove redundant prefixes from BigQuery error messages — show raw API errors * fix: auto-select first dataset on connect — sidebar shows tables immediately * fix: resolve dataset at execution time for tagged queries — handle probe driver instances * fix: handle INTEGER/BOOLEAN/TIMESTAMP type names in DML — INFORMATION_SCHEMA returns different names than table resource API * fix: registry snapshot systemSchemaNames mismatch + correct docs pagination statement * docs: complete BigQuery docs — cost display, dry run, max bytes billed, dataset switching, DDL * chore: remove debug logging from BigQuery driver * docs: update description to match unified tagline * fix: pass totalBytesBilled and cacheHit to BQExecuteResult — enables full cost display * docs: clarify cost display shows for SQL editor queries
1 parent bd6a7c4 commit 4b64cd5

37 files changed

Lines changed: 5135 additions & 46 deletions

CLAUDE.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
77
TablePro is a native macOS database client (SwiftUI + AppKit) — a fast, lightweight alternative to TablePlus. macOS 14.0+, Swift 5.9, Universal Binary (arm64 + x86_64).
88

99
- **Source**: `TablePro/``Core/` (business logic, services), `Views/` (UI), `Models/` (data structures), `ViewModels/`, `Extensions/`, `Theme/`
10-
- **Plugins**: `Plugins/``.tableplugin` bundles + `TableProPluginKit` shared framework. Built-in (bundled in app): MySQL, PostgreSQL, SQLite, ClickHouse, MSSQL, Redis, CSV, JSON, SQL export, XLSX, MQL, SQLImport, DynamoDB. Separately distributed via plugin registry: MongoDB, Oracle, DuckDB, Cassandra, Etcd, CloudflareD1
10+
- **Plugins**: `Plugins/``.tableplugin` bundles + `TableProPluginKit` shared framework. Built-in (bundled in app): MySQL, PostgreSQL, SQLite, ClickHouse, MSSQL, Redis, DynamoDB, CSV, JSON, SQL export, XLSX, MQL, SQLImport. Separately distributed via plugin registry: MongoDB, Oracle, DuckDB, Cassandra, Etcd, CloudflareD1, BigQuery
1111
- **C bridges**: Each plugin contains its own C bridge module (e.g., `Plugins/MySQLDriverPlugin/CMariaDB/`, `Plugins/PostgreSQLDriverPlugin/CLibPQ/`)
1212
- **Static libs**: `Libs/` — pre-built `libmariadb*.a`, `libpq*.a`, etc. Downloaded from GitHub Releases via `scripts/download-libs.sh` (not in git)
1313
- **SPM deps**: CodeEditSourceEditor (`main` branch, tree-sitter editor), Sparkle (2.8.1, auto-update), OracleNIO. Managed via Xcode, no `Package.swift`.
@@ -85,6 +85,11 @@ Plugin bundles under `Plugins/`:
8585
| MongoDBDriverPlugin | MongoDB | CLibMongoc | Registry |
8686
| DuckDBDriverPlugin | DuckDB | CDuckDB | Registry |
8787
| OracleDriverPlugin | Oracle | OracleNIO (SPM) | Registry |
88+
| CassandraDriverPlugin | Cassandra, ScyllaDB | CCassandra | Registry |
89+
| EtcdDriverPlugin | Etcd | (gRPC/HTTP) | Registry |
90+
| CloudflareD1Plugin | Cloudflare D1 | (URLSession HTTP) | Registry |
91+
| DynamoDBDriverPlugin | DynamoDB | (AWS SDK) | Built-in |
92+
| BigQueryDriverPlugin | BigQuery | (URLSession REST) | Registry |
8893

8994
When adding a new driver: create a new plugin bundle under `Plugins/`, implement `DriverPlugin` + `PluginDatabaseDriver`, add target to pbxproj. See `docs/development/plugin-system/` for details.
9095

0 commit comments

Comments
 (0)