Home / Function/ createSetOperator() — drizzle-orm Function Reference

createSetOperator() — drizzle-orm Function Reference

Architecture documentation for the createSetOperator() function in select.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  80176d3e_5768_0e4e_96f9_efe44eac5f30["createSetOperator()"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6["select.ts"]
  80176d3e_5768_0e4e_96f9_efe44eac5f30 -->|defined in| beabf465_fa9a_6d7b_17f0_933ae73209d6
  style 80176d3e_5768_0e4e_96f9_efe44eac5f30 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/query-builders/select.ts lines 1160–1178

function createSetOperator(type: SetOperator, isAll: boolean): MySqlCreateSetOperatorFn {
	return (leftSelect, rightSelect, ...restSelects) => {
		const setOperators = [rightSelect, ...restSelects].map((select) => ({
			type,
			isAll,
			rightSelect: select as AnyMySqlSelect,
		}));

		for (const setOperator of setOperators) {
			if (!haveSameKeys((leftSelect as any).getSelectedFields(), setOperator.rightSelect.getSelectedFields())) {
				throw new Error(
					'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',
				);
			}
		}

		return (leftSelect as AnyMySqlSelect).addSetOperators(setOperators) as any;
	};
}

Domain

Subdomains

Frequently Asked Questions

What does createSetOperator() do?
createSetOperator() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/query-builders/select.ts.
Where is createSetOperator() defined?
createSetOperator() is defined in drizzle-orm/src/mysql-core/query-builders/select.ts at line 1160.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free