drizzle-team/drizzle-orm · error · Error
Cannot pass undefined values to any set operator
Error message
Cannot pass undefined values to any set operator
What it means
Error "Cannot pass undefined values to any set operator" thrown in drizzle-team/drizzle-orm.
Source
Thrown at drizzle-orm/src/gel-core/dialect.ts:449
clauseSql.append(sql` skip locked`);
}
lockingClauseSql.append(clauseSql);
}
const finalQuery =
sql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${limitSql}${offsetSql}${lockingClauseSql}`;
if (setOperators.length > 0) {
return this.buildSetOperations(finalQuery, setOperators);
}
return finalQuery;
}
buildSetOperations(leftSelect: SQL, setOperators: GelSelectConfig['setOperators']): SQL {
const [setOperator, ...rest] = setOperators;
if (!setOperator) {
throw new Error('Cannot pass undefined values to any set operator');
}
if (rest.length === 0) {
return this.buildSetOperationQuery({ leftSelect, setOperator });
}
// Some recursive magic here
return this.buildSetOperations(
this.buildSetOperationQuery({ leftSelect, setOperator }),
rest,
);
}
buildSetOperationQuery({
leftSelect,
setOperator: { type, isAll, rightSelect, limit, orderBy, offset },
}: { leftSelect: SQL; setOperator: GelSelectConfig['setOperators'][number] }): SQL {
const leftChunk = sql`(${leftSelect.getSQL()}) `;View on GitHub (pinned to b7862528fd)
Solutions
- Filter out undefined values before passing them to union/intersect/except, e.g. provide a fallback with coalesce() or skip the undefined operand.
- Ensure every query passed to the set operator is a defined select builder.
When it happens
Trigger: Calling union/intersect/except (Gel dialect) with an undefined argument, e.g. a conditionally built query that evaluated to undefined.
Common situations: Conditionally spread set-operator operands; helper returning undefined instead of a query; filtered array passed to unionAll.
AI-assisted analysis of drizzle-team/drizzle-orm@b7862528fd (2026-08-03).
Data as JSON: /data/errors/5ae8142539f96727.json.
Report an issue: GitHub.