Add ClickHouse, TiDB, Redshift stand-in, and DuckDB to local e2e stack - #289
Draft
huyplb wants to merge 4 commits into
Draft
Add ClickHouse, TiDB, Redshift stand-in, and DuckDB to local e2e stack#289huyplb wants to merge 4 commits into
huyplb wants to merge 4 commits into
Conversation
Compose services + seed scripts for ClickHouse/TiDB/Redshift (Postgres on :5439), DuckDB file seeding via @duckdb/node-api, frontend dialect registry entries for ClickHouse/Redshift, and allow empty TiDB passwords in e2e config. Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
| */ | ||
| import { mkdirSync, rmSync, readFileSync } from 'node:fs'; | ||
| import { dirname, join } from 'node:path'; | ||
| import { fileURLToPath, pathToFileURL } from 'node:url'; |
… password. - Redshift: omit sslmode from URL (node-pg verify-full vs self-signed); SSL via adapter Pool; compose entrypoint enables Postgres SSL; UI defaults SSL on. - ClickHouse/DuckDB e2e: skipMigration (CH PRIMARY KEY DDL; DuckDB file flaky). - E2E ConnectionModal: untick Save password when password is empty (TiDB root). Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
TiDB e2e now uses foxuser/foxpass so source stays connected after target save. Redshift stand-in skips migrate (planner DDL not Postgres-compatible). ConnectionModal dedupes schema options to avoid React key='main' clashes. Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
Co-authored-by: huy.phan9 <huyplb@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the local Docker / seed / e2e stack so ClickHouse, TiDB, DuckDB, and a Redshift-compatible stand-in can be exercised like the existing dialects.
Changes
clickhouse(:8123),tidb(:4000 unistore),redshift(Postgres 16 on :5439 with SSL — local stand-in, not Amazon Redshift)scripts/seed/seed-duckdb.mjswrites/tmp/foxschema-duckdb/demo_{a,b}.duckdb<option>keyssslmodefrom URL (node-pg maps require→verify-full); TLS via adapterPool.sslskipMigrationwhere planner DDL is not dialect-faithful; allow empty pass indb-configE2E status (new dialects, after fixes)
mainstill flaky (same class as SQLite file-dialect issues)Azure SQL still skipped (cloud-only).
Test plan
docker compose up -d clickhouse tidb redshift→ healthybash scripts/seed/seed-all.sh {clickhouse,tidb,redshift,duckdb}npm run test:e2e:allgreen (pre-existing SQL Editor checkbox / Utilities / SQLite / Cockroach / DB2 migrate issues remain)