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

buildSetOperations() — drizzle-orm Function Reference

Architecture documentation for the buildSetOperations() function in dialect.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  b2ea6cdf_c2fc_2a55_86dc_57e47a8deb11["buildSetOperations()"]
  3977a3fd_2f08_73b1_4df4_3d0fd1858514["PgDialect"]
  b2ea6cdf_c2fc_2a55_86dc_57e47a8deb11 -->|defined in| 3977a3fd_2f08_73b1_4df4_3d0fd1858514
  9a7f35b1_0b1e_f3ac_68cb_233ef6bc00a0["buildSelectQuery()"]
  9a7f35b1_0b1e_f3ac_68cb_233ef6bc00a0 -->|calls| b2ea6cdf_c2fc_2a55_86dc_57e47a8deb11
  7b51df2c_3f9e_94f1_8b5a_2751ae5d0ed2["buildSetOperationQuery()"]
  b2ea6cdf_c2fc_2a55_86dc_57e47a8deb11 -->|calls| 7b51df2c_3f9e_94f1_8b5a_2751ae5d0ed2
  style b2ea6cdf_c2fc_2a55_86dc_57e47a8deb11 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/pg-core/dialect.ts lines 450–466

	buildSetOperations(leftSelect: SQL, setOperators: PgSelectConfig['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,
		);
	}

Domain

Subdomains

Called By

Frequently Asked Questions

What does buildSetOperations() do?
buildSetOperations() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/dialect.ts.
Where is buildSetOperations() defined?
buildSetOperations() is defined in drizzle-orm/src/pg-core/dialect.ts at line 450.
What does buildSetOperations() call?
buildSetOperations() calls 1 function(s): buildSetOperationQuery.
What calls buildSetOperations()?
buildSetOperations() is called by 1 function(s): buildSelectQuery.

Analyze Your Own Codebase

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

Try Supermodel Free