diff --git a/packages/effect-drizzle-sqlite/src/sqlite-core/effect/select.ts b/packages/effect-drizzle-sqlite/src/sqlite-core/effect/select.ts index 0cfde54331d..0127fb09ae8 100644 --- a/packages/effect-drizzle-sqlite/src/sqlite-core/effect/select.ts +++ b/packages/effect-drizzle-sqlite/src/sqlite-core/effect/select.ts @@ -44,11 +44,12 @@ export type SQLiteEffectSelectPrepare< TEffectHKT > +// Explicit variance prevents comparisons from recursively scanning Drizzle's conditional select types. export class SQLiteEffectSelectBuilder< - TSelection extends SelectedFields | undefined, - TRunResult, - TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, - TBuilderMode extends "db" | "qb" = "db", + out TSelection extends SelectedFields | undefined, + out TRunResult, + out TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, + out TBuilderMode extends "db" | "qb" = "db", > { static readonly [entityKind]: string = "SQLiteEffectSelectBuilder" diff --git a/packages/effect-drizzle-sqlite/src/sqlite-core/effect/session.ts b/packages/effect-drizzle-sqlite/src/sqlite-core/effect/session.ts index 15a56f2ca7d..ea83efe0a24 100644 --- a/packages/effect-drizzle-sqlite/src/sqlite-core/effect/session.ts +++ b/packages/effect-drizzle-sqlite/src/sqlite-core/effect/session.ts @@ -303,10 +303,11 @@ export class SQLiteEffectPreparedQuery< } } +// Explicit variance prevents comparisons from recursively scanning the full Drizzle query-builder graph. export abstract class SQLiteEffectSession< - TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, - TRunResult = unknown, - TRelations extends AnyRelations = EmptyRelations, + out TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, + out TRunResult = unknown, + out TRelations extends AnyRelations = EmptyRelations, > { static readonly [entityKind]: string = "SQLiteEffectSession" @@ -404,9 +405,9 @@ export abstract class SQLiteEffectSession< } export abstract class SQLiteEffectTransaction< - TEffectHKT extends QueryEffectHKTBase, - TRunResult, - TRelations extends AnyRelations = EmptyRelations, + out TEffectHKT extends QueryEffectHKTBase, + out TRunResult, + out TRelations extends AnyRelations = EmptyRelations, > extends SQLiteEffectDatabase { static override readonly [entityKind]: string = "SQLiteEffectTransaction"