From 5a0e74eec60eb4ea2dcafdea9ada773cca0a987a Mon Sep 17 00:00:00 2001 From: amwps290 Date: Tue, 15 Sep 2026 17:39:59 +0800 Subject: [PATCH] feat(query): jump to PostgreSQL error position from result messages --- .../components/common/QueryErrorActions.vue | 10 +- .../__tests__/QueryErrorActions.spec.ts | 32 +- .../src/components/editor/QueryEditor.vue | 12 + .../src/components/layout/ContentArea.vue | 93 ++- .../src/components/layout/EditorGroup.vue | 1 + .../components/layout/QueryEditorSurface.vue | 1 + .../components/layout/QueryResultSurface.vue | 1 + .../components/layout/SqlEditorWorkspace.vue | 13 + .../src/components/layout/querySurfaces.ts | 3 + .../src/i18n/__tests__/backendErrors.spec.ts | 52 ++ apps/desktop/src/i18n/locales/az.ts | 3 + apps/desktop/src/i18n/locales/en.ts | 3 + apps/desktop/src/i18n/locales/es.ts | 3 + apps/desktop/src/i18n/locales/it.ts | 3 + apps/desktop/src/i18n/locales/ja.ts | 3 + apps/desktop/src/i18n/locales/ko.ts | 3 + apps/desktop/src/i18n/locales/pt-BR.ts | 3 + apps/desktop/src/i18n/locales/tr.ts | 3 + apps/desktop/src/i18n/locales/zh-CN.ts | 3 + apps/desktop/src/i18n/locales/zh-TW.ts | 3 + .../lib/__tests__/sql/errorPosition.spec.ts | 188 ++++++ apps/desktop/src/lib/backend/errorUtils.ts | 51 +- apps/desktop/src/lib/sql/errorPosition.ts | 245 +++++++ .../src/lib/tabs/contentSurfaceEvents.ts | 1 + apps/desktop/src/lib/tabs/tabPresentation.ts | 5 + .../queryStore.multiStatementError.spec.ts | 33 + apps/desktop/src/stores/queryStore.ts | 52 +- apps/desktop/src/types/database.ts | 7 + crates/dbx-core/src/backend_error.rs | 53 +- crates/dbx-core/src/db/postgres.rs | 26 +- crates/dbx-core/src/lib.rs | 1 + crates/dbx-core/src/query.rs | 104 ++- crates/dbx-core/src/sql_error_position.rs | 255 ++++++++ .../tests/live_postgres_error_position.rs | 233 +++++++ docs/backend-error-handling.md | 4 +- docs/pg-error-position-locate-plan.md | 596 ++++++++++++++++++ 36 files changed, 2079 insertions(+), 23 deletions(-) create mode 100644 apps/desktop/src/lib/__tests__/sql/errorPosition.spec.ts create mode 100644 apps/desktop/src/lib/sql/errorPosition.ts create mode 100644 crates/dbx-core/src/sql_error_position.rs create mode 100644 crates/dbx-core/tests/live_postgres_error_position.rs create mode 100644 docs/pg-error-position-locate-plan.md diff --git a/apps/desktop/src/components/common/QueryErrorActions.vue b/apps/desktop/src/components/common/QueryErrorActions.vue index edb9f6b381..2af1c1613d 100644 --- a/apps/desktop/src/components/common/QueryErrorActions.vue +++ b/apps/desktop/src/components/common/QueryErrorActions.vue @@ -1,6 +1,6 @@