Home / File/ view.ts — drizzle-orm Source File

view.ts — drizzle-orm Source File

Architecture documentation for view.ts, a typescript file in the drizzle-orm codebase. 15 imports, 0 dependents.

File typescript DrizzleORM DatabaseDrivers 15 imports 4 classes

Entity Profile

Dependency Diagram

graph LR
  00013fdd_c67a_b05e_780e_20cc1f0af66b["view.ts"]
  c2ee5a75_b49e_5e5a_3712_97b1b67b4a7b["index.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> c2ee5a75_b49e_5e5a_3712_97b1b67b4a7b
  85b4eb2c_30da_7542_712e_b0bce0c3c73d["query-builder.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 85b4eb2c_30da_7542_712e_b0bce0c3c73d
  f16aff3b_55c4_db12_2433_7a70fdaa6add["QueryBuilder"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> f16aff3b_55c4_db12_2433_7a70fdaa6add
  e6e44a09_c7fd_f1ce_bd2f_ab45da60f424["select.types.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> e6e44a09_c7fd_f1ce_bd2f_ab45da60f424
  3c5f95cc_22b6_3d0d_d9be_3e274450e9e7["table.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 3c5f95cc_22b6_3d0d_d9be_3e274450e9e7
  ca403d8b_456e_229e_aeb7_788857edacf0["singlestoreTable"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> ca403d8b_456e_229e_aeb7_788857edacf0
  9252840f_7c2e_7f45_6a46_e7832505bc47["view-base.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 9252840f_7c2e_7f45_6a46_e7832505bc47
  4830ffdb_f9a7_2904_0094_ff456a85e98e["view-common.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 4830ffdb_f9a7_2904_0094_ff456a85e98e
  2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426
  27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 27705a9d_afe9_57dd_8c97_e52d8a67d426
  d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> d31ad410_b8fc_5d88_a194_70aa7419676a
  8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 8fb028b7_6ce0_27fa_29b6_39545ba11529
  591617cf_1376_c0a1_4ba1_ecd59ca13a5b["selection-proxy.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> 591617cf_1376_c0a1_4ba1_ecd59ca13a5b
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  00013fdd_c67a_b05e_780e_20cc1f0af66b --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  style 00013fdd_c67a_b05e_780e_20cc1f0af66b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { BuildColumns } from '~/column-builder.ts';
import { entityKind } from '~/entity.ts';
import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type { AddAliasToSelection } from '~/query-builders/select.types.ts';
import { SelectionProxyHandler } from '~/selection-proxy.ts';
import type { ColumnsSelection, SQL } from '~/sql/sql.ts';
import { getTableColumns } from '~/utils.ts';
import type { SingleStoreColumn, SingleStoreColumnBuilderBase } from './columns/index.ts';
import { QueryBuilder } from './query-builders/query-builder.ts';
import type { SelectedFields } from './query-builders/select.types.ts';
import { singlestoreTable } from './table.ts';
import { SingleStoreViewBase } from './view-base.ts';
import { SingleStoreViewConfig } from './view-common.ts';

export interface ViewBuilderConfig {
	algorithm?: 'undefined' | 'merge' | 'temptable';
	definer?: string;
	sqlSecurity?: 'definer' | 'invoker';
	withCheckOption?: 'cascaded' | 'local';
}

export class ViewBuilderCore<TConfig extends { name: string; columns?: unknown }> {
	static readonly [entityKind]: string = 'SingleStoreViewBuilder';

	declare readonly _: {
		readonly name: TConfig['name'];
		readonly columns: TConfig['columns'];
	};

	constructor(
		protected name: TConfig['name'],
		protected schema: string | undefined,
	) {}

	protected config: ViewBuilderConfig = {};

	algorithm(
		algorithm: Exclude<ViewBuilderConfig['algorithm'], undefined>,
	): this {
		this.config.algorithm = algorithm;
		return this;
	}

	definer(
		definer: Exclude<ViewBuilderConfig['definer'], undefined>,
	): this {
		this.config.definer = definer;
		return this;
	}

	sqlSecurity(
		sqlSecurity: Exclude<ViewBuilderConfig['sqlSecurity'], undefined>,
	): this {
		this.config.sqlSecurity = sqlSecurity;
		return this;
	}

	withCheckOption(
		withCheckOption?: Exclude<ViewBuilderConfig['withCheckOption'], undefined>,
	): this {
// ... (150 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does view.ts do?
view.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What does view.ts depend on?
view.ts imports 15 module(s): QueryBuilder, column-builder.ts, entity.ts, index.ts, query-builder.ts, query-builder.ts, select.types.ts, select.types.ts, and 7 more.
Where is view.ts in the architecture?
view.ts is located at drizzle-orm/src/singlestore-core/view.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/src/singlestore-core).

Analyze Your Own Codebase

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

Try Supermodel Free