From e9a7099d670971163416e4a62718a5e0588bc479 Mon Sep 17 00:00:00 2001 From: Steven McClankerton Date: Tue, 1 Sep 2026 16:29:52 +0000 Subject: [PATCH 1/4] fix(target-postgres): stop casting native pg.enum columns through array_position in ORDER BY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ORDER BY`/`DISTINCT ON` on a `pg.enum(...)` column rewrote to `array_position(ARRAY[...]::text[], )` with no cast on the column argument, so Postgres rejected it with 42883 (no `array_position(text[], )` overload) — ordering by any native-enum column failed at runtime. Gate the rewrite on the column's codec (`pg/enum@1`) rather than on the mere presence of a value-set: a native enum already sorts by declaration order under a plain column reference (Postgres orders by `pg_enum.enumsortorder`), so it now falls through to plain-column rendering instead. Text-backed value-sets (CHECK-constraint enums) are unaffected and keep the `array_position` rewrite. Fixes #30163 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UcqoY3CKfnubdZt5YQk2Rq Signed-off-by: Steven McClankerton --- .../postgres/src/core/sql-renderer.ts | 72 +++- .../order-by-native-enum.integration.test.ts | 327 ++++++++++++++++++ 2 files changed, 392 insertions(+), 7 deletions(-) create mode 100644 packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts diff --git a/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts b/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts index 24579d30b616..28416fb041dd 100644 --- a/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts +++ b/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts @@ -39,6 +39,7 @@ import { type WindowFuncExpr, } from '@internal/sql-relational-core/ast'; import type { PostgresCodecDescriptorRegistry } from '@internal/target-postgres/codec-descriptor'; +import { PG_ENUM_CODEC_ID } from '@internal/target-postgres/codec-ids'; import { isPgEnumParams } from '@internal/target-postgres/codecs'; import { escapeLiteral, @@ -48,7 +49,7 @@ import { import { ifDefined } from '@internal/utils/defined'; import { assertNever, InternalError } from '@internal/utils/internal-error'; import { adapterError } from './adapter-errors'; -import type { PostgresContract } from './types'; +import type { PostgresContract, StorageColumn } from './types'; /** * Postgres native types whose unknown-OID parameter inference is reliable in arbitrary expression positions. Parameters bound to a descriptor whose `nativeTypeFor` result falls in this set are emitted as plain `$N`; everything else (including `json`, `jsonb`, extension types like `vector`, and unknown user types) is emitted as `$N::` so the planner picks an unambiguous overload. @@ -272,13 +273,56 @@ function collectTableSources(ast: SelectAst): ReadonlyMap typeof value === 'string'); } +/** + * True for a column backed by a real `CREATE TYPE … AS ENUM` (codec `pg/enum@1`, see + * `PgEnumDescriptor`), as opposed to a value-set on a plain `text`/`varchar` column enforced by a + * generated CHECK constraint. Gates the `array_position` declaration-order rewrite below off for + * native-enum columns: https://github.com/prisma/orm/issues/30163 — Postgres sorts a native enum + * by `pg_enum.enumsortorder` under a plain `ORDER BY`/`DISTINCT ON` already, and the rewrite's + * `ARRAY[...]::text[]` has no `array_position` overload against the enum's own type, which is a + * 42883 at runtime, not merely redundant SQL. + * + * This is safe only because the migration planner keeps contract declaration order and + * `pg_enum.enumsortorder` identical: it can only append a value (`ALTER TYPE … ADD VALUE`, no + * `BEFORE`/`AFTER`, in `op-factory-call.ts`'s native-enum add-value op) and refuses to plan any + * other member change — rename, removal, or reorder — via + * `issue-planner.ts`'s `nativeEnumMemberChangeRefusal`. If that refusal is ever relaxed to allow + * reordering, this gate must be revisited: it would then be possible for the contract's declared + * order to diverge from the database's actual enum sort order with no signal here. + * + * Codec-keyed, not `nativeType`-keyed: a hand-authored contract could in principle carry a plain + * text codec (`pg/text@1`) over a column whose adopted/unmanaged physical type happens to be a + * native enum, which this predicate would not catch — reachable only by hand-adopting an existing + * enum type as `text`, not by anything `pg.enum(...)` authoring produces. + * + * MERGE NOTE (PR #30099, "enum ORDER BY / DISTINCT ON loses declaration order behind a derived + * table", open as of this writing): that PR deletes `TableSourceCoordinate` / + * `collectTableSources` and the two resolver functions below, replacing them with + * `resolveColumnValueSetFromSource(source, column, contract)` returning `{ found, values }`. On + * rebase, drop both call sites of this predicate in `resolveEnumOrderValues` / + * `resolveEnumOrderValuesForIdentifier` and instead call it once, in that PR's `table-source` + * branch of `resolveColumnValueSetFromSource`, immediately after `storageColumn` is resolved: + * `if (sortsByDeclarationOrderNatively(storageColumn)) return { found: true, values: undefined };` + * — `found: true`, not `false`: the column exists, it is simply not rewritten, and the identifier + * resolver's ambiguity counter depends on that distinction. That single site also covers + * #30099's new derived-table recursion, which this PR's two call sites do not reach. + */ +function sortsByDeclarationOrderNatively(column: StorageColumn): boolean { + return column.codecId === PG_ENUM_CODEC_ID; +} + +/** + * Ordered, codec-encoded values of the value-set a storage column restricts to, or `undefined` + * when the referenced column carries no value-set, or is itself a native enum (see + * `sortsByDeclarationOrderNatively` — the common non-rewrite cases are "no value-set" and + * "value-set backed by the database's own enum ordering"). Resolves the column's storage + * coordinate from the SELECT's table sources, then the column's `valueSet` ref to the value-set's + * `values`. + */ function resolveEnumOrderValues( ref: ColumnRef, sourcesByRef: ReadonlyMap, @@ -291,7 +335,10 @@ function resolveEnumOrderValues( const sourceNs = contract.storage.namespaces[source.namespaceId]; const column = sourceNs !== undefined ? sourceNs.entries.table?.[source.name]?.columns[ref.column] : undefined; - const valueSet = column?.valueSet; + if (column === undefined || sortsByDeclarationOrderNatively(column)) { + return undefined; + } + const valueSet = column.valueSet; if (valueSet === undefined) { return undefined; } @@ -302,7 +349,7 @@ function resolveEnumOrderValues( } /** - * Ordered values for an unqualified ORDER BY column (an `identifier-ref`, the shape the sql-builder emits for `.orderBy('col')`). Scans every FROM/JOIN source for a column of that name. Resolves only when exactly one source has a column of that name and it carries a value-set; if more than one source has such a column the bare identifier is ambiguous (regardless of which are enum-backed), so it falls through to the plain column rendering. + * Ordered values for an unqualified ORDER BY column (an `identifier-ref`, the shape the sql-builder emits for `.orderBy('col')`). Scans every FROM/JOIN source for a column of that name. Resolves only when exactly one source has a column of that name, it carries a value-set, and it is not a native enum (see `sortsByDeclarationOrderNatively`); if more than one source has a column of that name the bare identifier is ambiguous (regardless of which are enum-backed), so it falls through to the plain column rendering. */ function resolveEnumOrderValuesForIdentifier( name: string, @@ -325,6 +372,9 @@ function resolveEnumOrderValuesForIdentifier( if (matchedColumns > 1) { return undefined; } + if (sortsByDeclarationOrderNatively(column)) { + return undefined; + } const valueSet = column.valueSet; if (valueSet === undefined) { return undefined; @@ -339,7 +389,15 @@ function resolveEnumOrderValuesForIdentifier( } /** - * Render an ORDER BY expression. A column reference onto an enum-restricted column sorts by declaration order via `array_position(ARRAY[…]::text[], )` over the value-set's ordered values (NULLs return `NULL` from `array_position`, sorting per the clause's default NULL handling). Both qualified `column-ref`s and the unqualified `identifier-ref`s the sql-builder emits for `.orderBy('col')` are intercepted. Every other expression renders unchanged. + * Render an ORDER BY expression. A column reference onto a value-set-restricted column that is + * NOT a native enum sorts by declaration order via `array_position(ARRAY[…]::text[], )` over + * the value-set's ordered values (NULLs return `NULL` from `array_position`, sorting per the + * clause's default NULL handling). Both qualified `column-ref`s and the unqualified + * `identifier-ref`s the sql-builder emits for `.orderBy('col')` are candidates for this rewrite. + * A native-enum column (see `sortsByDeclarationOrderNatively`) already sorts by declaration order + * under a plain column reference — Postgres orders enum values by `pg_enum.enumsortorder` — so it + * is excluded from the rewrite and renders as a plain column instead. Every other expression + * renders unchanged. */ function renderOrderByExpr( expr: AnyExpression, diff --git a/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts b/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts new file mode 100644 index 000000000000..c36d76e6b664 --- /dev/null +++ b/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts @@ -0,0 +1,327 @@ +/** + * Reproduction for https://github.com/prisma/orm/issues/30163: + * `ORDER BY` on a `pg.enum(...)` column backed by a real Postgres native enum + * type renders `array_position(ARRAY[...]::text[], "col")` with no cast on + * the column argument. Against a native enum column Postgres rejects this + * with 42883 (`function array_position(text[], ) does not exist`), + * because the array is `text[]` but the column is not `text`. + * + * This exercises the full `pg.enum(Ref)` production path: PSL interpretation + * (codecId `pg/enum@1`, physical native enum type), migration planning + + * apply against a live database (real `CREATE TYPE ... AS ENUM`), then + * lowering and executing an `ORDER BY` / `DISTINCT ON` query through the same + * SQL renderer `db.orm` / `db.sql` use. + */ +import type { Contract, ControlPolicy } from '@internal/contract/types'; +import { INIT_ADDITIVE_POLICY } from '@internal/family-sql/control'; +import { collectScalarTypeConstructors } from '@internal/framework-components/authoring'; +import { + APP_SPACE_ID, + assembleAuthoringContributions, +} from '@internal/framework-components/control'; +import { buildSymbolTable } from '@internal/psl-parser'; +import { parse } from '@internal/psl-parser/syntax'; +import type { SqlStorage } from '@internal/sql-contract/types'; +import { interpretPslDocumentToSqlContract } from '@internal/sql-contract-psl'; +import { + ColumnRef, + IdentifierRef, + OrderByItem, + ProjectionItem, + SelectAst, + TableSource, +} from '@internal/sql-relational-core/ast'; +import { postgresCreateNamespace } from '@internal/target-postgres/types'; +import { ifDefined } from '@internal/utils/defined'; +import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from 'vitest'; +import { createPostgresAdapter } from '../../src/core/adapter'; +import { createPostgresBuiltinCodecLookup } from '../../src/core/codec-lookup'; +import { postgresScalarAuthoringTypes } from '../../src/core/control-mutation-defaults'; +import type { PostgresContract } from '../../src/core/types'; +import { + controlAdapter, + createDriver, + createTestDatabase, + emptySchema, + familyInstance, + formatRunnerFailure, + frameworkComponents, + type PostgresControlDriver, + postgresTargetDescriptor, + resetDatabase, + synthEdges, + testTimeout, +} from './fixtures/runner-fixtures'; + +// Declaration order: open, closed. Alphabetical order would put closed first, +// so a correct declaration-order sort is distinguishable from a broken one. +// Nullable so the NULL-handling case below can exercise a real NULL row. +const PSL_WITH_NATIVE_ENUM = ` +namespace public { + native_enum Status { + open = "open" + closed = "closed" + @@map("ticket_status") + } + + model tickets { + id Int @id + status pg.enum(Status)? + } +} +`; + +function buildScalarTypeDescriptors(): ReadonlyMap< + string, + { codecId: string; nativeType: string } +> { + return collectScalarTypeConstructors(postgresScalarAuthoringTypes); +} + +function buildContractFromPsl(psl: string, control: ControlPolicy): PostgresContract { + const assembled = assembleAuthoringContributions([postgresTargetDescriptor]); + const scalarTypeDescriptors = buildScalarTypeDescriptors(); + + const { document, sourceFile } = parse(psl); + const { table: symbolTable } = buildSymbolTable({ + document, + sourceFile, + pslBlockDescriptors: assembled.pslBlockDescriptors, + }); + + const result = interpretPslDocumentToSqlContract({ + symbolTable, + sourceFile, + sourceId: 'schema.prisma', + target: { + kind: 'target' as const, + familyId: 'sql' as const, + targetId: 'postgres' as const, + id: 'postgres', + version: postgresTargetDescriptor.version, + capabilities: {}, + defaultNamespaceId: 'public', + ...ifDefined('authoring', postgresTargetDescriptor.authoring), + }, + scalarColumnDescriptors: scalarTypeDescriptors, + authoringContributions: assembled, + composedExtensionContracts: new Map(), + createNamespace: postgresCreateNamespace, + codecLookup: createPostgresBuiltinCodecLookup(), + capabilities: { sql: { scalarList: true } }, + }); + + if (!result.ok) throw new Error(`PSL interpretation failed: ${JSON.stringify(result)}`); + return { + ...(result.value as Contract), + defaultControlPolicy: control, + } as PostgresContract; +} + +async function migrateFromEmpty( + driver: PostgresControlDriver, + contract: PostgresContract, +): Promise { + const planner = postgresTargetDescriptor.createPlanner(controlAdapter); + const planResult = planner.plan({ + contract, + schema: emptySchema, + policy: INIT_ADDITIVE_POLICY, + fromContract: null, + frameworkComponents, + spaceId: APP_SPACE_ID, + snapshotsImportPath: '../../snapshots', + }); + if (planResult.kind !== 'success') { + throw new Error(`Planner failed: ${JSON.stringify(planResult, null, 2)}`); + } + const runner = postgresTargetDescriptor.createRunner(familyInstance); + const executeResult = await runner.execute({ + driver, + perSpaceOptions: [ + { + space: planResult.plan.spaceId ?? APP_SPACE_ID, + plan: planResult.plan, + migrationEdges: synthEdges(planResult.plan), + driver, + destinationContract: contract, + policy: INIT_ADDITIVE_POLICY, + frameworkComponents, + }, + ], + }); + if (!executeResult.ok) { + throw new Error(`Runner failed:\n${formatRunnerFailure(executeResult.failure)}`); + } +} + +describe('ORDER BY on a pg.enum(...) native-enum column — issue #30163', { + concurrent: false, +}, () => { + let database: Awaited>; + let driver: PostgresControlDriver | undefined; + let contract: PostgresContract; + + beforeAll(async () => { + database = await createTestDatabase(); + contract = buildContractFromPsl(PSL_WITH_NATIVE_ENUM, 'managed'); + }, testTimeout); + + afterAll(async () => { + if (database) { + await database.close(); + } + }, testTimeout); + + beforeEach(async () => { + driver = await createDriver(database.connectionString); + await resetDatabase(driver); + await migrateFromEmpty(driver, contract); + await driver.query(`INSERT INTO "tickets" (id, status) VALUES + (1, 'closed'), (2, 'open'), (3, 'closed'), (4, 'open')`); + }, testTimeout); + + afterEach(async () => { + if (driver) { + await driver.close(); + driver = undefined; + } + }, testTimeout); + + it( + 'orders by declaration order via a qualified column-ref without a Postgres type error', + async () => { + const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) + .withProjection([ + ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), + ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), + ]) + .withOrderBy([ + OrderByItem.asc(ColumnRef.of('tickets', 'status')), + OrderByItem.asc(ColumnRef.of('tickets', 'id')), + ]); + + const lowered = createPostgresAdapter().lower(ast, { contract }); + + // Mechanism, not just outcome: a native enum renders as a plain column, + // not the array_position rewrite — Option 1 (casting the column inside + // array_position) would also pass the row-order assertions below, so + // this pins the actual fix. + expect(lowered.sql).not.toContain('array_position'); + expect(lowered.sql).toContain('ORDER BY "tickets"."status" ASC'); + + const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); + expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed']); + expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3]); + }, + testTimeout, + ); + + it( + 'orders by declaration order via an unqualified identifier-ref without a Postgres type error', + async () => { + const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) + .withProjection([ + ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), + ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), + ]) + .withOrderBy([ + OrderByItem.asc(IdentifierRef.of('status')), + OrderByItem.asc(IdentifierRef.of('id')), + ]); + + const lowered = createPostgresAdapter().lower(ast, { contract }); + + expect(lowered.sql).not.toContain('array_position'); + expect(lowered.sql).toContain('ORDER BY "status" ASC'); + + const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); + expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed']); + expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3]); + }, + testTimeout, + ); + + it( + 'orders by reverse declaration order via DESC without a Postgres type error', + async () => { + const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) + .withProjection([ + ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), + ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), + ]) + .withOrderBy([ + OrderByItem.desc(ColumnRef.of('tickets', 'status')), + OrderByItem.asc(ColumnRef.of('tickets', 'id')), + ]); + + const lowered = createPostgresAdapter().lower(ast, { contract }); + + expect(lowered.sql).not.toContain('array_position'); + expect(lowered.sql).toContain('ORDER BY "tickets"."status" DESC'); + + const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); + expect(rows.rows.map((r) => r.status)).toEqual(['closed', 'closed', 'open', 'open']); + expect(rows.rows.map((r) => r.id)).toEqual([1, 3, 2, 4]); + }, + testTimeout, + ); + + it( + 'sorts a NULL status without a Postgres type error', + async () => { + await driver!.query(`INSERT INTO "tickets" (id, status) VALUES (5, NULL)`); + + const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) + .withProjection([ + ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), + ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), + ]) + .withOrderBy([ + OrderByItem.asc(ColumnRef.of('tickets', 'status')), + OrderByItem.asc(ColumnRef.of('tickets', 'id')), + ]); + + const lowered = createPostgresAdapter().lower(ast, { contract }); + + expect(lowered.sql).not.toContain('array_position'); + + const rows = await driver!.query<{ id: number; status: string | null }>(lowered.sql); + // Plain ORDER BY sorts NULLs last (ASC default), same as array_position would have. + expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed', null]); + expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3, 5]); + }, + testTimeout, + ); + + it( + 'DISTINCT ON a native-enum column matches its ORDER BY, both as a plain column', + async () => { + const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) + .withProjection([ + ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), + ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), + ]) + .withDistinctOn([IdentifierRef.of('status')]) + .withOrderBy([ + OrderByItem.asc(IdentifierRef.of('status')), + OrderByItem.asc(IdentifierRef.of('id')), + ]); + + const lowered = createPostgresAdapter().lower(ast, { contract }); + + // Postgres requires ORDER BY to be prefixed by the DISTINCT ON + // expressions; array_position on one side and a bare column on the + // other would violate that. Both must render identically. + expect(lowered.sql).not.toContain('array_position'); + expect(lowered.sql).toContain('DISTINCT ON ("status")'); + expect(lowered.sql).toContain('ORDER BY "status" ASC, "id" ASC'); + + const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); + // One row per distinct status, in declaration order (open, closed). + expect(rows.rows.map((r) => r.status)).toEqual(['open', 'closed']); + expect(rows.rows.map((r) => r.id)).toEqual([2, 1]); + }, + testTimeout, + ); +}); From f6cb299a87dbbea307a930d608be8e4ec9e07e04 Mon Sep 17 00:00:00 2001 From: Steven McClankerton Date: Wed, 2 Sep 2026 08:50:40 +0000 Subject: [PATCH 2/4] fix(target-postgres): drop comments and test through the ORM surface Removes the explanatory comments added in the previous commit and replaces the hand-built AST/migration integration test with an ORM-level port test that seeds rows and orders by the enum column through the public facade. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UcqoY3CKfnubdZt5YQk2Rq Signed-off-by: Steven McClankerton --- .../postgres/src/core/sql-renderer.ts | 57 +-- .../order-by-native-enum.integration.test.ts | 327 --------------- .../_fixture/contract.prisma | 11 + .../_fixture/generated/contract.d.ts | 385 ++++++++++++++++++ .../_fixture/generated/contract.json | 142 +++++++ .../_fixture/prisma.config.ts | 9 + .../issues-30163-enum-order-by.test.ts | 63 +++ 7 files changed, 615 insertions(+), 379 deletions(-) delete mode 100644 packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts create mode 100644 test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma create mode 100644 test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts create mode 100644 test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json create mode 100644 test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts create mode 100644 test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts diff --git a/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts b/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts index 28416fb041dd..4c9def468e75 100644 --- a/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts +++ b/packages/3-targets/6-adapters/postgres/src/core/sql-renderer.ts @@ -273,56 +273,17 @@ function collectTableSources(ast: SelectAst): ReadonlyMap typeof value === 'string'); } -/** - * True for a column backed by a real `CREATE TYPE … AS ENUM` (codec `pg/enum@1`, see - * `PgEnumDescriptor`), as opposed to a value-set on a plain `text`/`varchar` column enforced by a - * generated CHECK constraint. Gates the `array_position` declaration-order rewrite below off for - * native-enum columns: https://github.com/prisma/orm/issues/30163 — Postgres sorts a native enum - * by `pg_enum.enumsortorder` under a plain `ORDER BY`/`DISTINCT ON` already, and the rewrite's - * `ARRAY[...]::text[]` has no `array_position` overload against the enum's own type, which is a - * 42883 at runtime, not merely redundant SQL. - * - * This is safe only because the migration planner keeps contract declaration order and - * `pg_enum.enumsortorder` identical: it can only append a value (`ALTER TYPE … ADD VALUE`, no - * `BEFORE`/`AFTER`, in `op-factory-call.ts`'s native-enum add-value op) and refuses to plan any - * other member change — rename, removal, or reorder — via - * `issue-planner.ts`'s `nativeEnumMemberChangeRefusal`. If that refusal is ever relaxed to allow - * reordering, this gate must be revisited: it would then be possible for the contract's declared - * order to diverge from the database's actual enum sort order with no signal here. - * - * Codec-keyed, not `nativeType`-keyed: a hand-authored contract could in principle carry a plain - * text codec (`pg/text@1`) over a column whose adopted/unmanaged physical type happens to be a - * native enum, which this predicate would not catch — reachable only by hand-adopting an existing - * enum type as `text`, not by anything `pg.enum(...)` authoring produces. - * - * MERGE NOTE (PR #30099, "enum ORDER BY / DISTINCT ON loses declaration order behind a derived - * table", open as of this writing): that PR deletes `TableSourceCoordinate` / - * `collectTableSources` and the two resolver functions below, replacing them with - * `resolveColumnValueSetFromSource(source, column, contract)` returning `{ found, values }`. On - * rebase, drop both call sites of this predicate in `resolveEnumOrderValues` / - * `resolveEnumOrderValuesForIdentifier` and instead call it once, in that PR's `table-source` - * branch of `resolveColumnValueSetFromSource`, immediately after `storageColumn` is resolved: - * `if (sortsByDeclarationOrderNatively(storageColumn)) return { found: true, values: undefined };` - * — `found: true`, not `false`: the column exists, it is simply not rewritten, and the identifier - * resolver's ambiguity counter depends on that distinction. That single site also covers - * #30099's new derived-table recursion, which this PR's two call sites do not reach. - */ function sortsByDeclarationOrderNatively(column: StorageColumn): boolean { return column.codecId === PG_ENUM_CODEC_ID; } -/** - * Ordered, codec-encoded values of the value-set a storage column restricts to, or `undefined` - * when the referenced column carries no value-set, or is itself a native enum (see - * `sortsByDeclarationOrderNatively` — the common non-rewrite cases are "no value-set" and - * "value-set backed by the database's own enum ordering"). Resolves the column's storage - * coordinate from the SELECT's table sources, then the column's `valueSet` ref to the value-set's - * `values`. - */ function resolveEnumOrderValues( ref: ColumnRef, sourcesByRef: ReadonlyMap, @@ -349,7 +310,7 @@ function resolveEnumOrderValues( } /** - * Ordered values for an unqualified ORDER BY column (an `identifier-ref`, the shape the sql-builder emits for `.orderBy('col')`). Scans every FROM/JOIN source for a column of that name. Resolves only when exactly one source has a column of that name, it carries a value-set, and it is not a native enum (see `sortsByDeclarationOrderNatively`); if more than one source has a column of that name the bare identifier is ambiguous (regardless of which are enum-backed), so it falls through to the plain column rendering. + * Ordered values for an unqualified ORDER BY column (an `identifier-ref`, the shape the sql-builder emits for `.orderBy('col')`). Scans every FROM/JOIN source for a column of that name. Resolves only when exactly one source has a column of that name and it carries a value-set; if more than one source has such a column the bare identifier is ambiguous (regardless of which are enum-backed), so it falls through to the plain column rendering. */ function resolveEnumOrderValuesForIdentifier( name: string, @@ -389,15 +350,7 @@ function resolveEnumOrderValuesForIdentifier( } /** - * Render an ORDER BY expression. A column reference onto a value-set-restricted column that is - * NOT a native enum sorts by declaration order via `array_position(ARRAY[…]::text[], )` over - * the value-set's ordered values (NULLs return `NULL` from `array_position`, sorting per the - * clause's default NULL handling). Both qualified `column-ref`s and the unqualified - * `identifier-ref`s the sql-builder emits for `.orderBy('col')` are candidates for this rewrite. - * A native-enum column (see `sortsByDeclarationOrderNatively`) already sorts by declaration order - * under a plain column reference — Postgres orders enum values by `pg_enum.enumsortorder` — so it - * is excluded from the rewrite and renders as a plain column instead. Every other expression - * renders unchanged. + * Render an ORDER BY expression. A column reference onto an enum-restricted column sorts by declaration order via `array_position(ARRAY[…]::text[], )` over the value-set's ordered values (NULLs return `NULL` from `array_position`, sorting per the clause's default NULL handling). Both qualified `column-ref`s and the unqualified `identifier-ref`s the sql-builder emits for `.orderBy('col')` are intercepted. Every other expression renders unchanged. */ function renderOrderByExpr( expr: AnyExpression, diff --git a/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts b/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts deleted file mode 100644 index c36d76e6b664..000000000000 --- a/packages/3-targets/6-adapters/postgres/test/migrations/order-by-native-enum.integration.test.ts +++ /dev/null @@ -1,327 +0,0 @@ -/** - * Reproduction for https://github.com/prisma/orm/issues/30163: - * `ORDER BY` on a `pg.enum(...)` column backed by a real Postgres native enum - * type renders `array_position(ARRAY[...]::text[], "col")` with no cast on - * the column argument. Against a native enum column Postgres rejects this - * with 42883 (`function array_position(text[], ) does not exist`), - * because the array is `text[]` but the column is not `text`. - * - * This exercises the full `pg.enum(Ref)` production path: PSL interpretation - * (codecId `pg/enum@1`, physical native enum type), migration planning + - * apply against a live database (real `CREATE TYPE ... AS ENUM`), then - * lowering and executing an `ORDER BY` / `DISTINCT ON` query through the same - * SQL renderer `db.orm` / `db.sql` use. - */ -import type { Contract, ControlPolicy } from '@internal/contract/types'; -import { INIT_ADDITIVE_POLICY } from '@internal/family-sql/control'; -import { collectScalarTypeConstructors } from '@internal/framework-components/authoring'; -import { - APP_SPACE_ID, - assembleAuthoringContributions, -} from '@internal/framework-components/control'; -import { buildSymbolTable } from '@internal/psl-parser'; -import { parse } from '@internal/psl-parser/syntax'; -import type { SqlStorage } from '@internal/sql-contract/types'; -import { interpretPslDocumentToSqlContract } from '@internal/sql-contract-psl'; -import { - ColumnRef, - IdentifierRef, - OrderByItem, - ProjectionItem, - SelectAst, - TableSource, -} from '@internal/sql-relational-core/ast'; -import { postgresCreateNamespace } from '@internal/target-postgres/types'; -import { ifDefined } from '@internal/utils/defined'; -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from 'vitest'; -import { createPostgresAdapter } from '../../src/core/adapter'; -import { createPostgresBuiltinCodecLookup } from '../../src/core/codec-lookup'; -import { postgresScalarAuthoringTypes } from '../../src/core/control-mutation-defaults'; -import type { PostgresContract } from '../../src/core/types'; -import { - controlAdapter, - createDriver, - createTestDatabase, - emptySchema, - familyInstance, - formatRunnerFailure, - frameworkComponents, - type PostgresControlDriver, - postgresTargetDescriptor, - resetDatabase, - synthEdges, - testTimeout, -} from './fixtures/runner-fixtures'; - -// Declaration order: open, closed. Alphabetical order would put closed first, -// so a correct declaration-order sort is distinguishable from a broken one. -// Nullable so the NULL-handling case below can exercise a real NULL row. -const PSL_WITH_NATIVE_ENUM = ` -namespace public { - native_enum Status { - open = "open" - closed = "closed" - @@map("ticket_status") - } - - model tickets { - id Int @id - status pg.enum(Status)? - } -} -`; - -function buildScalarTypeDescriptors(): ReadonlyMap< - string, - { codecId: string; nativeType: string } -> { - return collectScalarTypeConstructors(postgresScalarAuthoringTypes); -} - -function buildContractFromPsl(psl: string, control: ControlPolicy): PostgresContract { - const assembled = assembleAuthoringContributions([postgresTargetDescriptor]); - const scalarTypeDescriptors = buildScalarTypeDescriptors(); - - const { document, sourceFile } = parse(psl); - const { table: symbolTable } = buildSymbolTable({ - document, - sourceFile, - pslBlockDescriptors: assembled.pslBlockDescriptors, - }); - - const result = interpretPslDocumentToSqlContract({ - symbolTable, - sourceFile, - sourceId: 'schema.prisma', - target: { - kind: 'target' as const, - familyId: 'sql' as const, - targetId: 'postgres' as const, - id: 'postgres', - version: postgresTargetDescriptor.version, - capabilities: {}, - defaultNamespaceId: 'public', - ...ifDefined('authoring', postgresTargetDescriptor.authoring), - }, - scalarColumnDescriptors: scalarTypeDescriptors, - authoringContributions: assembled, - composedExtensionContracts: new Map(), - createNamespace: postgresCreateNamespace, - codecLookup: createPostgresBuiltinCodecLookup(), - capabilities: { sql: { scalarList: true } }, - }); - - if (!result.ok) throw new Error(`PSL interpretation failed: ${JSON.stringify(result)}`); - return { - ...(result.value as Contract), - defaultControlPolicy: control, - } as PostgresContract; -} - -async function migrateFromEmpty( - driver: PostgresControlDriver, - contract: PostgresContract, -): Promise { - const planner = postgresTargetDescriptor.createPlanner(controlAdapter); - const planResult = planner.plan({ - contract, - schema: emptySchema, - policy: INIT_ADDITIVE_POLICY, - fromContract: null, - frameworkComponents, - spaceId: APP_SPACE_ID, - snapshotsImportPath: '../../snapshots', - }); - if (planResult.kind !== 'success') { - throw new Error(`Planner failed: ${JSON.stringify(planResult, null, 2)}`); - } - const runner = postgresTargetDescriptor.createRunner(familyInstance); - const executeResult = await runner.execute({ - driver, - perSpaceOptions: [ - { - space: planResult.plan.spaceId ?? APP_SPACE_ID, - plan: planResult.plan, - migrationEdges: synthEdges(planResult.plan), - driver, - destinationContract: contract, - policy: INIT_ADDITIVE_POLICY, - frameworkComponents, - }, - ], - }); - if (!executeResult.ok) { - throw new Error(`Runner failed:\n${formatRunnerFailure(executeResult.failure)}`); - } -} - -describe('ORDER BY on a pg.enum(...) native-enum column — issue #30163', { - concurrent: false, -}, () => { - let database: Awaited>; - let driver: PostgresControlDriver | undefined; - let contract: PostgresContract; - - beforeAll(async () => { - database = await createTestDatabase(); - contract = buildContractFromPsl(PSL_WITH_NATIVE_ENUM, 'managed'); - }, testTimeout); - - afterAll(async () => { - if (database) { - await database.close(); - } - }, testTimeout); - - beforeEach(async () => { - driver = await createDriver(database.connectionString); - await resetDatabase(driver); - await migrateFromEmpty(driver, contract); - await driver.query(`INSERT INTO "tickets" (id, status) VALUES - (1, 'closed'), (2, 'open'), (3, 'closed'), (4, 'open')`); - }, testTimeout); - - afterEach(async () => { - if (driver) { - await driver.close(); - driver = undefined; - } - }, testTimeout); - - it( - 'orders by declaration order via a qualified column-ref without a Postgres type error', - async () => { - const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) - .withProjection([ - ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), - ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), - ]) - .withOrderBy([ - OrderByItem.asc(ColumnRef.of('tickets', 'status')), - OrderByItem.asc(ColumnRef.of('tickets', 'id')), - ]); - - const lowered = createPostgresAdapter().lower(ast, { contract }); - - // Mechanism, not just outcome: a native enum renders as a plain column, - // not the array_position rewrite — Option 1 (casting the column inside - // array_position) would also pass the row-order assertions below, so - // this pins the actual fix. - expect(lowered.sql).not.toContain('array_position'); - expect(lowered.sql).toContain('ORDER BY "tickets"."status" ASC'); - - const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); - expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed']); - expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3]); - }, - testTimeout, - ); - - it( - 'orders by declaration order via an unqualified identifier-ref without a Postgres type error', - async () => { - const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) - .withProjection([ - ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), - ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), - ]) - .withOrderBy([ - OrderByItem.asc(IdentifierRef.of('status')), - OrderByItem.asc(IdentifierRef.of('id')), - ]); - - const lowered = createPostgresAdapter().lower(ast, { contract }); - - expect(lowered.sql).not.toContain('array_position'); - expect(lowered.sql).toContain('ORDER BY "status" ASC'); - - const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); - expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed']); - expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3]); - }, - testTimeout, - ); - - it( - 'orders by reverse declaration order via DESC without a Postgres type error', - async () => { - const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) - .withProjection([ - ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), - ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), - ]) - .withOrderBy([ - OrderByItem.desc(ColumnRef.of('tickets', 'status')), - OrderByItem.asc(ColumnRef.of('tickets', 'id')), - ]); - - const lowered = createPostgresAdapter().lower(ast, { contract }); - - expect(lowered.sql).not.toContain('array_position'); - expect(lowered.sql).toContain('ORDER BY "tickets"."status" DESC'); - - const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); - expect(rows.rows.map((r) => r.status)).toEqual(['closed', 'closed', 'open', 'open']); - expect(rows.rows.map((r) => r.id)).toEqual([1, 3, 2, 4]); - }, - testTimeout, - ); - - it( - 'sorts a NULL status without a Postgres type error', - async () => { - await driver!.query(`INSERT INTO "tickets" (id, status) VALUES (5, NULL)`); - - const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) - .withProjection([ - ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), - ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), - ]) - .withOrderBy([ - OrderByItem.asc(ColumnRef.of('tickets', 'status')), - OrderByItem.asc(ColumnRef.of('tickets', 'id')), - ]); - - const lowered = createPostgresAdapter().lower(ast, { contract }); - - expect(lowered.sql).not.toContain('array_position'); - - const rows = await driver!.query<{ id: number; status: string | null }>(lowered.sql); - // Plain ORDER BY sorts NULLs last (ASC default), same as array_position would have. - expect(rows.rows.map((r) => r.status)).toEqual(['open', 'open', 'closed', 'closed', null]); - expect(rows.rows.map((r) => r.id)).toEqual([2, 4, 1, 3, 5]); - }, - testTimeout, - ); - - it( - 'DISTINCT ON a native-enum column matches its ORDER BY, both as a plain column', - async () => { - const ast = SelectAst.from(TableSource.named('tickets', undefined, 'public')) - .withProjection([ - ProjectionItem.of('id', ColumnRef.of('tickets', 'id')), - ProjectionItem.of('status', ColumnRef.of('tickets', 'status')), - ]) - .withDistinctOn([IdentifierRef.of('status')]) - .withOrderBy([ - OrderByItem.asc(IdentifierRef.of('status')), - OrderByItem.asc(IdentifierRef.of('id')), - ]); - - const lowered = createPostgresAdapter().lower(ast, { contract }); - - // Postgres requires ORDER BY to be prefixed by the DISTINCT ON - // expressions; array_position on one side and a bare column on the - // other would violate that. Both must render identically. - expect(lowered.sql).not.toContain('array_position'); - expect(lowered.sql).toContain('DISTINCT ON ("status")'); - expect(lowered.sql).toContain('ORDER BY "status" ASC, "id" ASC'); - - const rows = await driver!.query<{ id: number; status: string }>(lowered.sql); - // One row per distinct status, in declaration order (open, closed). - expect(rows.rows.map((r) => r.status)).toEqual(['open', 'closed']); - expect(rows.rows.map((r) => r.id)).toEqual([2, 1]); - }, - testTimeout, - ); -}); diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma new file mode 100644 index 000000000000..607ad76ed559 --- /dev/null +++ b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma @@ -0,0 +1,11 @@ +native_enum TicketStatus { + OPEN = "open" + CLOSED = "closed" +} + +model Ticket { + id Int @id + status pg.enum(TicketStatus) + + @@map("tickets") +} diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts new file mode 100644 index 000000000000..1d5e9dfc48e6 --- /dev/null +++ b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts @@ -0,0 +1,385 @@ +// ⚠️ GENERATED FILE - DO NOT EDIT +// This file is automatically generated by 'prisma contract emit'. +// To regenerate, run: prisma contract emit +import type { QueryOperationTypes as PgAdapterQueryOps } from '@internal/adapter-postgres/operation-types'; +import type { + Bit, + Char, + CodecTypes as PgTypes, + Interval, + JsonValue, + Numeric, + Time, + TimeString, + Timestamp, + TimestampString, + Timestamptz, + TimestamptzString, + Timetz, + VarBit, + Varchar, +} from '@internal/target-postgres/codec-types'; + +import type { ContractWithTypeMaps, TypeMaps as TypeMapsType } from '@internal/sql-contract/types'; +import type { + Contract as ContractType, + ExecutionHashBase, + NamespaceId, + ProfileHashBase, + StorageHashBase, +} from '@internal/contract/types'; + +export type StorageHash = + StorageHashBase<'433f99504a971a95d9bb05b86aa8ea9aa6addbdf924c14642fec3a792f2a540a'>; +export type ExecutionHash = ExecutionHashBase; +export type ProfileHash = + ProfileHashBase<'3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2'>; + +export type CodecTypes = PgTypes; +export type LaneCodecTypes = CodecTypes; +export type QueryOperationTypes = PgAdapterQueryOps; +export type AggregateTypes = { + readonly avg: { + readonly byCodec: { + readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/float4@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'sql/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + }; + }; + readonly avgDecimal: { + readonly byCodec: { + readonly 'pg/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'sql/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + }; + }; + readonly count: { + readonly byCodec: {}; + readonly withoutInput: { readonly output: 'pg/int8number@1'; readonly nullable: false }; + readonly anyInput: { readonly output: 'pg/int8number@1'; readonly nullable: false }; + }; + readonly countBigInt: { + readonly byCodec: {}; + readonly withoutInput: { readonly output: 'pg/int8@1'; readonly nullable: false }; + readonly anyInput: { readonly output: 'pg/int8@1'; readonly nullable: false }; + }; + readonly max: { + readonly byCodec: { + readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true }; + readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true }; + readonly 'pg/date-temporal@1': { + readonly output: 'pg/date-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true }; + readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true }; + readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true }; + readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true }; + readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true }; + readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true }; + readonly 'pg/time-temporal@1': { + readonly output: 'pg/time-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timestamp-string@1': { + readonly output: 'pg/timestamp-string@1'; + readonly nullable: true; + }; + readonly 'pg/timestamp-temporal@1': { + readonly output: 'pg/timestamp-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timestamptz-string@1': { + readonly output: 'pg/timestamptz-string@1'; + readonly nullable: true; + }; + readonly 'pg/timestamptz-temporal@1': { + readonly output: 'pg/timestamptz-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { + readonly output: 'pg/unboundedint@1'; + readonly nullable: true; + }; + readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true }; + readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true }; + readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true }; + readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true }; + readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + }; + }; + readonly min: { + readonly byCodec: { + readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true }; + readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true }; + readonly 'pg/date-temporal@1': { + readonly output: 'pg/date-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true }; + readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true }; + readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true }; + readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true }; + readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true }; + readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true }; + readonly 'pg/time-temporal@1': { + readonly output: 'pg/time-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timestamp-string@1': { + readonly output: 'pg/timestamp-string@1'; + readonly nullable: true; + }; + readonly 'pg/timestamp-temporal@1': { + readonly output: 'pg/timestamp-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timestamptz-string@1': { + readonly output: 'pg/timestamptz-string@1'; + readonly nullable: true; + }; + readonly 'pg/timestamptz-temporal@1': { + readonly output: 'pg/timestamptz-temporal@1'; + readonly nullable: true; + }; + readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { + readonly output: 'pg/unboundedint@1'; + readonly nullable: true; + }; + readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true }; + readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true }; + readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true }; + readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true }; + readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true }; + }; + }; + readonly sum: { + readonly byCodec: { + readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true }; + readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'pg/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true }; + readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { + readonly output: 'pg/unboundedint@1'; + readonly nullable: true; + }; + readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true }; + readonly 'sql/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true }; + }; + }; + readonly sumBigInt: { + readonly byCodec: { + readonly 'pg/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + readonly 'pg/int2@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + readonly 'pg/int4@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + readonly 'pg/int8@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true }; + readonly 'pg/int8number@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true }; + readonly 'pg/unboundedint@1': { + readonly output: 'pg/unboundedint@1'; + readonly nullable: true; + }; + readonly 'sql/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true }; + }; + }; +}; +type DefaultLiteralValue = CodecId extends keyof CodecTypes + ? Encoded extends CodecTypes[CodecId]['json'] + ? Encoded + : CodecTypes[CodecId]['json'] + : Encoded; + +export type FieldOutputTypes = { + readonly public: { + readonly Ticket: { + readonly id: CodecTypes['pg/int4@1']['output']; + readonly status: 'open' | 'closed'; + }; + }; +}; +export type FieldInputTypes = { + readonly public: { + readonly Ticket: { + readonly id: CodecTypes['pg/int4@1']['input']; + readonly status: 'open' | 'closed'; + }; + }; +}; +export type StorageColumnTypes = { + readonly public: { + readonly tickets: { + readonly id: CodecTypes['pg/int4@1']['output']; + readonly status: 'open' | 'closed'; + }; + }; +}; +export type StorageColumnInputTypes = { + readonly public: { + readonly tickets: { + readonly id: CodecTypes['pg/int4@1']['input']; + readonly status: 'open' | 'closed'; + }; + }; +}; +export type TypeMaps = TypeMapsType< + CodecTypes, + QueryOperationTypes, + FieldOutputTypes, + FieldInputTypes, + StorageColumnTypes, + StorageColumnInputTypes, + AggregateTypes +>; + +type ContractBase = Omit< + ContractType<{ + readonly namespaces: { + readonly public: { + readonly id: 'public'; + readonly kind: 'postgres-schema'; + readonly entries: { + readonly table: { + readonly tickets: { + columns: { + readonly id: { + readonly nativeType: 'int4'; + readonly codecId: 'pg/int4@1'; + readonly nullable: false; + }; + readonly status: { + readonly nativeType: 'TicketStatus'; + readonly codecId: 'pg/enum@1'; + readonly nullable: false; + readonly typeParams: { readonly typeName: 'TicketStatus' }; + }; + }; + primaryKey: { readonly columns: readonly ['id'] }; + uniques: readonly []; + indexes: readonly []; + foreignKeys: readonly []; + }; + }; + readonly valueSet: { + readonly TicketStatus: { + readonly kind: 'valueSet'; + readonly values: readonly ['open', 'closed']; + }; + }; + }; + }; + }; + readonly storageHash: StorageHash; + }>, + 'roots' | 'domain' +> & { + readonly target: 'postgres'; + readonly targetFamily: 'sql'; + readonly roots: { + readonly tickets: { readonly namespace: 'public' & NamespaceId; readonly model: 'Ticket' }; + }; + readonly domain: { + readonly namespaces: { + readonly public: { + readonly models: { + readonly Ticket: { + readonly fields: { + readonly id: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int4@1' }; + }; + readonly status: { + readonly nullable: false; + readonly type: { + readonly kind: 'scalar'; + readonly codecId: 'pg/enum@1'; + readonly typeParams: { readonly typeName: 'TicketStatus' }; + }; + }; + }; + readonly relations: Record; + readonly storage: { + readonly table: 'tickets'; + readonly namespaceId: 'public'; + readonly fields: { + readonly id: { readonly column: 'id' }; + readonly status: { readonly column: 'status' }; + }; + }; + }; + }; + }; + }; + }; + readonly capabilities: { + readonly postgres: { + readonly distinctOn: true; + readonly jsonAgg: true; + readonly lateral: true; + readonly limit: true; + readonly orderBy: true; + readonly returning: true; + }; + readonly sql: { + readonly checkConstraint: true; + readonly defaultInInsert: true; + readonly enums: true; + readonly lateral: true; + readonly returning: true; + readonly scalarList: true; + }; + }; + readonly extensions: {}; + readonly meta: {}; + + readonly profileHash: ProfileHash; +}; + +export type Contract = ContractWithTypeMaps; + +export type Namespaces = Contract['storage']['namespaces']; diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json new file mode 100644 index 000000000000..cf9350cab53f --- /dev/null +++ b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json @@ -0,0 +1,142 @@ +{ + "schemaVersion": "1", + "targetFamily": "sql", + "target": "postgres", + "profileHash": "3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2", + "roots": { + "tickets": { + "model": "Ticket", + "namespace": "public" + } + }, + "domain": { + "namespaces": { + "public": { + "models": { + "Ticket": { + "fields": { + "id": { + "nullable": false, + "type": { + "codecId": "pg/int4@1", + "kind": "scalar" + } + }, + "status": { + "nullable": false, + "type": { + "codecId": "pg/enum@1", + "kind": "scalar", + "typeParams": { + "typeName": "TicketStatus" + } + } + } + }, + "relations": {}, + "storage": { + "fields": { + "id": { + "column": "id" + }, + "status": { + "column": "status" + } + }, + "namespaceId": "public", + "table": "tickets" + } + } + } + } + } + }, + "storage": { + "namespaces": { + "public": { + "entries": { + "native_enum": { + "TicketStatus": { + "kind": "postgres-enum", + "members": [ + "open", + "closed" + ], + "typeName": "TicketStatus" + } + }, + "table": { + "tickets": { + "columns": { + "id": { + "codecId": "pg/int4@1", + "nativeType": "int4", + "nullable": false + }, + "status": { + "codecId": "pg/enum@1", + "nativeType": "TicketStatus", + "nullable": false, + "typeParams": { + "typeName": "TicketStatus" + }, + "valueSet": { + "entityKind": "valueSet", + "entityName": "TicketStatus", + "namespaceId": "public", + "plane": "storage" + } + } + }, + "foreignKeys": [], + "indexes": [], + "primaryKey": { + "columns": [ + "id" + ] + }, + "uniques": [] + } + }, + "valueSet": { + "TicketStatus": { + "kind": "valueSet", + "values": [ + "open", + "closed" + ] + } + } + }, + "id": "public", + "kind": "postgres-schema" + } + }, + "storageHash": "433f99504a971a95d9bb05b86aa8ea9aa6addbdf924c14642fec3a792f2a540a" + }, + "capabilities": { + "postgres": { + "distinctOn": true, + "jsonAgg": true, + "lateral": true, + "limit": true, + "orderBy": true, + "returning": true + }, + "sql": { + "checkConstraint": true, + "defaultInInsert": true, + "enums": true, + "lateral": true, + "returning": true, + "scalarList": true + } + }, + "extensions": {}, + "meta": {}, + "_generated": { + "warning": "⚠️ GENERATED FILE - DO NOT EDIT", + "message": "This file is automatically generated by \"prisma contract emit\".", + "regenerate": "To regenerate, run: prisma contract emit" + } +} \ No newline at end of file diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts new file mode 100644 index 000000000000..f197173e5b84 --- /dev/null +++ b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts @@ -0,0 +1,9 @@ +import { defineConfig as ormConfig } from '@internal/postgres/config'; +import { defineConfig } from '@prisma/cli-engine'; + +export default defineConfig({ + orm: ormConfig({ + contract: './contract.prisma', + output: 'generated', + }), +}); diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts new file mode 100644 index 000000000000..33c0133a0cb3 --- /dev/null +++ b/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts @@ -0,0 +1,63 @@ +import { describe, expect, it } from 'vitest'; +import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import type { Contract } from './_fixture/generated/contract'; +import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; + +function withIssue30163(fn: Parameters>[1]) { + return withPostgresPort({ contractJson }, fn); +} + +const tickets = [ + { id: 1, status: 'closed' }, + { id: 2, status: 'open' }, + { id: 3, status: 'closed' }, + { id: 4, status: 'open' }, +] as const; + +describe('ports/prisma/functional/issues-30163-enum-order-by', () => { + it( + 'orders ascending by a native enum column in declaration order', + () => + withIssue30163(async ({ db }) => { + await db.public.Ticket.createAndCount([...tickets]); + + const rows = await db.public.Ticket.orderBy([ + (ticket) => ticket.status.asc(), + (ticket) => ticket.id.asc(), + ]) + .select('id', 'status') + .all(); + + expect(rows).toEqual([ + { id: 2, status: 'open' }, + { id: 4, status: 'open' }, + { id: 1, status: 'closed' }, + { id: 3, status: 'closed' }, + ]); + }), + timeouts.spinUpPpgDev, + ); + + it( + 'orders descending by a native enum column in reverse declaration order', + () => + withIssue30163(async ({ db }) => { + await db.public.Ticket.createAndCount([...tickets]); + + const rows = await db.public.Ticket.orderBy([ + (ticket) => ticket.status.desc(), + (ticket) => ticket.id.asc(), + ]) + .select('id', 'status') + .all(); + + expect(rows).toEqual([ + { id: 1, status: 'closed' }, + { id: 3, status: 'closed' }, + { id: 2, status: 'open' }, + { id: 4, status: 'open' }, + ]); + }), + timeouts.spinUpPpgDev, + ); +}); From 029ddbfe1723b13a52ad2995a7b8001e01e5c4e8 Mon Sep 17 00:00:00 2001 From: Steven McClankerton Date: Wed, 2 Sep 2026 12:18:27 +0000 Subject: [PATCH 3/4] test(enum-order-by): move out of ports and cover distinctOn The suite is not a port of an upstream Prisma test, so it moves to its own directory. Adds a distinctOn case, which reaches the same rendering path through the public API. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UcqoY3CKfnubdZt5YQk2Rq Signed-off-by: Steven McClankerton --- .../_fixture/contract.prisma | 0 .../_fixture/generated/contract.d.ts | 0 .../_fixture/generated/contract.json | 0 .../_fixture/prisma.config.ts | 0 .../enum-order-by.test.ts} | 33 +++++++++++++++---- 5 files changed, 26 insertions(+), 7 deletions(-) rename test/integration/test/{ports/prisma/functional/issues-30163-enum-order-by => enum-order-by}/_fixture/contract.prisma (100%) rename test/integration/test/{ports/prisma/functional/issues-30163-enum-order-by => enum-order-by}/_fixture/generated/contract.d.ts (100%) rename test/integration/test/{ports/prisma/functional/issues-30163-enum-order-by => enum-order-by}/_fixture/generated/contract.json (100%) rename test/integration/test/{ports/prisma/functional/issues-30163-enum-order-by => enum-order-by}/_fixture/prisma.config.ts (100%) rename test/integration/test/{ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts => enum-order-by/enum-order-by.test.ts} (61%) diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma b/test/integration/test/enum-order-by/_fixture/contract.prisma similarity index 100% rename from test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/contract.prisma rename to test/integration/test/enum-order-by/_fixture/contract.prisma diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts b/test/integration/test/enum-order-by/_fixture/generated/contract.d.ts similarity index 100% rename from test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.d.ts rename to test/integration/test/enum-order-by/_fixture/generated/contract.d.ts diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json b/test/integration/test/enum-order-by/_fixture/generated/contract.json similarity index 100% rename from test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/generated/contract.json rename to test/integration/test/enum-order-by/_fixture/generated/contract.json diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts b/test/integration/test/enum-order-by/_fixture/prisma.config.ts similarity index 100% rename from test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/_fixture/prisma.config.ts rename to test/integration/test/enum-order-by/_fixture/prisma.config.ts diff --git a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts b/test/integration/test/enum-order-by/enum-order-by.test.ts similarity index 61% rename from test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts rename to test/integration/test/enum-order-by/enum-order-by.test.ts index 33c0133a0cb3..6b68b1af629e 100644 --- a/test/integration/test/ports/prisma/functional/issues-30163-enum-order-by/issues-30163-enum-order-by.test.ts +++ b/test/integration/test/enum-order-by/enum-order-by.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../ports/_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; -function withIssue30163(fn: Parameters>[1]) { +function withEnumOrderBy(fn: Parameters>[1]) { return withPostgresPort({ contractJson }, fn); } @@ -14,11 +14,11 @@ const tickets = [ { id: 4, status: 'open' }, ] as const; -describe('ports/prisma/functional/issues-30163-enum-order-by', () => { +describe('ordering by a native enum column', () => { it( - 'orders ascending by a native enum column in declaration order', + 'sorts ascending in declaration order', () => - withIssue30163(async ({ db }) => { + withEnumOrderBy(async ({ db }) => { await db.public.Ticket.createAndCount([...tickets]); const rows = await db.public.Ticket.orderBy([ @@ -39,9 +39,9 @@ describe('ports/prisma/functional/issues-30163-enum-order-by', () => { ); it( - 'orders descending by a native enum column in reverse declaration order', + 'sorts descending in reverse declaration order', () => - withIssue30163(async ({ db }) => { + withEnumOrderBy(async ({ db }) => { await db.public.Ticket.createAndCount([...tickets]); const rows = await db.public.Ticket.orderBy([ @@ -60,4 +60,23 @@ describe('ports/prisma/functional/issues-30163-enum-order-by', () => { }), timeouts.spinUpPpgDev, ); + + it( + 'distinctOn keeps one row per enum value', + () => + withEnumOrderBy(async ({ db }) => { + await db.public.Ticket.createAndCount([...tickets]); + + const rows = await db.public.Ticket.select('id', 'status') + .orderBy([(ticket) => ticket.status.asc(), (ticket) => ticket.id.asc()]) + .distinctOn('status') + .all(); + + expect(rows).toEqual([ + { id: 2, status: 'open' }, + { id: 1, status: 'closed' }, + ]); + }), + timeouts.spinUpPpgDev, + ); }); From f818d05c8145d9c847be3beeaf32886a5fe3abba Mon Sep 17 00:00:00 2001 From: Steven McClankerton Date: Wed, 2 Sep 2026 12:30:30 +0000 Subject: [PATCH 4/4] test: move the postgres and mongo harnesses out of ports The harnesses are generic, and two suites outside ports already reached into that directory for them. They move to test/_harness and every importer is repointed. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UcqoY3CKfnubdZt5YQk2Rq Signed-off-by: Steven McClankerton --- test/integration/test/{ports => }/_harness/mongo.ts | 0 test/integration/test/{ports => }/_harness/postgres.ts | 0 test/integration/test/enum-order-by/enum-order-by.test.ts | 2 +- .../test/ports/engines/queries/aggregation/avg/avg.test.ts | 2 +- .../ports/engines/queries/aggregation/count/count.test.ts | 2 +- .../engines/queries/aggregation/group_by/group_by.test.ts | 4 ++-- .../aggregation/group_by_having/group_by_having.test.ts | 2 +- .../many_count_relation/many_count_relation.test.ts | 2 +- .../test/ports/engines/queries/aggregation/max/max.test.ts | 2 +- .../test/ports/engines/queries/aggregation/min/min.test.ts | 2 +- .../test/ports/engines/queries/aggregation/sum/sum.test.ts | 2 +- .../uniq-count-relation/uniq-count-relation.test.ts | 2 +- .../ports/engines/queries/data_types/bigint/bigint.test.ts | 2 +- .../test/ports/engines/queries/data_types/bool/bool.test.ts | 2 +- .../test/ports/engines/queries/data_types/bytes/bytes.test.ts | 2 +- .../engines/queries/data_types/datetime/datetime.test.ts | 2 +- .../ports/engines/queries/data_types/decimal/decimal.test.ts | 2 +- .../engines/queries/data_types/enum_type/enum_type.test.ts | 4 ++-- .../test/ports/engines/queries/data_types/float/float.test.ts | 2 +- .../test/ports/engines/queries/data_types/int/int.test.ts | 2 +- .../test/ports/engines/queries/data_types/json/json.test.ts | 2 +- .../queries/data_types/native/postgres/postgres.test.ts | 2 +- .../ports/engines/queries/data_types/string/string.test.ts | 2 +- .../data_types/through_relation/through_relation.test.ts | 2 +- .../test/ports/engines/queries/distinct/distinct.test.ts | 2 +- .../queries/filters/bigint_filter/bigint_filter.test.ts | 2 +- .../engines/queries/filters/bytes_filter/bytes_filter.test.ts | 2 +- .../queries/filters/decimal_filter/decimal_filter.test.ts | 2 +- .../field_reference/bigint_filter/bigint_filter.test.ts | 2 +- .../filters/field_reference/bytes_filter/bytes_filter.test.ts | 2 +- .../field_reference/datetime_filter/datetime_filter.test.ts | 2 +- .../field_reference/decimal_filter/decimal_filter.test.ts | 2 +- .../filters/field_reference/enum_filter/enum_filter.test.ts | 2 +- .../queries/filters/field_reference/failure/failure.test.ts | 2 +- .../filters/field_reference/float_filter/float_filter.test.ts | 2 +- .../field_reference/having_filter/having_filter.test.ts | 2 +- .../filters/field_reference/int_filter/int_filter.test.ts | 2 +- .../filters/field_reference/json_filter/json_filter.test.ts | 2 +- .../field_reference/relation_filter/relation_filter.test.ts | 2 +- .../field_reference/string_filter/string_filter.test.ts | 2 +- .../filters/filter_regression/filter_regression.test.ts | 2 +- .../ports/engines/queries/filters/filters/filters.test.ts | 2 +- .../test/ports/engines/queries/filters/json/json.test.ts | 2 +- .../engines/queries/filters/list_filters/list_filters.test.ts | 2 +- .../queries/filters/many_relation/many_relation.test.ts | 2 +- .../filters/one2one_regression/one2one_regression.test.ts | 2 +- .../engines/queries/filters/one_relation/one_relation.test.ts | 2 +- .../prisma/functional/batching-bigint/batching-bigint.test.ts | 2 +- .../prisma/functional/batching-bytes/batching-bytes.test.ts | 2 +- .../ports/prisma/functional/blog-update/blog-update.test.ts | 2 +- .../ports/prisma/functional/bytes-upsert/bytes-upsert.test.ts | 2 +- .../prisma/functional/chunking-query/chunking-query.test.ts | 2 +- .../composites-list-create/composites-list-create.test.ts | 2 +- .../composites-list-createMany.test.ts | 2 +- .../composites-list-delete/composites-list-delete.test.ts | 2 +- .../composites-list-deleteMany.test.ts | 2 +- .../composites-list-findFirst.test.ts | 2 +- .../composites-list-findMany/composites-list-findMany.test.ts | 2 +- .../composites-list-update/composites-list-update.test.ts | 2 +- .../composites-list-updateMany.test.ts | 2 +- .../composites-list-upsert-create.test.ts | 2 +- .../composites-list-upsert-update.test.ts | 2 +- .../composites-object-create/composites-object-create.test.ts | 2 +- .../composites-object-createMany.test.ts | 2 +- .../composites-object-delete/composites-object-delete.test.ts | 2 +- .../composites-object-deleteMany.test.ts | 2 +- .../composites-object-findFirst.test.ts | 2 +- .../composites-object-findMany.test.ts | 2 +- .../composites-object-update/composites-object-update.test.ts | 2 +- .../composites-object-updateMany.test.ts | 2 +- .../composites-object-upsert-create.test.ts | 2 +- .../composites-object-upsert-update.test.ts | 2 +- .../composites-selection/composites-selection.test.ts | 2 +- .../create-default-date/create-default-date.test.ts | 2 +- .../ports/prisma/functional/decimal-list/decimal-list.test.ts | 2 +- .../functional/decimal-precision/decimal-precision.test.ts | 2 +- .../prisma/functional/decimal-scalar/decimal-scalar.test.ts | 2 +- .../default-selection/default-selection.mongo.test.ts | 2 +- .../functional/default-selection/default-selection.test.ts | 2 +- .../test/ports/prisma/functional/distinct/distinct.test.ts | 2 +- .../driver-adapters-team-orm-687-bytes.test.ts | 2 +- .../ports/prisma/functional/enum-array/enum-array.test.ts | 2 +- .../test/ports/prisma/functional/enums/enums.test.ts | 2 +- .../prisma/functional/extended-where/extended-where.test.ts | 4 ++-- .../filter-count-relations/filter-count-relations.test.ts | 2 +- .../find-unique-or-throw-batching.test.ts | 2 +- .../handle-int-overflow/handle-int-overflow.test.ts | 2 +- .../interactive-transactions/interactive-transactions.test.ts | 2 +- .../ports/prisma/functional/issues-11974/issues-11974.test.ts | 2 +- .../ports/prisma/functional/issues-12378/issues-12378.test.ts | 2 +- .../ports/prisma/functional/issues-12557/issues-12557.test.ts | 2 +- .../ports/prisma/functional/issues-12572/issues-12572.test.ts | 2 +- .../issues-13089-dollar-in-search.test.ts | 2 +- .../ports/prisma/functional/issues-14271/issues-14271.test.ts | 2 +- .../issues-14954-date-batch/issues-14954-date-batch.test.ts | 2 +- .../ports/prisma/functional/issues-15044/issues-15044.test.ts | 2 +- .../issues-16535-select-enum/issues-16535-select-enum.test.ts | 2 +- .../issues-17005-args-type-conflict.test.ts | 2 +- .../issues-17030-args-type-conflict.test.ts | 2 +- .../issues-18970-invalid-date.test.ts | 2 +- .../issues-20261-group-by-shortcut.test.ts | 2 +- .../issues-21352-id-does-not-exist.test.ts | 2 +- .../issues-21454-type-in-json.test.ts | 2 +- .../issues-21631-batching-in-transaction.test.ts | 2 +- .../issues-22098-column-does-not-exist.test.ts | 2 +- .../issues-22610-parallel-batch.test.ts | 2 +- .../issues-23201-non-ascii-comments.test.ts | 2 +- .../ports/prisma/functional/issues-23902/issues-23902.test.ts | 2 +- .../ports/prisma/functional/issues-25404/issues-25404.test.ts | 2 +- .../issues-27455-bytes-id/issues-27455-bytes-id.test.ts | 2 +- .../issues-27511-include-enum-array.test.ts | 2 +- .../issues-28151-broken-nested-set.test.ts | 2 +- .../issues-28192-pg-historical-dates.test.ts | 2 +- .../issues-28591-mapped-enums.test.ts | 2 +- .../issues-29010-bigint-precision-relation-joins.test.ts | 2 +- .../issues-29174-jsonb-parameter-regression.test.ts | 2 +- .../issues-29176-cursor-parameter-regression.test.ts | 2 +- .../issues-29254-query-plan-cache-mutation.test.ts | 2 +- .../issues-29267-uint8array-in-json.test.ts | 2 +- .../issues-29309-datetime-cursor.test.ts | 2 +- .../issues-29331-query-plan-cache-bloat.test.ts | 2 +- .../ports/prisma/functional/issues-4004/issues-4004.test.ts | 2 +- .../issues-5952-decimal-batch.test.ts | 2 +- .../ports/prisma/functional/json-fields/json-fields.test.ts | 2 +- .../ports/prisma/functional/large-floats/large-floats.test.ts | 2 +- .../legacy-aggregate-raw/legacy-aggregate-raw.test.ts | 2 +- .../legacy-aggregations/legacy-aggregations.test.ts | 2 +- .../ports/prisma/functional/legacy-json/legacy-json.test.ts | 2 +- .../legacy-malformed-id/legacy-malformed-id.test.ts | 2 +- .../legacy-optional-relation-filters.test.ts | 2 +- .../prisma/functional/methods-count/methods-count.test.ts | 2 +- .../functional/methods-createMany/methods-createMany.test.ts | 2 +- .../methods-createManyAndReturn.test.ts | 2 +- .../methods-findFirstOrThrow/methods-findFirstOrThrow.test.ts | 2 +- .../methods-findUniqueOrThrow.test.ts | 2 +- .../methods-updateManyAndReturn.test.ts | 2 +- .../methods-upsert-native-atomic.test.ts | 2 +- .../methods-upsert-simple/methods-upsert-simple.test.ts | 2 +- .../mixed-string-uuid-datetime-list-inputs.test.ts | 2 +- .../ports/prisma/functional/multi-schema/multi-schema.test.ts | 2 +- .../prisma/functional/multiple-types/multiple-types.test.ts | 2 +- .../optimistic-concurrency-control.test.ts | 2 +- .../referential-actions-set-default-1to1.test.ts | 2 +- .../referential-actions-set-default-1ton.test.ts | 2 +- .../relation-mode-17255-mixed-actions.test.ts | 2 +- .../relation-mode-17255-same-actions.test.ts | 2 +- .../relation-mode-gh-1-to-1/relation-mode-gh-1-to-1.test.ts | 2 +- .../relation-mode-gh-1-to-n/relation-mode-gh-1-to-n.test.ts | 2 +- .../prisma/functional/relation-mode-gh-m-to-n/_shared.ts | 2 +- .../prisma/functional/relation-mode-gh-m-to-n/create.test.ts | 2 +- .../prisma/functional/relation-mode-gh-m-to-n/delete.test.ts | 2 +- .../prisma/functional/relation-mode-gh-m-to-n/update.test.ts | 2 +- .../temporal-defaults/temporal-defaults.integration.test.ts | 2 +- 153 files changed, 154 insertions(+), 154 deletions(-) rename test/integration/test/{ports => }/_harness/mongo.ts (100%) rename test/integration/test/{ports => }/_harness/postgres.ts (100%) diff --git a/test/integration/test/ports/_harness/mongo.ts b/test/integration/test/_harness/mongo.ts similarity index 100% rename from test/integration/test/ports/_harness/mongo.ts rename to test/integration/test/_harness/mongo.ts diff --git a/test/integration/test/ports/_harness/postgres.ts b/test/integration/test/_harness/postgres.ts similarity index 100% rename from test/integration/test/ports/_harness/postgres.ts rename to test/integration/test/_harness/postgres.ts diff --git a/test/integration/test/enum-order-by/enum-order-by.test.ts b/test/integration/test/enum-order-by/enum-order-by.test.ts index 6b68b1af629e..5af7b205949d 100644 --- a/test/integration/test/enum-order-by/enum-order-by.test.ts +++ b/test/integration/test/enum-order-by/enum-order-by.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../ports/_harness/postgres'; +import { timeouts, withPostgresPort } from '../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/aggregation/avg/avg.test.ts b/test/integration/test/ports/engines/queries/aggregation/avg/avg.test.ts index a4ba486f0102..02db8a970752 100644 --- a/test/integration/test/ports/engines/queries/aggregation/avg/avg.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/avg/avg.test.ts @@ -1,6 +1,6 @@ import type { Numeric } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as DecimalContract } from './_fixture/decimal/generated/contract'; import decimalContractJson from './_fixture/decimal/generated/contract.json' with { type: 'json' }; import type { Contract as NumericContract } from './_fixture/numeric/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/aggregation/count/count.test.ts b/test/integration/test/ports/engines/queries/aggregation/count/count.test.ts index 685cb8a8b98a..239d85f21623 100644 --- a/test/integration/test/ports/engines/queries/aggregation/count/count.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/count/count.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/aggregation/group_by/group_by.test.ts b/test/integration/test/ports/engines/queries/aggregation/group_by/group_by.test.ts index 097f4e4e9f1f..3850c361d931 100644 --- a/test/integration/test/ports/engines/queries/aggregation/group_by/group_by.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/group_by/group_by.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as MainContract } from './_fixture/main/generated/contract'; import mainContractJson from './_fixture/main/generated/contract.json' with { type: 'json' }; import type { Contract as Regression21789Contract } from './_fixture/regression-21789/generated/contract'; @@ -7,7 +7,7 @@ import regression21789ContractJson from './_fixture/regression-21789/generated/c type: 'json', }; -type MainContext = import('../../../../_harness/postgres').PortContext; +type MainContext = import('../../../../../_harness/postgres').PortContext; type MainClient = MainContext['client']; type MainDb = MainContext['db']; diff --git a/test/integration/test/ports/engines/queries/aggregation/group_by_having/group_by_having.test.ts b/test/integration/test/ports/engines/queries/aggregation/group_by_having/group_by_having.test.ts index 7c16c8716e8e..4160658e2637 100644 --- a/test/integration/test/ports/engines/queries/aggregation/group_by_having/group_by_having.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/group_by_having/group_by_having.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CommonContract } from './_fixture/common/generated/contract'; import commonContractJson from './_fixture/common/generated/contract.json' with { type: 'json' }; import type { Contract as DecimalContract } from './_fixture/decimal/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/aggregation/many_count_relation/many_count_relation.test.ts b/test/integration/test/ports/engines/queries/aggregation/many_count_relation/many_count_relation.test.ts index 119034dbdff2..2938abc8282e 100644 --- a/test/integration/test/ports/engines/queries/aggregation/many_count_relation/many_count_relation.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/many_count_relation/many_count_relation.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CompoundContract } from './_fixture/compound/generated/contract'; import compoundContractJson from './_fixture/compound/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/engines/queries/aggregation/max/max.test.ts b/test/integration/test/ports/engines/queries/aggregation/max/max.test.ts index 7420d72f108e..e981263adaff 100644 --- a/test/integration/test/ports/engines/queries/aggregation/max/max.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/max/max.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CommonContract } from './_fixture/common/generated/contract'; import commonContractJson from './_fixture/common/generated/contract.json' with { type: 'json' }; import type { Contract as DecimalContract } from './_fixture/decimal/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/aggregation/min/min.test.ts b/test/integration/test/ports/engines/queries/aggregation/min/min.test.ts index ea6772f1ceed..b9bddf9bf7f4 100644 --- a/test/integration/test/ports/engines/queries/aggregation/min/min.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/min/min.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CommonContract } from './_fixture/common/generated/contract'; import commonContractJson from './_fixture/common/generated/contract.json' with { type: 'json' }; import type { Contract as DecimalContract } from './_fixture/decimal/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/aggregation/sum/sum.test.ts b/test/integration/test/ports/engines/queries/aggregation/sum/sum.test.ts index fa5f57178495..6943c9329c63 100644 --- a/test/integration/test/ports/engines/queries/aggregation/sum/sum.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/sum/sum.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as DecimalContract, FieldInputTypes as DecimalFieldInputTypes, diff --git a/test/integration/test/ports/engines/queries/aggregation/uniq-count-relation/uniq-count-relation.test.ts b/test/integration/test/ports/engines/queries/aggregation/uniq-count-relation/uniq-count-relation.test.ts index cba01b2e35be..ad8042e47f7e 100644 --- a/test/integration/test/ports/engines/queries/aggregation/uniq-count-relation/uniq-count-relation.test.ts +++ b/test/integration/test/ports/engines/queries/aggregation/uniq-count-relation/uniq-count-relation.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as BaseContract } from './_fixture/base/generated/contract'; import baseContractJson from './_fixture/base/generated/contract.json' with { type: 'json' }; import type { Contract as NestedContract } from './_fixture/nested/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/data_types/bigint/bigint.test.ts b/test/integration/test/ports/engines/queries/data_types/bigint/bigint.test.ts index 898c65d7bc57..39286e7fda0c 100644 --- a/test/integration/test/ports/engines/queries/data_types/bigint/bigint.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/bigint/bigint.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/bool/bool.test.ts b/test/integration/test/ports/engines/queries/data_types/bool/bool.test.ts index b60144326323..f20e56d7f3b3 100644 --- a/test/integration/test/ports/engines/queries/data_types/bool/bool.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/bool/bool.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/bytes/bytes.test.ts b/test/integration/test/ports/engines/queries/data_types/bytes/bytes.test.ts index fde184588775..c6a7b9d48e62 100644 --- a/test/integration/test/ports/engines/queries/data_types/bytes/bytes.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/bytes/bytes.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as RelationContract } from './_fixture/relations/generated/contract'; import relationContractJson from './_fixture/relations/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/engines/queries/data_types/datetime/datetime.test.ts b/test/integration/test/ports/engines/queries/data_types/datetime/datetime.test.ts index d56c28cc670a..5a43ff1eaa2d 100644 --- a/test/integration/test/ports/engines/queries/data_types/datetime/datetime.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/datetime/datetime.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/decimal/decimal.test.ts b/test/integration/test/ports/engines/queries/data_types/decimal/decimal.test.ts index ad2b7e1d6813..2d238ce23e09 100644 --- a/test/integration/test/ports/engines/queries/data_types/decimal/decimal.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/decimal/decimal.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/enum_type/enum_type.test.ts b/test/integration/test/ports/engines/queries/data_types/enum_type/enum_type.test.ts index 171f0ed65a0a..c34b377749a6 100644 --- a/test/integration/test/ports/engines/queries/data_types/enum_type/enum_type.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/enum_type/enum_type.test.ts @@ -1,8 +1,8 @@ import { defineContract, enumType, field, member, model } from '@internal/mongo/contract-builder'; import { MongoFieldFilter } from '@internal/mongo-query-ast/execution'; import { describe, expect, it } from 'vitest'; -import { timeouts as mongoTimeouts, withMongoPort } from '../../../../_harness/mongo'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts as mongoTimeouts, withMongoPort } from '../../../../../_harness/mongo'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as PostgresContract } from './_fixture/postgres/generated/contract'; import postgresContractJson from './_fixture/postgres/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/engines/queries/data_types/float/float.test.ts b/test/integration/test/ports/engines/queries/data_types/float/float.test.ts index 23ff9a785517..5190cc45eb37 100644 --- a/test/integration/test/ports/engines/queries/data_types/float/float.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/float/float.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/int/int.test.ts b/test/integration/test/ports/engines/queries/data_types/int/int.test.ts index 2b42bb49aef7..d4a2af21bf8a 100644 --- a/test/integration/test/ports/engines/queries/data_types/int/int.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/int/int.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/json/json.test.ts b/test/integration/test/ports/engines/queries/data_types/json/json.test.ts index 12430bdee1a2..5c31b627343f 100644 --- a/test/integration/test/ports/engines/queries/data_types/json/json.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/json/json.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as ScalarContract } from './_fixture/scalar/generated/contract'; import scalarContractJson from './_fixture/scalar/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/native/postgres/postgres.test.ts b/test/integration/test/ports/engines/queries/data_types/native/postgres/postgres.test.ts index e2c926ce8153..ddc53f63e263 100644 --- a/test/integration/test/ports/engines/queries/data_types/native/postgres/postgres.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/native/postgres/postgres.test.ts @@ -1,6 +1,6 @@ import type { Bit, Char, VarBit, Varchar } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract } from './_fixture/other/generated/contract'; import contractJson from './_fixture/other/generated/contract.json' with { type: 'json' }; import type { Contract as StringContract } from './_fixture/string/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/data_types/string/string.test.ts b/test/integration/test/ports/engines/queries/data_types/string/string.test.ts index 8fb7cd6bd577..8b2593142e49 100644 --- a/test/integration/test/ports/engines/queries/data_types/string/string.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/string/string.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/data_types/through_relation/through_relation.test.ts b/test/integration/test/ports/engines/queries/data_types/through_relation/through_relation.test.ts index 72c27aaaceac..bd08fb426384 100644 --- a/test/integration/test/ports/engines/queries/data_types/through_relation/through_relation.test.ts +++ b/test/integration/test/ports/engines/queries/data_types/through_relation/through_relation.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CommonContract } from './_fixture/common/generated/contract'; import commonContractJson from './_fixture/common/generated/contract.json' with { type: 'json' }; import type { Contract as DecimalContract } from './_fixture/decimal/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/distinct/distinct.test.ts b/test/integration/test/ports/engines/queries/distinct/distinct.test.ts index 04049d055dc6..7a57b3f365a3 100644 --- a/test/integration/test/ports/engines/queries/distinct/distinct.test.ts +++ b/test/integration/test/ports/engines/queries/distinct/distinct.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/bigint_filter/bigint_filter.test.ts b/test/integration/test/ports/engines/queries/filters/bigint_filter/bigint_filter.test.ts index fe5e3447cd70..65ce4755f30d 100644 --- a/test/integration/test/ports/engines/queries/filters/bigint_filter/bigint_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/bigint_filter/bigint_filter.test.ts @@ -1,6 +1,6 @@ import { and, not } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/bytes_filter/bytes_filter.test.ts b/test/integration/test/ports/engines/queries/filters/bytes_filter/bytes_filter.test.ts index 4234fbeaf3df..a277c8b73b99 100644 --- a/test/integration/test/ports/engines/queries/filters/bytes_filter/bytes_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/bytes_filter/bytes_filter.test.ts @@ -1,6 +1,6 @@ import { and, not } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/decimal_filter/decimal_filter.test.ts b/test/integration/test/ports/engines/queries/filters/decimal_filter/decimal_filter.test.ts index c2240002e873..5b2722c41c46 100644 --- a/test/integration/test/ports/engines/queries/filters/decimal_filter/decimal_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/decimal_filter/decimal_filter.test.ts @@ -1,7 +1,7 @@ import { and, not } from '@internal/sql-orm-client'; import type { Numeric } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/bigint_filter/bigint_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/bigint_filter/bigint_filter.test.ts index 863ff99d3c82..ada34cfba32b 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/bigint_filter/bigint_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/bigint_filter/bigint_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/bytes_filter/bytes_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/bytes_filter/bytes_filter.test.ts index 5bddcead37cb..9c9fc3052b5e 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/bytes_filter/bytes_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/bytes_filter/bytes_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/datetime_filter/datetime_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/datetime_filter/datetime_filter.test.ts index 1c7867ff5cf9..722a07f97f82 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/datetime_filter/datetime_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/datetime_filter/datetime_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/decimal_filter/decimal_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/decimal_filter/decimal_filter.test.ts index 835a8b0ce7e5..bb76a3a3e294 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/decimal_filter/decimal_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/decimal_filter/decimal_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/decimal-list/generated/contract'; import listContractJson from '../_fixture/decimal-list/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/enum_filter/enum_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/enum_filter/enum_filter.test.ts index 3432e07c5424..fd0790ba4ebc 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/enum_filter/enum_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/enum_filter/enum_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { ColumnRef } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract } from '../_fixture/enum/generated/contract'; import contractJson from '../_fixture/enum/generated/contract.json' with { type: 'json' }; import { referencedScalarInList } from '../postgres-list-field-reference'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/failure/failure.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/failure/failure.test.ts index ecaf66f6d38d..fec8c77e7643 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/failure/failure.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/failure/failure.test.ts @@ -1,6 +1,6 @@ import { AggregateExpr, BinaryExpr, ColumnRef } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as CommonContract } from './_fixture/common/generated/contract'; import commonContractJson from './_fixture/common/generated/contract.json' with { type: 'json' }; import type { Contract as DefaultContract } from './_fixture/default/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/float_filter/float_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/float_filter/float_filter.test.ts index 193d4e91763d..e5af61bc0911 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/float_filter/float_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/float_filter/float_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/having_filter/having_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/having_filter/having_filter.test.ts index 625abb8a0fcb..eba927934c97 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/having_filter/having_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/having_filter/having_filter.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/int_filter/int_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/int_filter/int_filter.test.ts index 7f7cebcc4a25..f8e91a39ab72 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/int_filter/int_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/int_filter/int_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/json_filter/json_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/json_filter/json_filter.test.ts index c8d8457b66b7..bb3f9ca6c828 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/json_filter/json_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/json_filter/json_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import { referencedListHasEvery, referencedListHasScalar, diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/relation_filter/relation_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/relation_filter/relation_filter.test.ts index 32acb346c137..37d39d1f9111 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/relation_filter/relation_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/relation_filter/relation_filter.test.ts @@ -1,6 +1,6 @@ import { BinaryExpr, ColumnRef } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import { referencedListHasEvery, referencedListHasSome, diff --git a/test/integration/test/ports/engines/queries/filters/field_reference/string_filter/string_filter.test.ts b/test/integration/test/ports/engines/queries/filters/field_reference/string_filter/string_filter.test.ts index 2b364f06bd37..0d6d5b262e81 100644 --- a/test/integration/test/ports/engines/queries/filters/field_reference/string_filter/string_filter.test.ts +++ b/test/integration/test/ports/engines/queries/filters/field_reference/string_filter/string_filter.test.ts @@ -1,7 +1,7 @@ import type { AnyExpression } from '@internal/sql-relational-core/ast'; import { BinaryExpr, ColumnRef, NotExpr } from '@internal/sql-relational-core/ast'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../../_harness/postgres'; import type { Contract as ListContract } from '../_fixture/list/generated/contract'; import listContractJson from '../_fixture/list/generated/contract.json' with { type: 'json' }; import type { Contract as MixedContract } from '../_fixture/mixed/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/filter_regression/filter_regression.test.ts b/test/integration/test/ports/engines/queries/filters/filter_regression/filter_regression.test.ts index 581fe3607736..17c033be2888 100644 --- a/test/integration/test/ports/engines/queries/filters/filter_regression/filter_regression.test.ts +++ b/test/integration/test/ports/engines/queries/filters/filter_regression/filter_regression.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as CompoundContract } from './_fixture/compound-one-to-many/generated/contract'; import compoundContractJson from './_fixture/compound-one-to-many/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/engines/queries/filters/filters/filters.test.ts b/test/integration/test/ports/engines/queries/filters/filters/filters.test.ts index 6c3cee065ded..6cd4ecb2f829 100644 --- a/test/integration/test/ports/engines/queries/filters/filters/filters.test.ts +++ b/test/integration/test/ports/engines/queries/filters/filters/filters.test.ts @@ -1,6 +1,6 @@ import { and, not, or } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/json/json.test.ts b/test/integration/test/ports/engines/queries/filters/json/json.test.ts index b4420d4c594e..28cd94d554f2 100644 --- a/test/integration/test/ports/engines/queries/filters/json/json.test.ts +++ b/test/integration/test/ports/engines/queries/filters/json/json.test.ts @@ -1,6 +1,6 @@ import { and } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/optional/generated/contract'; import contractJson from './_fixture/optional/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/list_filters/list_filters.test.ts b/test/integration/test/ports/engines/queries/filters/list_filters/list_filters.test.ts index 713ec7eebffb..c48000c88d7e 100644 --- a/test/integration/test/ports/engines/queries/filters/list_filters/list_filters.test.ts +++ b/test/integration/test/ports/engines/queries/filters/list_filters/list_filters.test.ts @@ -1,6 +1,6 @@ import { not } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as BaseContract } from './_fixture/base/generated/contract'; import baseContractJson from './_fixture/base/generated/contract.json' with { type: 'json' }; import type { diff --git a/test/integration/test/ports/engines/queries/filters/many_relation/many_relation.test.ts b/test/integration/test/ports/engines/queries/filters/many_relation/many_relation.test.ts index 4176a812da38..c8682711e482 100644 --- a/test/integration/test/ports/engines/queries/filters/many_relation/many_relation.test.ts +++ b/test/integration/test/ports/engines/queries/filters/many_relation/many_relation.test.ts @@ -1,6 +1,6 @@ import { and } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as Contract25103 } from './_fixture/25103/generated/contract'; import contract25103Json from './_fixture/25103/generated/contract.json' with { type: 'json' }; import type { Contract as L2ToOneContract } from './_fixture/l2-to-one/generated/contract'; diff --git a/test/integration/test/ports/engines/queries/filters/one2one_regression/one2one_regression.test.ts b/test/integration/test/ports/engines/queries/filters/one2one_regression/one2one_regression.test.ts index cb8afe280f07..1e9f275dbf16 100644 --- a/test/integration/test/ports/engines/queries/filters/one2one_regression/one2one_regression.test.ts +++ b/test/integration/test/ports/engines/queries/filters/one2one_regression/one2one_regression.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/engines/queries/filters/one_relation/one_relation.test.ts b/test/integration/test/ports/engines/queries/filters/one_relation/one_relation.test.ts index f269a722e6ba..a9ce58e3fb8c 100644 --- a/test/integration/test/ports/engines/queries/filters/one_relation/one_relation.test.ts +++ b/test/integration/test/ports/engines/queries/filters/one_relation/one_relation.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../../_harness/postgres'; import type { Contract as Contract21356 } from './_fixture/21356/generated/contract'; import contract21356Json from './_fixture/21356/generated/contract.json' with { type: 'json' }; import type { Contract as Contract21366 } from './_fixture/21366/generated/contract'; diff --git a/test/integration/test/ports/prisma/functional/batching-bigint/batching-bigint.test.ts b/test/integration/test/ports/prisma/functional/batching-bigint/batching-bigint.test.ts index a194b225bf5d..293004c42568 100644 --- a/test/integration/test/ports/prisma/functional/batching-bigint/batching-bigint.test.ts +++ b/test/integration/test/ports/prisma/functional/batching-bigint/batching-bigint.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/batching-bytes/batching-bytes.test.ts b/test/integration/test/ports/prisma/functional/batching-bytes/batching-bytes.test.ts index 65511f6434c6..61fdb3b0c89b 100644 --- a/test/integration/test/ports/prisma/functional/batching-bytes/batching-bytes.test.ts +++ b/test/integration/test/ports/prisma/functional/batching-bytes/batching-bytes.test.ts @@ -1,6 +1,6 @@ import { randomBytes } from 'node:crypto'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/blog-update/blog-update.test.ts b/test/integration/test/ports/prisma/functional/blog-update/blog-update.test.ts index de66d9ef7e34..7f5cb9d703fd 100644 --- a/test/integration/test/ports/prisma/functional/blog-update/blog-update.test.ts +++ b/test/integration/test/ports/prisma/functional/blog-update/blog-update.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/bytes-upsert/bytes-upsert.test.ts b/test/integration/test/ports/prisma/functional/bytes-upsert/bytes-upsert.test.ts index 0b9fd27a3b49..0bc4333f7d2b 100644 --- a/test/integration/test/ports/prisma/functional/bytes-upsert/bytes-upsert.test.ts +++ b/test/integration/test/ports/prisma/functional/bytes-upsert/bytes-upsert.test.ts @@ -1,6 +1,6 @@ import { randomBytes } from 'node:crypto'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/chunking-query/chunking-query.test.ts b/test/integration/test/ports/prisma/functional/chunking-query/chunking-query.test.ts index 0f0cb65f7ab4..5cea02d14869 100644 --- a/test/integration/test/ports/prisma/functional/chunking-query/chunking-query.test.ts +++ b/test/integration/test/ports/prisma/functional/chunking-query/chunking-query.test.ts @@ -1,6 +1,6 @@ import { or } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-create/composites-list-create.test.ts b/test/integration/test/ports/prisma/functional/composites-list-create/composites-list-create.test.ts index 7dd72b7f23a3..500043d16055 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-create/composites-list-create.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-create/composites-list-create.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-createMany/composites-list-createMany.test.ts b/test/integration/test/ports/prisma/functional/composites-list-createMany/composites-list-createMany.test.ts index 0c61aa13c0e5..25d87cc9d212 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-createMany/composites-list-createMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-createMany/composites-list-createMany.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-delete/composites-list-delete.test.ts b/test/integration/test/ports/prisma/functional/composites-list-delete/composites-list-delete.test.ts index 34f1eb6ba262..b9ad01ccf45d 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-delete/composites-list-delete.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-delete/composites-list-delete.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-deleteMany/composites-list-deleteMany.test.ts b/test/integration/test/ports/prisma/functional/composites-list-deleteMany/composites-list-deleteMany.test.ts index 216d83b252ea..a93243ae37ed 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-deleteMany/composites-list-deleteMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-deleteMany/composites-list-deleteMany.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-findFirst/composites-list-findFirst.test.ts b/test/integration/test/ports/prisma/functional/composites-list-findFirst/composites-list-findFirst.test.ts index 4aec032312ec..2bf1f6f8ffc0 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-findFirst/composites-list-findFirst.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-findFirst/composites-list-findFirst.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-findMany/composites-list-findMany.test.ts b/test/integration/test/ports/prisma/functional/composites-list-findMany/composites-list-findMany.test.ts index 9b58c603415a..474d91806f55 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-findMany/composites-list-findMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-findMany/composites-list-findMany.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-update/composites-list-update.test.ts b/test/integration/test/ports/prisma/functional/composites-list-update/composites-list-update.test.ts index bbd5cd274200..c452f842f8bd 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-update/composites-list-update.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-update/composites-list-update.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-updateMany/composites-list-updateMany.test.ts b/test/integration/test/ports/prisma/functional/composites-list-updateMany/composites-list-updateMany.test.ts index 7eb34d000496..27c14645e7f9 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-updateMany/composites-list-updateMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-updateMany/composites-list-updateMany.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-upsert-create/composites-list-upsert-create.test.ts b/test/integration/test/ports/prisma/functional/composites-list-upsert-create/composites-list-upsert-create.test.ts index dc903c23fb89..6af6d88c6fb9 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-upsert-create/composites-list-upsert-create.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-upsert-create/composites-list-upsert-create.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-list-upsert-update/composites-list-upsert-update.test.ts b/test/integration/test/ports/prisma/functional/composites-list-upsert-update/composites-list-upsert-update.test.ts index 592ee7544db0..32e522e8ab89 100644 --- a/test/integration/test/ports/prisma/functional/composites-list-upsert-update/composites-list-upsert-update.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-list-upsert-update/composites-list-upsert-update.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-create/composites-object-create.test.ts b/test/integration/test/ports/prisma/functional/composites-object-create/composites-object-create.test.ts index 12f3378e524b..eee33d9ffef0 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-create/composites-object-create.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-create/composites-object-create.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-createMany/composites-object-createMany.test.ts b/test/integration/test/ports/prisma/functional/composites-object-createMany/composites-object-createMany.test.ts index 7e191d07d472..f045d8232c78 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-createMany/composites-object-createMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-createMany/composites-object-createMany.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-delete/composites-object-delete.test.ts b/test/integration/test/ports/prisma/functional/composites-object-delete/composites-object-delete.test.ts index 87e3adfff40d..0ab95441952f 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-delete/composites-object-delete.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-delete/composites-object-delete.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-deleteMany/composites-object-deleteMany.test.ts b/test/integration/test/ports/prisma/functional/composites-object-deleteMany/composites-object-deleteMany.test.ts index 2b7b1b35257d..a160f687297a 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-deleteMany/composites-object-deleteMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-deleteMany/composites-object-deleteMany.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-findFirst/composites-object-findFirst.test.ts b/test/integration/test/ports/prisma/functional/composites-object-findFirst/composites-object-findFirst.test.ts index 7d4979090a2a..a834f78afce8 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-findFirst/composites-object-findFirst.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-findFirst/composites-object-findFirst.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-findMany/composites-object-findMany.test.ts b/test/integration/test/ports/prisma/functional/composites-object-findMany/composites-object-findMany.test.ts index 904f59ab78a9..617bc0b05f5b 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-findMany/composites-object-findMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-findMany/composites-object-findMany.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-update/composites-object-update.test.ts b/test/integration/test/ports/prisma/functional/composites-object-update/composites-object-update.test.ts index f525d9a3c509..24b79082b195 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-update/composites-object-update.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-update/composites-object-update.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-updateMany/composites-object-updateMany.test.ts b/test/integration/test/ports/prisma/functional/composites-object-updateMany/composites-object-updateMany.test.ts index 39953522c1df..839a7cbfc247 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-updateMany/composites-object-updateMany.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-updateMany/composites-object-updateMany.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-upsert-create/composites-object-upsert-create.test.ts b/test/integration/test/ports/prisma/functional/composites-object-upsert-create/composites-object-upsert-create.test.ts index e54f25cc4e75..c865d096db71 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-upsert-create/composites-object-upsert-create.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-upsert-create/composites-object-upsert-create.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-object-upsert-update/composites-object-upsert-update.test.ts b/test/integration/test/ports/prisma/functional/composites-object-upsert-update/composites-object-upsert-update.test.ts index b9b13da7685d..7a5e2aecd1ac 100644 --- a/test/integration/test/ports/prisma/functional/composites-object-upsert-update/composites-object-upsert-update.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-object-upsert-update/composites-object-upsert-update.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/composites-selection/composites-selection.test.ts b/test/integration/test/ports/prisma/functional/composites-selection/composites-selection.test.ts index ae23338f0de6..41554f3b460d 100644 --- a/test/integration/test/ports/prisma/functional/composites-selection/composites-selection.test.ts +++ b/test/integration/test/ports/prisma/functional/composites-selection/composites-selection.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract, FieldOutputTypes, ProfileOutput } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/create-default-date/create-default-date.test.ts b/test/integration/test/ports/prisma/functional/create-default-date/create-default-date.test.ts index 3019ce362ce7..5ac08a3e301a 100644 --- a/test/integration/test/ports/prisma/functional/create-default-date/create-default-date.test.ts +++ b/test/integration/test/ports/prisma/functional/create-default-date/create-default-date.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/decimal-list/decimal-list.test.ts b/test/integration/test/ports/prisma/functional/decimal-list/decimal-list.test.ts index 782cdd1333cc..68ce5a247a8c 100644 --- a/test/integration/test/ports/prisma/functional/decimal-list/decimal-list.test.ts +++ b/test/integration/test/ports/prisma/functional/decimal-list/decimal-list.test.ts @@ -1,6 +1,6 @@ import type { Numeric } from '@internal/target-postgres/codec-types'; import { describe, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/decimal-precision/decimal-precision.test.ts b/test/integration/test/ports/prisma/functional/decimal-precision/decimal-precision.test.ts index 37945d12a9be..c5d4ce0f8f19 100644 --- a/test/integration/test/ports/prisma/functional/decimal-precision/decimal-precision.test.ts +++ b/test/integration/test/ports/prisma/functional/decimal-precision/decimal-precision.test.ts @@ -1,6 +1,6 @@ import type { Numeric } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/decimal-scalar/decimal-scalar.test.ts b/test/integration/test/ports/prisma/functional/decimal-scalar/decimal-scalar.test.ts index 4c0eb9a08570..40ecb434fc46 100644 --- a/test/integration/test/ports/prisma/functional/decimal-scalar/decimal-scalar.test.ts +++ b/test/integration/test/ports/prisma/functional/decimal-scalar/decimal-scalar.test.ts @@ -1,6 +1,6 @@ import { and } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/default-selection/default-selection.mongo.test.ts b/test/integration/test/ports/prisma/functional/default-selection/default-selection.mongo.test.ts index 9052593d615f..676a63be6f49 100644 --- a/test/integration/test/ports/prisma/functional/default-selection/default-selection.mongo.test.ts +++ b/test/integration/test/ports/prisma/functional/default-selection/default-selection.mongo.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/mongo/generated/contract'; import contractJson from './_fixture/mongo/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/default-selection/default-selection.test.ts b/test/integration/test/ports/prisma/functional/default-selection/default-selection.test.ts index 86548a185b13..aa3e0175b8ba 100644 --- a/test/integration/test/ports/prisma/functional/default-selection/default-selection.test.ts +++ b/test/integration/test/ports/prisma/functional/default-selection/default-selection.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/distinct/distinct.test.ts b/test/integration/test/ports/prisma/functional/distinct/distinct.test.ts index d876055ed697..004268b5d242 100644 --- a/test/integration/test/ports/prisma/functional/distinct/distinct.test.ts +++ b/test/integration/test/ports/prisma/functional/distinct/distinct.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/driver-adapters-team-orm-687-bytes/driver-adapters-team-orm-687-bytes.test.ts b/test/integration/test/ports/prisma/functional/driver-adapters-team-orm-687-bytes/driver-adapters-team-orm-687-bytes.test.ts index 117b997e6430..af858c1e2c53 100644 --- a/test/integration/test/ports/prisma/functional/driver-adapters-team-orm-687-bytes/driver-adapters-team-orm-687-bytes.test.ts +++ b/test/integration/test/ports/prisma/functional/driver-adapters-team-orm-687-bytes/driver-adapters-team-orm-687-bytes.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/enum-array/enum-array.test.ts b/test/integration/test/ports/prisma/functional/enum-array/enum-array.test.ts index 36f325dba8aa..23fe7606a0a9 100644 --- a/test/integration/test/ports/prisma/functional/enum-array/enum-array.test.ts +++ b/test/integration/test/ports/prisma/functional/enum-array/enum-array.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/enums/enums.test.ts b/test/integration/test/ports/prisma/functional/enums/enums.test.ts index 5e21ca807a85..067c35056ccf 100644 --- a/test/integration/test/ports/prisma/functional/enums/enums.test.ts +++ b/test/integration/test/ports/prisma/functional/enums/enums.test.ts @@ -1,6 +1,6 @@ import mongo from '@internal/mongo/runtime'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/extended-where/extended-where.test.ts b/test/integration/test/ports/prisma/functional/extended-where/extended-where.test.ts index ccecf518d436..b6ba15b89356 100644 --- a/test/integration/test/ports/prisma/functional/extended-where/extended-where.test.ts +++ b/test/integration/test/ports/prisma/functional/extended-where/extended-where.test.ts @@ -1,6 +1,6 @@ import { randomBytes } from 'node:crypto'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; @@ -35,7 +35,7 @@ import contractJson from './_fixture/generated/contract.json' with { type: 'json // criterion accepts a single unique key, not a compound { id, referralId } // (see non-ported.md). -type DbHandle = import('../../../_harness/postgres').PortContext['db']; +type DbHandle = import('../../../../_harness/postgres').PortContext['db']; async function createTestData(db: DbHandle) { const userId = randomBytes(12).toString('hex'); diff --git a/test/integration/test/ports/prisma/functional/filter-count-relations/filter-count-relations.test.ts b/test/integration/test/ports/prisma/functional/filter-count-relations/filter-count-relations.test.ts index 97880949db62..3f7e49a7fa4b 100644 --- a/test/integration/test/ports/prisma/functional/filter-count-relations/filter-count-relations.test.ts +++ b/test/integration/test/ports/prisma/functional/filter-count-relations/filter-count-relations.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/find-unique-or-throw-batching/find-unique-or-throw-batching.test.ts b/test/integration/test/ports/prisma/functional/find-unique-or-throw-batching/find-unique-or-throw-batching.test.ts index 266246cc12ac..7c0a749dd3f8 100644 --- a/test/integration/test/ports/prisma/functional/find-unique-or-throw-batching/find-unique-or-throw-batching.test.ts +++ b/test/integration/test/ports/prisma/functional/find-unique-or-throw-batching/find-unique-or-throw-batching.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/handle-int-overflow/handle-int-overflow.test.ts b/test/integration/test/ports/prisma/functional/handle-int-overflow/handle-int-overflow.test.ts index 9fa19a905f3e..df6bfb4dfb13 100644 --- a/test/integration/test/ports/prisma/functional/handle-int-overflow/handle-int-overflow.test.ts +++ b/test/integration/test/ports/prisma/functional/handle-int-overflow/handle-int-overflow.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/interactive-transactions/interactive-transactions.test.ts b/test/integration/test/ports/prisma/functional/interactive-transactions/interactive-transactions.test.ts index 6e387e421296..226b2ae7b91b 100644 --- a/test/integration/test/ports/prisma/functional/interactive-transactions/interactive-transactions.test.ts +++ b/test/integration/test/ports/prisma/functional/interactive-transactions/interactive-transactions.test.ts @@ -1,6 +1,6 @@ import { SqlQueryError, UNIQUE_VIOLATION_SQLSTATE } from '@internal/sql-errors'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-11974/issues-11974.test.ts b/test/integration/test/ports/prisma/functional/issues-11974/issues-11974.test.ts index 2bd58beb069f..8bd46cb2164c 100644 --- a/test/integration/test/ports/prisma/functional/issues-11974/issues-11974.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-11974/issues-11974.test.ts @@ -1,6 +1,6 @@ import { and } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-12378/issues-12378.test.ts b/test/integration/test/ports/prisma/functional/issues-12378/issues-12378.test.ts index 75c9afe88645..c6f8e47b14d9 100644 --- a/test/integration/test/ports/prisma/functional/issues-12378/issues-12378.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-12378/issues-12378.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-12557/issues-12557.test.ts b/test/integration/test/ports/prisma/functional/issues-12557/issues-12557.test.ts index 362312b7bfe3..f9c1311fca9d 100644 --- a/test/integration/test/ports/prisma/functional/issues-12557/issues-12557.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-12557/issues-12557.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-12572/issues-12572.test.ts b/test/integration/test/ports/prisma/functional/issues-12572/issues-12572.test.ts index 0021edd8f781..c99fad82430c 100644 --- a/test/integration/test/ports/prisma/functional/issues-12572/issues-12572.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-12572/issues-12572.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-13089-dollar-in-search/issues-13089-dollar-in-search.test.ts b/test/integration/test/ports/prisma/functional/issues-13089-dollar-in-search/issues-13089-dollar-in-search.test.ts index 27b65c393f0c..42635a6cd665 100644 --- a/test/integration/test/ports/prisma/functional/issues-13089-dollar-in-search/issues-13089-dollar-in-search.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-13089-dollar-in-search/issues-13089-dollar-in-search.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-14271/issues-14271.test.ts b/test/integration/test/ports/prisma/functional/issues-14271/issues-14271.test.ts index cc4b11371797..8722bd5ddd63 100644 --- a/test/integration/test/ports/prisma/functional/issues-14271/issues-14271.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-14271/issues-14271.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-14954-date-batch/issues-14954-date-batch.test.ts b/test/integration/test/ports/prisma/functional/issues-14954-date-batch/issues-14954-date-batch.test.ts index 6f64648d53d2..f6a1b94c4193 100644 --- a/test/integration/test/ports/prisma/functional/issues-14954-date-batch/issues-14954-date-batch.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-14954-date-batch/issues-14954-date-batch.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-15044/issues-15044.test.ts b/test/integration/test/ports/prisma/functional/issues-15044/issues-15044.test.ts index b81a1b690c7f..674cffb8f202 100644 --- a/test/integration/test/ports/prisma/functional/issues-15044/issues-15044.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-15044/issues-15044.test.ts @@ -1,6 +1,6 @@ import { randomUUID } from 'node:crypto'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-16535-select-enum/issues-16535-select-enum.test.ts b/test/integration/test/ports/prisma/functional/issues-16535-select-enum/issues-16535-select-enum.test.ts index cade6f2caee0..a01df4723b4a 100644 --- a/test/integration/test/ports/prisma/functional/issues-16535-select-enum/issues-16535-select-enum.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-16535-select-enum/issues-16535-select-enum.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-17005-args-type-conflict/issues-17005-args-type-conflict.test.ts b/test/integration/test/ports/prisma/functional/issues-17005-args-type-conflict/issues-17005-args-type-conflict.test.ts index 100577f0bbfa..5b12d9e4bc5d 100644 --- a/test/integration/test/ports/prisma/functional/issues-17005-args-type-conflict/issues-17005-args-type-conflict.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-17005-args-type-conflict/issues-17005-args-type-conflict.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-17030-args-type-conflict/issues-17030-args-type-conflict.test.ts b/test/integration/test/ports/prisma/functional/issues-17030-args-type-conflict/issues-17030-args-type-conflict.test.ts index fed8bf93248c..1c6f40e6a848 100644 --- a/test/integration/test/ports/prisma/functional/issues-17030-args-type-conflict/issues-17030-args-type-conflict.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-17030-args-type-conflict/issues-17030-args-type-conflict.test.ts @@ -1,5 +1,5 @@ import { describe, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-18970-invalid-date/issues-18970-invalid-date.test.ts b/test/integration/test/ports/prisma/functional/issues-18970-invalid-date/issues-18970-invalid-date.test.ts index 7db45ca03c3f..a1fb5babfd27 100644 --- a/test/integration/test/ports/prisma/functional/issues-18970-invalid-date/issues-18970-invalid-date.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-18970-invalid-date/issues-18970-invalid-date.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-20261-group-by-shortcut/issues-20261-group-by-shortcut.test.ts b/test/integration/test/ports/prisma/functional/issues-20261-group-by-shortcut/issues-20261-group-by-shortcut.test.ts index 0eea9b015e77..f917b0232c6e 100644 --- a/test/integration/test/ports/prisma/functional/issues-20261-group-by-shortcut/issues-20261-group-by-shortcut.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-20261-group-by-shortcut/issues-20261-group-by-shortcut.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-21352-id-does-not-exist/issues-21352-id-does-not-exist.test.ts b/test/integration/test/ports/prisma/functional/issues-21352-id-does-not-exist/issues-21352-id-does-not-exist.test.ts index 3330385d11eb..caa8ea74350e 100644 --- a/test/integration/test/ports/prisma/functional/issues-21352-id-does-not-exist/issues-21352-id-does-not-exist.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-21352-id-does-not-exist/issues-21352-id-does-not-exist.test.ts @@ -1,5 +1,5 @@ import { describe, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-21454-type-in-json/issues-21454-type-in-json.test.ts b/test/integration/test/ports/prisma/functional/issues-21454-type-in-json/issues-21454-type-in-json.test.ts index 2486b705ec68..a555e34d6f96 100644 --- a/test/integration/test/ports/prisma/functional/issues-21454-type-in-json/issues-21454-type-in-json.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-21454-type-in-json/issues-21454-type-in-json.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-21631-batching-in-transaction/issues-21631-batching-in-transaction.test.ts b/test/integration/test/ports/prisma/functional/issues-21631-batching-in-transaction/issues-21631-batching-in-transaction.test.ts index 1cdd9fc325f9..0b6d7799e1b8 100644 --- a/test/integration/test/ports/prisma/functional/issues-21631-batching-in-transaction/issues-21631-batching-in-transaction.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-21631-batching-in-transaction/issues-21631-batching-in-transaction.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-22098-column-does-not-exist/issues-22098-column-does-not-exist.test.ts b/test/integration/test/ports/prisma/functional/issues-22098-column-does-not-exist/issues-22098-column-does-not-exist.test.ts index 407839884634..81d336b733d7 100644 --- a/test/integration/test/ports/prisma/functional/issues-22098-column-does-not-exist/issues-22098-column-does-not-exist.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-22098-column-does-not-exist/issues-22098-column-does-not-exist.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-22610-parallel-batch/issues-22610-parallel-batch.test.ts b/test/integration/test/ports/prisma/functional/issues-22610-parallel-batch/issues-22610-parallel-batch.test.ts index ca10cb7ca97f..65b5bc5b689e 100644 --- a/test/integration/test/ports/prisma/functional/issues-22610-parallel-batch/issues-22610-parallel-batch.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-22610-parallel-batch/issues-22610-parallel-batch.test.ts @@ -1,6 +1,6 @@ import { or } from '@internal/sql-orm-client'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-23201-non-ascii-comments/issues-23201-non-ascii-comments.test.ts b/test/integration/test/ports/prisma/functional/issues-23201-non-ascii-comments/issues-23201-non-ascii-comments.test.ts index 7dd17679e4c7..e3dee6e80cd0 100644 --- a/test/integration/test/ports/prisma/functional/issues-23201-non-ascii-comments/issues-23201-non-ascii-comments.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-23201-non-ascii-comments/issues-23201-non-ascii-comments.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-23902/issues-23902.test.ts b/test/integration/test/ports/prisma/functional/issues-23902/issues-23902.test.ts index 54a248c14993..51677117576a 100644 --- a/test/integration/test/ports/prisma/functional/issues-23902/issues-23902.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-23902/issues-23902.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-25404/issues-25404.test.ts b/test/integration/test/ports/prisma/functional/issues-25404/issues-25404.test.ts index 68a779106e02..4fd06bacf83f 100644 --- a/test/integration/test/ports/prisma/functional/issues-25404/issues-25404.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-25404/issues-25404.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-27455-bytes-id/issues-27455-bytes-id.test.ts b/test/integration/test/ports/prisma/functional/issues-27455-bytes-id/issues-27455-bytes-id.test.ts index 71124c0982d4..6beb44b8ec40 100644 --- a/test/integration/test/ports/prisma/functional/issues-27455-bytes-id/issues-27455-bytes-id.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-27455-bytes-id/issues-27455-bytes-id.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-27511-include-enum-array/issues-27511-include-enum-array.test.ts b/test/integration/test/ports/prisma/functional/issues-27511-include-enum-array/issues-27511-include-enum-array.test.ts index 1b7ab407560e..367cef8dd5e5 100644 --- a/test/integration/test/ports/prisma/functional/issues-27511-include-enum-array/issues-27511-include-enum-array.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-27511-include-enum-array/issues-27511-include-enum-array.test.ts @@ -1,7 +1,7 @@ import type { Varchar } from '@internal/target-postgres/codec-types'; import { blindCast } from '@internal/utils/casts'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-28151-broken-nested-set/issues-28151-broken-nested-set.test.ts b/test/integration/test/ports/prisma/functional/issues-28151-broken-nested-set/issues-28151-broken-nested-set.test.ts index 4f7eabbbf1aa..5f9b304d5f3d 100644 --- a/test/integration/test/ports/prisma/functional/issues-28151-broken-nested-set/issues-28151-broken-nested-set.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-28151-broken-nested-set/issues-28151-broken-nested-set.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-28192-pg-historical-dates/issues-28192-pg-historical-dates.test.ts b/test/integration/test/ports/prisma/functional/issues-28192-pg-historical-dates/issues-28192-pg-historical-dates.test.ts index 4d471f55b009..61231b700c35 100644 --- a/test/integration/test/ports/prisma/functional/issues-28192-pg-historical-dates/issues-28192-pg-historical-dates.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-28192-pg-historical-dates/issues-28192-pg-historical-dates.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-28591-mapped-enums/issues-28591-mapped-enums.test.ts b/test/integration/test/ports/prisma/functional/issues-28591-mapped-enums/issues-28591-mapped-enums.test.ts index 9ce591771306..26359cf66dda 100644 --- a/test/integration/test/ports/prisma/functional/issues-28591-mapped-enums/issues-28591-mapped-enums.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-28591-mapped-enums/issues-28591-mapped-enums.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29010-bigint-precision-relation-joins/issues-29010-bigint-precision-relation-joins.test.ts b/test/integration/test/ports/prisma/functional/issues-29010-bigint-precision-relation-joins/issues-29010-bigint-precision-relation-joins.test.ts index c27eed32f15d..e653085c13a6 100644 --- a/test/integration/test/ports/prisma/functional/issues-29010-bigint-precision-relation-joins/issues-29010-bigint-precision-relation-joins.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29010-bigint-precision-relation-joins/issues-29010-bigint-precision-relation-joins.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29174-jsonb-parameter-regression/issues-29174-jsonb-parameter-regression.test.ts b/test/integration/test/ports/prisma/functional/issues-29174-jsonb-parameter-regression/issues-29174-jsonb-parameter-regression.test.ts index e11ada790a9e..b201cc9ae231 100644 --- a/test/integration/test/ports/prisma/functional/issues-29174-jsonb-parameter-regression/issues-29174-jsonb-parameter-regression.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29174-jsonb-parameter-regression/issues-29174-jsonb-parameter-regression.test.ts @@ -1,6 +1,6 @@ import type { JsonValue } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29176-cursor-parameter-regression/issues-29176-cursor-parameter-regression.test.ts b/test/integration/test/ports/prisma/functional/issues-29176-cursor-parameter-regression/issues-29176-cursor-parameter-regression.test.ts index f902bbe2f565..bda1f459ef03 100644 --- a/test/integration/test/ports/prisma/functional/issues-29176-cursor-parameter-regression/issues-29176-cursor-parameter-regression.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29176-cursor-parameter-regression/issues-29176-cursor-parameter-regression.test.ts @@ -1,6 +1,6 @@ import { randomUUID } from 'node:crypto'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29254-query-plan-cache-mutation/issues-29254-query-plan-cache-mutation.test.ts b/test/integration/test/ports/prisma/functional/issues-29254-query-plan-cache-mutation/issues-29254-query-plan-cache-mutation.test.ts index 7e2863a307c7..429ba3af1923 100644 --- a/test/integration/test/ports/prisma/functional/issues-29254-query-plan-cache-mutation/issues-29254-query-plan-cache-mutation.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29254-query-plan-cache-mutation/issues-29254-query-plan-cache-mutation.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29267-uint8array-in-json/issues-29267-uint8array-in-json.test.ts b/test/integration/test/ports/prisma/functional/issues-29267-uint8array-in-json/issues-29267-uint8array-in-json.test.ts index 12bb58844c21..61f3cd142310 100644 --- a/test/integration/test/ports/prisma/functional/issues-29267-uint8array-in-json/issues-29267-uint8array-in-json.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29267-uint8array-in-json/issues-29267-uint8array-in-json.test.ts @@ -1,6 +1,6 @@ import type { JsonValue } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29309-datetime-cursor/issues-29309-datetime-cursor.test.ts b/test/integration/test/ports/prisma/functional/issues-29309-datetime-cursor/issues-29309-datetime-cursor.test.ts index 83149dd16e78..41394e9efafc 100644 --- a/test/integration/test/ports/prisma/functional/issues-29309-datetime-cursor/issues-29309-datetime-cursor.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29309-datetime-cursor/issues-29309-datetime-cursor.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-29331-query-plan-cache-bloat/issues-29331-query-plan-cache-bloat.test.ts b/test/integration/test/ports/prisma/functional/issues-29331-query-plan-cache-bloat/issues-29331-query-plan-cache-bloat.test.ts index d102d2153278..f8a72409ffe8 100644 --- a/test/integration/test/ports/prisma/functional/issues-29331-query-plan-cache-bloat/issues-29331-query-plan-cache-bloat.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-29331-query-plan-cache-bloat/issues-29331-query-plan-cache-bloat.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-4004/issues-4004.test.ts b/test/integration/test/ports/prisma/functional/issues-4004/issues-4004.test.ts index a3689f4596d4..fa9da0a56e18 100644 --- a/test/integration/test/ports/prisma/functional/issues-4004/issues-4004.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-4004/issues-4004.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/issues-5952-decimal-batch/issues-5952-decimal-batch.test.ts b/test/integration/test/ports/prisma/functional/issues-5952-decimal-batch/issues-5952-decimal-batch.test.ts index f1606ae26973..4014e3cf0ba3 100644 --- a/test/integration/test/ports/prisma/functional/issues-5952-decimal-batch/issues-5952-decimal-batch.test.ts +++ b/test/integration/test/ports/prisma/functional/issues-5952-decimal-batch/issues-5952-decimal-batch.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/json-fields/json-fields.test.ts b/test/integration/test/ports/prisma/functional/json-fields/json-fields.test.ts index 3161832767f1..3700bbd158e0 100644 --- a/test/integration/test/ports/prisma/functional/json-fields/json-fields.test.ts +++ b/test/integration/test/ports/prisma/functional/json-fields/json-fields.test.ts @@ -1,6 +1,6 @@ import type { JsonValue } from '@internal/target-postgres/codec-types'; import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/large-floats/large-floats.test.ts b/test/integration/test/ports/prisma/functional/large-floats/large-floats.test.ts index 92ac16d2dfbe..3113292a23f8 100644 --- a/test/integration/test/ports/prisma/functional/large-floats/large-floats.test.ts +++ b/test/integration/test/ports/prisma/functional/large-floats/large-floats.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/legacy-aggregate-raw/legacy-aggregate-raw.test.ts b/test/integration/test/ports/prisma/functional/legacy-aggregate-raw/legacy-aggregate-raw.test.ts index 35126116efa3..1898327343fe 100644 --- a/test/integration/test/ports/prisma/functional/legacy-aggregate-raw/legacy-aggregate-raw.test.ts +++ b/test/integration/test/ports/prisma/functional/legacy-aggregate-raw/legacy-aggregate-raw.test.ts @@ -1,6 +1,6 @@ import mongo from '@internal/mongo/runtime'; import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/legacy-aggregations/legacy-aggregations.test.ts b/test/integration/test/ports/prisma/functional/legacy-aggregations/legacy-aggregations.test.ts index 6b9bf1fb15e6..8ef01967e840 100644 --- a/test/integration/test/ports/prisma/functional/legacy-aggregations/legacy-aggregations.test.ts +++ b/test/integration/test/ports/prisma/functional/legacy-aggregations/legacy-aggregations.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/legacy-json/legacy-json.test.ts b/test/integration/test/ports/prisma/functional/legacy-json/legacy-json.test.ts index bf9c57a6d714..00ac11ad4ecc 100644 --- a/test/integration/test/ports/prisma/functional/legacy-json/legacy-json.test.ts +++ b/test/integration/test/ports/prisma/functional/legacy-json/legacy-json.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/legacy-malformed-id/legacy-malformed-id.test.ts b/test/integration/test/ports/prisma/functional/legacy-malformed-id/legacy-malformed-id.test.ts index 9058bc1481d3..a7d9408396d6 100644 --- a/test/integration/test/ports/prisma/functional/legacy-malformed-id/legacy-malformed-id.test.ts +++ b/test/integration/test/ports/prisma/functional/legacy-malformed-id/legacy-malformed-id.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withMongoPort } from '../../../_harness/mongo'; +import { timeouts, withMongoPort } from '../../../../_harness/mongo'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/legacy-optional-relation-filters/legacy-optional-relation-filters.test.ts b/test/integration/test/ports/prisma/functional/legacy-optional-relation-filters/legacy-optional-relation-filters.test.ts index b6222612c6de..75ce64d263f0 100644 --- a/test/integration/test/ports/prisma/functional/legacy-optional-relation-filters/legacy-optional-relation-filters.test.ts +++ b/test/integration/test/ports/prisma/functional/legacy-optional-relation-filters/legacy-optional-relation-filters.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-count/methods-count.test.ts b/test/integration/test/ports/prisma/functional/methods-count/methods-count.test.ts index e7ed4fb9d32d..9d78c311808b 100644 --- a/test/integration/test/ports/prisma/functional/methods-count/methods-count.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-count/methods-count.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-createMany/methods-createMany.test.ts b/test/integration/test/ports/prisma/functional/methods-createMany/methods-createMany.test.ts index 467f9a23b0c9..aeeeec2dc1d7 100644 --- a/test/integration/test/ports/prisma/functional/methods-createMany/methods-createMany.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-createMany/methods-createMany.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-createManyAndReturn/methods-createManyAndReturn.test.ts b/test/integration/test/ports/prisma/functional/methods-createManyAndReturn/methods-createManyAndReturn.test.ts index 6fd4247e287b..f6b742c8b9ac 100644 --- a/test/integration/test/ports/prisma/functional/methods-createManyAndReturn/methods-createManyAndReturn.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-createManyAndReturn/methods-createManyAndReturn.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-findFirstOrThrow/methods-findFirstOrThrow.test.ts b/test/integration/test/ports/prisma/functional/methods-findFirstOrThrow/methods-findFirstOrThrow.test.ts index 22f6a5f73ecc..cd1ff5f4b6aa 100644 --- a/test/integration/test/ports/prisma/functional/methods-findFirstOrThrow/methods-findFirstOrThrow.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-findFirstOrThrow/methods-findFirstOrThrow.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-findUniqueOrThrow/methods-findUniqueOrThrow.test.ts b/test/integration/test/ports/prisma/functional/methods-findUniqueOrThrow/methods-findUniqueOrThrow.test.ts index 91c1763c72ad..2e56a58b6b39 100644 --- a/test/integration/test/ports/prisma/functional/methods-findUniqueOrThrow/methods-findUniqueOrThrow.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-findUniqueOrThrow/methods-findUniqueOrThrow.test.ts @@ -1,5 +1,5 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-updateManyAndReturn/methods-updateManyAndReturn.test.ts b/test/integration/test/ports/prisma/functional/methods-updateManyAndReturn/methods-updateManyAndReturn.test.ts index 0d68f40d6be8..f1514df014cc 100644 --- a/test/integration/test/ports/prisma/functional/methods-updateManyAndReturn/methods-updateManyAndReturn.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-updateManyAndReturn/methods-updateManyAndReturn.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-upsert-native-atomic/methods-upsert-native-atomic.test.ts b/test/integration/test/ports/prisma/functional/methods-upsert-native-atomic/methods-upsert-native-atomic.test.ts index b7ff5e2f38eb..6371442206a2 100644 --- a/test/integration/test/ports/prisma/functional/methods-upsert-native-atomic/methods-upsert-native-atomic.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-upsert-native-atomic/methods-upsert-native-atomic.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/methods-upsert-simple/methods-upsert-simple.test.ts b/test/integration/test/ports/prisma/functional/methods-upsert-simple/methods-upsert-simple.test.ts index 1762875227cc..30a648142140 100644 --- a/test/integration/test/ports/prisma/functional/methods-upsert-simple/methods-upsert-simple.test.ts +++ b/test/integration/test/ports/prisma/functional/methods-upsert-simple/methods-upsert-simple.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/mixed-string-uuid-datetime-list-inputs/mixed-string-uuid-datetime-list-inputs.test.ts b/test/integration/test/ports/prisma/functional/mixed-string-uuid-datetime-list-inputs/mixed-string-uuid-datetime-list-inputs.test.ts index 01340574254b..d215f89d4bc2 100644 --- a/test/integration/test/ports/prisma/functional/mixed-string-uuid-datetime-list-inputs/mixed-string-uuid-datetime-list-inputs.test.ts +++ b/test/integration/test/ports/prisma/functional/mixed-string-uuid-datetime-list-inputs/mixed-string-uuid-datetime-list-inputs.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/multi-schema/multi-schema.test.ts b/test/integration/test/ports/prisma/functional/multi-schema/multi-schema.test.ts index 0cff093107ac..d73fbb51fc42 100644 --- a/test/integration/test/ports/prisma/functional/multi-schema/multi-schema.test.ts +++ b/test/integration/test/ports/prisma/functional/multi-schema/multi-schema.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract as ContractDifferentNames } from './_fixture/different-names/generated/contract'; import contractDifferentNamesJson from './_fixture/different-names/generated/contract.json' with { type: 'json', diff --git a/test/integration/test/ports/prisma/functional/multiple-types/multiple-types.test.ts b/test/integration/test/ports/prisma/functional/multiple-types/multiple-types.test.ts index ebde4e6e50ea..7590292df760 100644 --- a/test/integration/test/ports/prisma/functional/multiple-types/multiple-types.test.ts +++ b/test/integration/test/ports/prisma/functional/multiple-types/multiple-types.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/optimistic-concurrency-control/optimistic-concurrency-control.test.ts b/test/integration/test/ports/prisma/functional/optimistic-concurrency-control/optimistic-concurrency-control.test.ts index bdf7c6f261b2..37685b9cfe19 100644 --- a/test/integration/test/ports/prisma/functional/optimistic-concurrency-control/optimistic-concurrency-control.test.ts +++ b/test/integration/test/ports/prisma/functional/optimistic-concurrency-control/optimistic-concurrency-control.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/referential-actions-set-default-1to1/referential-actions-set-default-1to1.test.ts b/test/integration/test/ports/prisma/functional/referential-actions-set-default-1to1/referential-actions-set-default-1to1.test.ts index e3f197e7b613..83bd91237c9c 100644 --- a/test/integration/test/ports/prisma/functional/referential-actions-set-default-1to1/referential-actions-set-default-1to1.test.ts +++ b/test/integration/test/ports/prisma/functional/referential-actions-set-default-1to1/referential-actions-set-default-1to1.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { type PortContext, timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { type PortContext, timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/referential-actions-set-default-1ton/referential-actions-set-default-1ton.test.ts b/test/integration/test/ports/prisma/functional/referential-actions-set-default-1ton/referential-actions-set-default-1ton.test.ts index 2ae6ecab81f7..4aa7c93c35b8 100644 --- a/test/integration/test/ports/prisma/functional/referential-actions-set-default-1ton/referential-actions-set-default-1ton.test.ts +++ b/test/integration/test/ports/prisma/functional/referential-actions-set-default-1ton/referential-actions-set-default-1ton.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { type PortContext, timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { type PortContext, timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/relation-mode-17255-mixed-actions/relation-mode-17255-mixed-actions.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-17255-mixed-actions/relation-mode-17255-mixed-actions.test.ts index 71acce56013a..4eea1e3cfe13 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-17255-mixed-actions/relation-mode-17255-mixed-actions.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-17255-mixed-actions/relation-mode-17255-mixed-actions.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/relation-mode-17255-same-actions/relation-mode-17255-same-actions.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-17255-same-actions/relation-mode-17255-same-actions.test.ts index b5ddea892e2f..05eadcf5c5f8 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-17255-same-actions/relation-mode-17255-same-actions.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-17255-same-actions/relation-mode-17255-same-actions.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' }; diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-1/relation-mode-gh-1-to-1.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-1/relation-mode-gh-1-to-1.test.ts index 012625d8df4f..80c2ebf46830 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-1/relation-mode-gh-1-to-1.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-1/relation-mode-gh-1-to-1.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { type PortContext, timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { type PortContext, timeouts, withPostgresPort } from '../../../../_harness/postgres'; import cascadeMapJson from './_fixture/cascade-map/generated/contract.json' with { type: 'json' }; // All variants share the same logical Contract shape (they differ only in the // storage-hash brand and in the FK referential actions carried by the runtime diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-n/relation-mode-gh-1-to-n.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-n/relation-mode-gh-1-to-n.test.ts index a554eea5a197..aa29a32d61d4 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-n/relation-mode-gh-1-to-n.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-1-to-n/relation-mode-gh-1-to-n.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { type PortContext, timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { type PortContext, timeouts, withPostgresPort } from '../../../../_harness/postgres'; import cascadeMapJson from './_fixture/cascade-map/generated/contract.json' with { type: 'json' }; // All variants share the same logical Contract shape (they differ only in the // storage-hash brand and the FK referential actions carried by the runtime diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/_shared.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/_shared.ts index 8b1fa3b2be49..b8c4d0f93195 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/_shared.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/_shared.ts @@ -1,4 +1,4 @@ -import type { PortContext } from '../../../_harness/postgres'; +import type { PortContext } from '../../../../_harness/postgres'; import type { Contract as RepresentativeContract } from './_fixture/default-nomap/generated/contract'; // Shared helpers for the relationMode-in-separate-gh-action m:n port. diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/create.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/create.test.ts index 5350a2767f64..9d8f36e2b03c 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/create.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/create.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import cascadeNoMapJson from './_fixture/cascade-nomap/generated/contract.json' with { type: 'json', }; diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/delete.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/delete.test.ts index c4cb5ecefd52..b811cc957bc8 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/delete.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/delete.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import cascadeNoMapJson from './_fixture/cascade-nomap/generated/contract.json' with { type: 'json', }; diff --git a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/update.test.ts b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/update.test.ts index acf6d3e79048..64383ac68e04 100644 --- a/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/update.test.ts +++ b/test/integration/test/ports/prisma/functional/relation-mode-gh-m-to-n/update.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../../../_harness/postgres'; +import { timeouts, withPostgresPort } from '../../../../_harness/postgres'; import cascadeNoMapJson from './_fixture/cascade-nomap/generated/contract.json' with { type: 'json', }; diff --git a/test/integration/test/temporal-defaults/temporal-defaults.integration.test.ts b/test/integration/test/temporal-defaults/temporal-defaults.integration.test.ts index 0f1d45d1cf63..e9016d83b744 100644 --- a/test/integration/test/temporal-defaults/temporal-defaults.integration.test.ts +++ b/test/integration/test/temporal-defaults/temporal-defaults.integration.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { timeouts, withPostgresPort } from '../ports/_harness/postgres'; +import { timeouts, withPostgresPort } from '../_harness/postgres'; import type { Contract } from './_fixture/generated/contract'; import contractJson from './_fixture/generated/contract.json' with { type: 'json' };