dbx/crates
jischeng 21a07651db
fix(starrocks): detect primary keys via information_schema.COLUMNS
* fix(starrocks): detect primary keys via information_schema.COLUMNS

The Doris family (StarRocks/Doris) loaded columns through `SHOW COLUMNS`
for performance (perf(doris) commit 69ecde8f). However StarRocks reports
the `Key` column as `YES`/`NO` instead of MySQL's `PRI`, so `is_primary_key`
was never set and the data grid always showed "无主键定位" (keyless edit
warning) for tables that actually have a primary key.

Switch to `get_columns`, which queries information_schema.COLUMNS first —
where `COLUMN_KEY = 'PRI'` correctly identifies primary keys (and only real
primary keys, not duplicate-key sort columns) — and still falls back to
`SHOW COLUMNS` when information_schema is unavailable.

Verified against a live StarRocks connection: information_schema.COLUMNS
reports `COLUMN_KEY = 'PRI'` for primary-key columns while `SHOW COLUMNS`
reports `Key = YES`. Paimon catalog tables are unaffected (both paths
report no primary key for them).

* fix(test): add redis_scan_page_size to ConnectionConfig test helpers

`d815a16b` (feat(redis): move scan page size to connections) added
`redis_scan_page_size` to `ConnectionConfig` but did not update several
struct-literal test helpers, so `cargo clippy --workspace --all-targets`
fails with `missing field redis_scan_page_size`. This is a pre-existing
breakage on `main` (CI has been red since that commit) and is unrelated to
this PR's actual change; included here only to unblock CI.

Helpers fixed here:
- src-tauri/src/commands/connection.rs (`mongodb_config`)
- crates/dbx-web/src/routes/connection.rs (`sqlite_config`)
2026-06-26 13:25:40 +08:00
..
dbx-core fix(starrocks): detect primary keys via information_schema.COLUMNS 2026-06-26 13:25:40 +08:00
dbx-web fix(ai): enforce SQL task contracts structurally instead of keyword heuristics 2026-06-26 13:18:49 +08:00
README.md docs(repo): add directory readmes 2026-05-18 02:50:50 +08:00

README.md

Crates

Rust crates for DBX live here.

Directories

  • dbx-core/ - shared database core, drivers, schema/query logic, import/export, transfer, and plugin support.
  • dbx-web/ - the Docker/web backend service binary published as dbx-web.

The workspace root is defined in the repository-level Cargo.toml.