diff --git a/packages/drivers/driver-sql/src/sql-driver-backend-fault-envelope.test.ts b/packages/drivers/driver-sql/src/sql-driver-backend-fault-envelope.test.ts index ee603b1e2d..32f79bd2c7 100644 --- a/packages/drivers/driver-sql/src/sql-driver-backend-fault-envelope.test.ts +++ b/packages/drivers/driver-sql/src/sql-driver-backend-fault-envelope.test.ts @@ -74,12 +74,14 @@ * the platform ACCEPTS and is expressly outside this ruling. * * The predicate already follows `error.cause` four levels deep, with its own - * pins (`schema-sync-errors.test.ts`, "follows an error wrapped as `cause`"), - * because "drivers commonly re-throw with the original attached as `cause`" is - * a case it was built for. So the wrap keeps the original there — and this - * suite pins the driver's half of that contract: the cause is present, it is - * the untouched dialect error, and it is NON-ENUMERABLE so it cannot ride back - * onto a wire through `JSON.stringify` or a spread. + * pins (`packages/types/src/driver-error-classification.test.ts` — #13279 + * moved it there from `metadata/src/utils/schema-sync-errors.test.ts` — + * "follows an error wrapped as `cause`"), because "drivers commonly re-throw + * with the original attached as `cause`" is a case it was built for. So the + * wrap keeps the original there — and this suite pins the driver's half of + * that contract: the cause is present, it is the untouched dialect error, and + * it is NON-ENUMERABLE so it cannot ride back onto a wire through + * `JSON.stringify` or a spread. */ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; diff --git a/packages/drivers/driver-sql/src/sql-driver.ts b/packages/drivers/driver-sql/src/sql-driver.ts index 3c26e19a3b..9e8a58e60c 100644 --- a/packages/drivers/driver-sql/src/sql-driver.ts +++ b/packages/drivers/driver-sql/src/sql-driver.ts @@ -813,10 +813,12 @@ function unresolvableFilterColumnError(object: string, column: string | null): E * platform accepts — expressly outside this ruling. * * That predicate already follows `error.cause` up to four levels, with its own - * pins (`schema-sync-errors.test.ts`, "follows an error wrapped as `cause`"), - * because "drivers commonly re-throw with the original attached as `cause`" is - * a case it was built for. So the wrap is transparent to it and to every other - * cause-following consumer, and ⛔ the predicate itself is untouched. + * pins (`packages/types/src/driver-error-classification.test.ts` — #13279 + * moved it there from `metadata/src/utils/schema-sync-errors.test.ts` — + * "follows an error wrapped as `cause`"), because "drivers commonly re-throw + * with the original attached as `cause`" is a case it was built for. So the + * wrap is transparent to it and to every other cause-following consumer, and + * ⛔ the predicate itself is untouched. * * The property is defined NON-ENUMERABLE, the same shape `new Error(msg, { * cause })` produces. An enumerable `cause` would ride out through diff --git a/packages/services/service-analytics/src/analytics-service.ts b/packages/services/service-analytics/src/analytics-service.ts index f9604c28f4..2d915e3ad1 100644 --- a/packages/services/service-analytics/src/analytics-service.ts +++ b/packages/services/service-analytics/src/analytics-service.ts @@ -191,8 +191,10 @@ function isMissingColumnOfRelation(message: string): boolean { * object "O"`, where the "relation" is inside "relationship" and the missing * thing is a RELATIONSHIP, not a table. The anchor is the same pattern the * sibling {@link missingSourceRelation} already uses for postgres (and the same - * shape as `metadata/src/utils/schema-sync-errors.ts`), so "is something - * missing" and "what is missing" can no longer disagree on this limb. + * shape as `packages/types/src/driver-error-classification.ts` — #13279 + * moved it there from `metadata/src/utils/schema-sync-errors.ts`), so "is + * something missing" and "what is missing" can no longer disagree on this + * limb. * * MEASURED over the wordings this repo actually carries — 13 strings: the three * driver families' phrasings (including sql-prefixed and schema-qualified