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

buildQueryFromSourceParams() — drizzle-orm Function Reference

Architecture documentation for the buildQueryFromSourceParams() function in sql.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae["buildQueryFromSourceParams()"]
  2361fb30_407d_7604_384a_a24acc5652f6["SQL"]
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae -->|defined in| 2361fb30_407d_7604_384a_a24acc5652f6
  254ea348_1614_ce5d_9d75_64a14048644e["toQuery()"]
  254ea348_1614_ce5d_9d75_64a14048644e -->|calls| f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae
  46489340_6e04_faec_9b9b_56050d0e0439["mapInlineParam()"]
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae -->|calls| 46489340_6e04_faec_9b9b_56050d0e0439
  b4091f2d_5572_5c68_00e5_0f033bc9bfd2["mergeQueries()"]
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae -->|calls| b4091f2d_5572_5c68_00e5_0f033bc9bfd2
  d6f243fd_6cbd_d4f3_d0bc_78f4860f53cb["join()"]
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae -->|calls| d6f243fd_6cbd_d4f3_d0bc_78f4860f53cb
  49992315_516c_12bd_ead2_bb2ee1c00096["isSQLWrapper()"]
  f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae -->|calls| 49992315_516c_12bd_ead2_bb2ee1c00096
  style f5a982b1_e6b9_5bf8_12b4_3d305d59c2ae fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/sql/sql.ts lines 148–300

	buildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {
		const config = Object.assign({}, _config, {
			inlineParams: _config.inlineParams || this.shouldInlineParams,
			paramStartIndex: _config.paramStartIndex || { value: 0 },
		});

		const {
			casing,
			escapeName,
			escapeParam,
			prepareTyping,
			inlineParams,
			paramStartIndex,
		} = config;

		return mergeQueries(chunks.map((chunk): QueryWithTypings => {
			if (is(chunk, StringChunk)) {
				return { sql: chunk.value.join(''), params: [] };
			}

			if (is(chunk, Name)) {
				return { sql: escapeName(chunk.value), params: [] };
			}

			if (chunk === undefined) {
				return { sql: '', params: [] };
			}

			if (Array.isArray(chunk)) {
				const result: SQLChunk[] = [new StringChunk('(')];
				for (const [i, p] of chunk.entries()) {
					result.push(p);
					if (i < chunk.length - 1) {
						result.push(new StringChunk(', '));
					}
				}
				result.push(new StringChunk(')'));
				return this.buildQueryFromSourceParams(result, config);
			}

			if (is(chunk, SQL)) {
				return this.buildQueryFromSourceParams(chunk.queryChunks, {
					...config,
					inlineParams: inlineParams || chunk.shouldInlineParams,
				});
			}

			if (is(chunk, Table)) {
				const schemaName = chunk[Table.Symbol.Schema];
				const tableName = chunk[Table.Symbol.Name];
				return {
					sql: schemaName === undefined || chunk[IsAlias]
						? escapeName(tableName)
						: escapeName(schemaName) + '.' + escapeName(tableName),
					params: [],
				};
			}

			if (is(chunk, Column)) {
				const columnName = casing.getColumnCasing(chunk);
				if (_config.invokeSource === 'indexes') {
					return { sql: escapeName(columnName), params: [] };
				}

				const schemaName = chunk.table[Table.Symbol.Schema];
				return {
					sql: chunk.table[IsAlias] || schemaName === undefined
						? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)
						: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'
							+ escapeName(columnName),
					params: [],
				};
			}

			if (is(chunk, View)) {
				const schemaName = chunk[ViewBaseConfig].schema;
				const viewName = chunk[ViewBaseConfig].name;
				return {
					sql: schemaName === undefined || chunk[ViewBaseConfig].isAlias
						? escapeName(viewName)
						: escapeName(schemaName) + '.' + escapeName(viewName),

Domain

Subdomains

Called By

Frequently Asked Questions

What does buildQueryFromSourceParams() do?
buildQueryFromSourceParams() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/sql/sql.ts.
Where is buildQueryFromSourceParams() defined?
buildQueryFromSourceParams() is defined in drizzle-orm/src/sql/sql.ts at line 148.
What does buildQueryFromSourceParams() call?
buildQueryFromSourceParams() calls 4 function(s): isSQLWrapper, join, mapInlineParam, mergeQueries.
What calls buildQueryFromSourceParams()?
buildQueryFromSourceParams() is called by 1 function(s): toQuery.

Analyze Your Own Codebase

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

Try Supermodel Free