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

select.ts — drizzle-orm Source File

Architecture documentation for select.ts, a typescript file in the drizzle-orm codebase. 23 imports, 3 dependents.

File typescript DrizzleORM QueryBuilders 23 imports 3 dependents 2 functions 2 classes

Entity Profile

Dependency Diagram

graph LR
  beabf465_fa9a_6d7b_17f0_933ae73209d6["select.ts"]
  a5a9f725_34b6_8a98_a70a_5e7133d7ec60["indexes.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> a5a9f725_34b6_8a98_a70a_5e7133d7ec60
  af63b8b3_1221_118f_75ac_f0b56c078499["utils.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> af63b8b3_1221_118f_75ac_f0b56c078499
  e327141d_903f_61a7_65cc_f776f53ea83f["convertIndexToString"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> e327141d_903f_61a7_65cc_f776f53ea83f
  4ff9ce95_c096_011a_1c7c_66a4d3e58ed6["extractUsedTable"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 4ff9ce95_c096_011a_1c7c_66a4d3e58ed6
  05cdf6c8_9bfd_a402_2c37_03667291d1e5["toArray"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 05cdf6c8_9bfd_a402_2c37_03667291d1e5
  a79cf58d_7307_4b51_46d7_0b6063316314["view-base.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> a79cf58d_7307_4b51_46d7_0b6063316314
  b145d7b0_f119_a29a_6da7_7ad4e74e20fa["select.types.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> b145d7b0_f119_a29a_6da7_7ad4e74e20fa
  47a9c453_10f1_a759_6246_695fcce2b20a["types.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 47a9c453_10f1_a759_6246_695fcce2b20a
  27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426
  ea8a5f17_a0f8_080e_1e04_e8fe9b597048["index.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> ea8a5f17_a0f8_080e_1e04_e8fe9b597048
  8e1e9852_05bf_563a_0455_d59c9d25a84e["dialect.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 8e1e9852_05bf_563a_0455_d59c9d25a84e
  41e092f8_b812_732d_b00f_7596b41fc839["session.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 41e092f8_b812_732d_b00f_7596b41fc839
  35ab40a7_c81b_5823_6384_dba35c359688["subquery.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 35ab40a7_c81b_5823_6384_dba35c359688
  70e1783e_f575_ccd4_36bd_5f0978c2172c["table.ts"]
  beabf465_fa9a_6d7b_17f0_933ae73209d6 --> 70e1783e_f575_ccd4_36bd_5f0978c2172c
  style beabf465_fa9a_6d7b_17f0_933ae73209d6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { CacheConfig, WithCacheConfig } from '~/cache/core/types.ts';
import { entityKind, is } from '~/entity.ts';
import type { MySqlColumn } from '~/mysql-core/columns/index.ts';
import type { MySqlDialect } from '~/mysql-core/dialect.ts';
import type { MySqlPreparedQueryConfig, MySqlSession, PreparedQueryHKTBase } from '~/mysql-core/session.ts';
import type { SubqueryWithSelection } from '~/mysql-core/subquery.ts';
import { MySqlTable } from '~/mysql-core/table.ts';
import { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type {
	BuildSubquerySelection,
	GetSelectTableName,
	GetSelectTableSelection,
	JoinNullability,
	SelectMode,
	SelectResult,
	SetOperator,
} from '~/query-builders/select.types.ts';
import { QueryPromise } from '~/query-promise.ts';
import { SelectionProxyHandler } from '~/selection-proxy.ts';
import type { ColumnsSelection, Placeholder, Query } from '~/sql/sql.ts';
import { SQL, View } from '~/sql/sql.ts';
import { Subquery } from '~/subquery.ts';
import { Table } from '~/table.ts';
import type { ValueOrArray } from '~/utils.ts';
import { applyMixins, getTableColumns, getTableLikeName, haveSameKeys, orderSelectedFields } from '~/utils.ts';
import { ViewBaseConfig } from '~/view-common.ts';
import type { IndexBuilder } from '../indexes.ts';
import { convertIndexToString, extractUsedTable, toArray } from '../utils.ts';
import { MySqlViewBase } from '../view-base.ts';
import type {
	AnyMySqlSelect,
	CreateMySqlSelectFromBuilderMode,
	GetMySqlSetOperators,
	LockConfig,
	LockStrength,
	MySqlCreateSetOperatorFn,
	MySqlCrossJoinFn,
	MySqlJoinFn,
	MySqlJoinType,
	MySqlSelectConfig,
	MySqlSelectDynamic,
	MySqlSelectHKT,
	MySqlSelectHKTBase,
	MySqlSelectPrepare,
	MySqlSelectWithout,
	MySqlSetOperatorExcludedMethods,
	MySqlSetOperatorWithResult,
	SelectedFields,
	SetOperatorRightSelect,
} from './select.types.ts';

export type IndexForHint = IndexBuilder | string;

export type IndexConfig = {
	useIndex?: IndexForHint | IndexForHint[];
	forceIndex?: IndexForHint | IndexForHint[];
	ignoreIndex?: IndexForHint | IndexForHint[];
};

export class MySqlSelectBuilder<
// ... (1320 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does select.ts do?
select.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, QueryBuilders subdomain.
What functions are defined in select.ts?
select.ts defines 2 function(s): createSetOperator, getMySqlSetOperators.
What does select.ts depend on?
select.ts imports 23 module(s): convertIndexToString, dialect.ts, entity.ts, extractUsedTable, index.ts, indexes.ts, query-builder.ts, query-promise.ts, and 15 more.
What files import select.ts?
select.ts is imported by 3 file(s): query-builder.ts, select.types.ts, utils.ts.
Where is select.ts in the architecture?
select.ts is located at drizzle-orm/src/mysql-core/query-builders/select.ts (domain: DrizzleORM, subdomain: QueryBuilders, directory: drizzle-orm/src/mysql-core/query-builders).

Analyze Your Own Codebase

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

Try Supermodel Free