@simplysm/orm-common 13.0.99 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/create-db-context.d.ts +10 -10
  2. package/dist/create-db-context.js +312 -276
  3. package/dist/create-db-context.js.map +1 -6
  4. package/dist/ddl/column-ddl.d.ts +4 -4
  5. package/dist/ddl/column-ddl.js +41 -35
  6. package/dist/ddl/column-ddl.js.map +1 -6
  7. package/dist/ddl/initialize.d.ts +17 -17
  8. package/dist/ddl/initialize.js +200 -142
  9. package/dist/ddl/initialize.js.map +1 -6
  10. package/dist/ddl/relation-ddl.d.ts +6 -6
  11. package/dist/ddl/relation-ddl.js +55 -48
  12. package/dist/ddl/relation-ddl.js.map +1 -6
  13. package/dist/ddl/schema-ddl.d.ts +4 -4
  14. package/dist/ddl/schema-ddl.js +21 -15
  15. package/dist/ddl/schema-ddl.js.map +1 -6
  16. package/dist/ddl/table-ddl.d.ts +20 -20
  17. package/dist/ddl/table-ddl.js +139 -93
  18. package/dist/ddl/table-ddl.js.map +1 -6
  19. package/dist/define-db-context.js +10 -13
  20. package/dist/define-db-context.js.map +1 -6
  21. package/dist/errors/db-transaction-error.d.ts +15 -15
  22. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  23. package/dist/errors/db-transaction-error.js +53 -19
  24. package/dist/errors/db-transaction-error.js.map +1 -6
  25. package/dist/exec/executable.d.ts +23 -23
  26. package/dist/exec/executable.js +94 -40
  27. package/dist/exec/executable.js.map +1 -6
  28. package/dist/exec/queryable.d.ts +97 -97
  29. package/dist/exec/queryable.js +1310 -1204
  30. package/dist/exec/queryable.js.map +1 -6
  31. package/dist/exec/search-parser.d.ts +31 -31
  32. package/dist/exec/search-parser.d.ts.map +1 -1
  33. package/dist/exec/search-parser.js +158 -59
  34. package/dist/exec/search-parser.js.map +1 -6
  35. package/dist/expr/expr-unit.d.ts +4 -4
  36. package/dist/expr/expr-unit.js +24 -18
  37. package/dist/expr/expr-unit.js.map +1 -6
  38. package/dist/expr/expr.d.ts +6 -6
  39. package/dist/expr/expr.js +1872 -1844
  40. package/dist/expr/expr.js.map +1 -6
  41. package/dist/index.js +23 -1
  42. package/dist/index.js.map +1 -6
  43. package/dist/models/system-migration.js +7 -7
  44. package/dist/models/system-migration.js.map +1 -6
  45. package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
  46. package/dist/query-builder/base/expr-renderer-base.js +27 -21
  47. package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
  48. package/dist/query-builder/base/query-builder-base.d.ts +21 -21
  49. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  50. package/dist/query-builder/base/query-builder-base.js +90 -80
  51. package/dist/query-builder/base/query-builder-base.js.map +1 -6
  52. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  53. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  54. package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
  55. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
  56. package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
  57. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
  58. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  59. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  60. package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
  61. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
  62. package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
  63. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
  64. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  65. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  66. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
  67. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
  68. package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
  69. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
  70. package/dist/query-builder/query-builder.d.ts +1 -1
  71. package/dist/query-builder/query-builder.js +13 -13
  72. package/dist/query-builder/query-builder.js.map +1 -6
  73. package/dist/schema/factory/column-builder.d.ts +84 -84
  74. package/dist/schema/factory/column-builder.js +248 -185
  75. package/dist/schema/factory/column-builder.js.map +1 -6
  76. package/dist/schema/factory/index-builder.d.ts +38 -38
  77. package/dist/schema/factory/index-builder.js +144 -85
  78. package/dist/schema/factory/index-builder.js.map +1 -6
  79. package/dist/schema/factory/relation-builder.d.ts +91 -91
  80. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  81. package/dist/schema/factory/relation-builder.js +274 -136
  82. package/dist/schema/factory/relation-builder.js.map +1 -6
  83. package/dist/schema/procedure-builder.d.ts +51 -51
  84. package/dist/schema/procedure-builder.d.ts.map +1 -1
  85. package/dist/schema/procedure-builder.js +205 -131
  86. package/dist/schema/procedure-builder.js.map +1 -6
  87. package/dist/schema/table-builder.d.ts +55 -55
  88. package/dist/schema/table-builder.d.ts.map +1 -1
  89. package/dist/schema/table-builder.js +274 -205
  90. package/dist/schema/table-builder.js.map +1 -6
  91. package/dist/schema/view-builder.d.ts +44 -44
  92. package/dist/schema/view-builder.d.ts.map +1 -1
  93. package/dist/schema/view-builder.js +189 -116
  94. package/dist/schema/view-builder.js.map +1 -6
  95. package/dist/types/column.js +60 -30
  96. package/dist/types/column.js.map +1 -6
  97. package/dist/types/db-context-def.d.ts +9 -9
  98. package/dist/types/db-context-def.js +2 -1
  99. package/dist/types/db-context-def.js.map +1 -6
  100. package/dist/types/db.d.ts +47 -47
  101. package/dist/types/db.js +15 -5
  102. package/dist/types/db.js.map +1 -6
  103. package/dist/types/expr.d.ts +81 -81
  104. package/dist/types/expr.d.ts.map +1 -1
  105. package/dist/types/expr.js +3 -1
  106. package/dist/types/expr.js.map +1 -6
  107. package/dist/types/query-def.d.ts +46 -46
  108. package/dist/types/query-def.d.ts.map +1 -1
  109. package/dist/types/query-def.js +31 -24
  110. package/dist/types/query-def.js.map +1 -6
  111. package/dist/utils/result-parser.js +362 -221
  112. package/dist/utils/result-parser.js.map +1 -6
  113. package/package.json +5 -7
  114. package/src/create-db-context.ts +31 -31
  115. package/src/ddl/column-ddl.ts +4 -4
  116. package/src/ddl/initialize.ts +38 -38
  117. package/src/ddl/relation-ddl.ts +6 -6
  118. package/src/ddl/schema-ddl.ts +4 -4
  119. package/src/ddl/table-ddl.ts +24 -24
  120. package/src/errors/db-transaction-error.ts +13 -13
  121. package/src/exec/executable.ts +25 -25
  122. package/src/exec/queryable.ts +134 -134
  123. package/src/exec/search-parser.ts +50 -50
  124. package/src/expr/expr-unit.ts +4 -4
  125. package/src/expr/expr.ts +13 -13
  126. package/src/index.ts +8 -8
  127. package/src/models/system-migration.ts +1 -1
  128. package/src/query-builder/base/expr-renderer-base.ts +21 -21
  129. package/src/query-builder/base/query-builder-base.ts +33 -33
  130. package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
  131. package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
  132. package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
  133. package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
  134. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
  135. package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
  136. package/src/query-builder/query-builder.ts +1 -1
  137. package/src/schema/factory/column-builder.ts +86 -86
  138. package/src/schema/factory/index-builder.ts +38 -38
  139. package/src/schema/factory/relation-builder.ts +93 -93
  140. package/src/schema/procedure-builder.ts +52 -52
  141. package/src/schema/table-builder.ts +56 -56
  142. package/src/schema/view-builder.ts +45 -45
  143. package/src/types/column.ts +1 -1
  144. package/src/types/db-context-def.ts +15 -15
  145. package/src/types/db.ts +50 -50
  146. package/src/types/expr.ts +103 -103
  147. package/src/types/query-def.ts +50 -50
  148. package/src/utils/result-parser.ts +39 -39
  149. package/README.md +0 -192
  150. package/docs/core.md +0 -234
  151. package/docs/expression.md +0 -234
  152. package/docs/query-builder.md +0 -93
  153. package/docs/queryable.md +0 -198
  154. package/docs/schema-builders.md +0 -463
  155. package/docs/types.md +0 -445
  156. package/docs/utilities.md +0 -27
  157. package/tests/db-context/create-db-context.spec.ts +0 -193
  158. package/tests/db-context/define-db-context.spec.ts +0 -17
  159. package/tests/ddl/basic.expected.ts +0 -341
  160. package/tests/ddl/basic.spec.ts +0 -557
  161. package/tests/ddl/column-builder.expected.ts +0 -310
  162. package/tests/ddl/column-builder.spec.ts +0 -525
  163. package/tests/ddl/index-builder.expected.ts +0 -38
  164. package/tests/ddl/index-builder.spec.ts +0 -148
  165. package/tests/ddl/procedure-builder.expected.ts +0 -52
  166. package/tests/ddl/procedure-builder.spec.ts +0 -128
  167. package/tests/ddl/relation-builder.expected.ts +0 -36
  168. package/tests/ddl/relation-builder.spec.ts +0 -171
  169. package/tests/ddl/table-builder.expected.ts +0 -113
  170. package/tests/ddl/table-builder.spec.ts +0 -399
  171. package/tests/ddl/view-builder.expected.ts +0 -38
  172. package/tests/ddl/view-builder.spec.ts +0 -116
  173. package/tests/dml/delete.expected.ts +0 -96
  174. package/tests/dml/delete.spec.ts +0 -127
  175. package/tests/dml/insert.expected.ts +0 -192
  176. package/tests/dml/insert.spec.ts +0 -210
  177. package/tests/dml/update.expected.ts +0 -176
  178. package/tests/dml/update.spec.ts +0 -222
  179. package/tests/dml/upsert.expected.ts +0 -215
  180. package/tests/dml/upsert.spec.ts +0 -190
  181. package/tests/errors/queryable-errors.spec.ts +0 -126
  182. package/tests/escape.spec.ts +0 -59
  183. package/tests/examples/pivot.expected.ts +0 -211
  184. package/tests/examples/pivot.spec.ts +0 -200
  185. package/tests/examples/sampling.expected.ts +0 -69
  186. package/tests/examples/sampling.spec.ts +0 -42
  187. package/tests/examples/unpivot.expected.ts +0 -120
  188. package/tests/examples/unpivot.spec.ts +0 -161
  189. package/tests/exec/search-parser.spec.ts +0 -267
  190. package/tests/executable/basic.expected.ts +0 -18
  191. package/tests/executable/basic.spec.ts +0 -54
  192. package/tests/expr/comparison.expected.ts +0 -282
  193. package/tests/expr/comparison.spec.ts +0 -334
  194. package/tests/expr/conditional.expected.ts +0 -134
  195. package/tests/expr/conditional.spec.ts +0 -249
  196. package/tests/expr/date.expected.ts +0 -332
  197. package/tests/expr/date.spec.ts +0 -459
  198. package/tests/expr/math.expected.ts +0 -62
  199. package/tests/expr/math.spec.ts +0 -59
  200. package/tests/expr/string.expected.ts +0 -218
  201. package/tests/expr/string.spec.ts +0 -300
  202. package/tests/expr/utility.expected.ts +0 -147
  203. package/tests/expr/utility.spec.ts +0 -155
  204. package/tests/select/basic.expected.ts +0 -322
  205. package/tests/select/basic.spec.ts +0 -433
  206. package/tests/select/filter.expected.ts +0 -357
  207. package/tests/select/filter.spec.ts +0 -954
  208. package/tests/select/group.expected.ts +0 -169
  209. package/tests/select/group.spec.ts +0 -159
  210. package/tests/select/join.expected.ts +0 -582
  211. package/tests/select/join.spec.ts +0 -692
  212. package/tests/select/order.expected.ts +0 -150
  213. package/tests/select/order.spec.ts +0 -140
  214. package/tests/select/recursive-cte.expected.ts +0 -244
  215. package/tests/select/recursive-cte.spec.ts +0 -514
  216. package/tests/select/result-meta.spec.ts +0 -270
  217. package/tests/select/subquery.expected.ts +0 -363
  218. package/tests/select/subquery.spec.ts +0 -441
  219. package/tests/select/view.expected.ts +0 -155
  220. package/tests/select/view.spec.ts +0 -235
  221. package/tests/select/window.expected.ts +0 -345
  222. package/tests/select/window.spec.ts +0 -433
  223. package/tests/setup/MockExecutor.ts +0 -18
  224. package/tests/setup/TestDbContext.ts +0 -59
  225. package/tests/setup/models/Company.ts +0 -13
  226. package/tests/setup/models/Employee.ts +0 -10
  227. package/tests/setup/models/MonthlySales.ts +0 -11
  228. package/tests/setup/models/Post.ts +0 -16
  229. package/tests/setup/models/Sales.ts +0 -10
  230. package/tests/setup/models/User.ts +0 -19
  231. package/tests/setup/procedure/GetAllUsers.ts +0 -9
  232. package/tests/setup/procedure/GetUserById.ts +0 -12
  233. package/tests/setup/test-utils.ts +0 -72
  234. package/tests/setup/views/ActiveUsers.ts +0 -8
  235. package/tests/setup/views/UserSummary.ts +0 -11
  236. package/tests/types/nullable-queryable-record.spec.ts +0 -97
  237. package/tests/utils/result-parser-perf.spec.ts +0 -143
  238. package/tests/utils/result-parser.spec.ts +0 -667
@@ -10,39 +10,39 @@ import { ExprUnit } from "../expr/expr-unit";
10
10
  /**
11
11
  * JOIN query builder
12
12
  *
13
- * Used internally by join/joinSingle methods to specify the table to join
13
+ * join/joinSingle 메서드 내부에서 조인할 table 지정하는 데 사용
14
14
  */
15
15
  declare class JoinQueryable {
16
16
  private readonly _db;
17
17
  private readonly _joinAlias;
18
18
  constructor(_db: DbContextBase, _joinAlias: string);
19
19
  /**
20
- * Specify the table to join
20
+ * 조인할 table 지정
21
21
  *
22
- * @param table - Table to join
23
- * @returns Joined Queryable
22
+ * @param table - 조인할 table
23
+ * @returns 조인된 Queryable
24
24
  */
25
25
  from<T extends TableBuilder<any, any>>(table: T): Queryable<T["$inferSelect"], T>;
26
26
  /**
27
- * Directly specify columns in join result
27
+ * 조인 결과의 column을 직접 지정
28
28
  *
29
- * @param columns - Custom column definition
30
- * @returns Queryable with custom columns applied
29
+ * @param columns - 커스텀 column 정의
30
+ * @returns 커스텀 column이 적용된 Queryable
31
31
  */
32
32
  select<R extends DataRecord>(columns: QueryableRecord<R>): Queryable<R, never>;
33
33
  /**
34
- * Combine multiple Queryables with UNION
34
+ * 여러 Queryable을 UNION으로 결합
35
35
  *
36
- * @param queries - Array of Queryables to UNION (minimum 2)
37
- * @returns UNION-ed Queryable
38
- * @throws If less than 2 queryables are passed
36
+ * @param queries - UNION할 Queryable 배열 (최소 2)
37
+ * @returns UNION Queryable
38
+ * @throws 2개 미만의 queryable이 전달되면 에러
39
39
  */
40
40
  union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData, never>;
41
41
  }
42
42
  /**
43
- * Recursive CTE (Common Table Expression) builder
43
+ * 재귀 CTE (Common Table Expression) builder
44
44
  *
45
- * used internally in recursive() method, Defines the body of a recursive query
45
+ * recursive() 메서드 내부에서 사용되며, 재귀 쿼리의 본문을 정의한다
46
46
  *
47
47
  * @template TBaseData - Base query data type
48
48
  */
@@ -51,41 +51,41 @@ declare class RecursiveQueryable<TBaseData extends DataRecord> {
51
51
  private readonly _cteName;
52
52
  constructor(_baseQr: Queryable<TBaseData, any>, _cteName: string);
53
53
  /**
54
- * specify the target table for recursive query
54
+ * 재귀 query의 대상 table 지정
55
55
  *
56
- * @param table - Target table to recurse
57
- * @returns Queryable with self property added (for self-reference)
56
+ * @param table - 재귀할 대상 table
57
+ * @returns self 속성이 추가된 Queryable (자기 참조용)
58
58
  */
59
59
  from<T extends TableBuilder<any, any>>(table: T): Queryable<T["$inferSelect"] & {
60
60
  self?: TBaseData[];
61
61
  }, T>;
62
62
  /**
63
- * Directly specify columns in recursive query
63
+ * 재귀 query의 column을 직접 지정
64
64
  *
65
- * @param columns - Custom column definition
66
- * @returns Queryable with self property added
65
+ * @param columns - 커스텀 column 정의
66
+ * @returns self 속성이 추가된 Queryable
67
67
  */
68
68
  select<R extends DataRecord>(columns: QueryableRecord<R>): Queryable<R & {
69
69
  self?: TBaseData[];
70
70
  }, never>;
71
71
  /**
72
- * Combine multiple Queryables with UNION (for recursive query)
72
+ * 여러 Queryable을 UNION으로 결합 (재귀 query)
73
73
  *
74
- * @param queries - Array of Queryables to UNION (minimum 2)
75
- * @returns UNION Queryable with self property added
76
- * @throws If less than 2 queryables are passed
74
+ * @param queries - UNION할 Queryable 배열 (최소 2)
75
+ * @returns self 속성이 추가된 UNION Queryable
76
+ * @throws 2개 미만의 queryable이 전달되면 에러
77
77
  */
78
78
  union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData & {
79
79
  self?: TBaseData[];
80
80
  }, never>;
81
81
  }
82
82
  /**
83
- * Query builder class
83
+ * Query builder 클래스
84
84
  *
85
- * Construct SELECT, INSERT, UPDATE, DELETE queries on tables/views in a chaining manner
85
+ * 체이닝 방식으로 table/view에 대한 SELECT, INSERT, UPDATE, DELETE query를 구성
86
86
  *
87
- * @template TData - Data type of query result
88
- * @template TFrom - Source table (needed for CUD operations)
87
+ * @template TData - Query 결과의 데이터 타입
88
+ * @template TFrom - 소스 table (CUD 연산에 필요)
89
89
  *
90
90
  * @example
91
91
  * ```typescript
@@ -108,10 +108,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
108
108
  readonly meta: QueryableMeta<TData>;
109
109
  constructor(meta: QueryableMeta<TData>);
110
110
  /**
111
- * Specify columns to SELECT.
111
+ * SELECT할 column 지정.
112
112
  *
113
- * @param fn - Column mapping function. Receives original columns and returns new column structure
114
- * @returns Queryable with new column structure applied
113
+ * @param fn - Column 매핑 함수. 원본 column을 받아 column 구조를 반환
114
+ * @returns column 구조가 적용된 Queryable
115
115
  *
116
116
  * @example
117
117
  * ```typescript
@@ -123,9 +123,9 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
123
123
  */
124
124
  select<R extends Record<string, any>>(fn: (columns: QueryableRecord<TData>) => R): Queryable<UnwrapQueryableRecord<R>, never>;
125
125
  /**
126
- * Apply DISTINCT option to remove duplicate rows
126
+ * 중복 제거를 위한 DISTINCT 옵션 적용
127
127
  *
128
- * @returns Queryable with DISTINCT applied
128
+ * @returns DISTINCT가 적용된 Queryable
129
129
  *
130
130
  * @example
131
131
  * ```typescript
@@ -136,11 +136,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
136
136
  */
137
137
  distinct(): Queryable<TData, never>;
138
138
  /**
139
- * Apply row lock (FOR UPDATE)
139
+ * 잠금 적용 (FOR UPDATE)
140
140
  *
141
- * Acquire exclusive lock on selected rows within transaction
141
+ * 트랜잭션 내에서 선택된 행에 대한 배타적 잠금 획득
142
142
  *
143
- * @returns Queryable with lock applied
143
+ * @returns 잠금이 적용된 Queryable
144
144
  *
145
145
  * @example
146
146
  * ```typescript
@@ -154,10 +154,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
154
154
  */
155
155
  lock(): Queryable<TData, TFrom>;
156
156
  /**
157
- * Select only top N rows (can be used without ORDER BY)
157
+ * 상위 N개 행만 선택 (ORDER BY 없이도 사용 가능)
158
158
  *
159
- * @param count - number of rows to select
160
- * @returns Queryable with TOP applied
159
+ * @param count - 선택할
160
+ * @returns TOP이 적용된 Queryable
161
161
  *
162
162
  * @example
163
163
  * ```typescript
@@ -169,13 +169,13 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
169
169
  */
170
170
  top(count: number): Queryable<TData, TFrom>;
171
171
  /**
172
- * Set LIMIT/OFFSET for pagination.
173
- * Must call orderBy() first.
172
+ * 페이지네이션을 위한 LIMIT/OFFSET 설정.
173
+ * 먼저 orderBy() 호출해야 함.
174
174
  *
175
- * @param skip - number of rows to skip (OFFSET)
176
- * @param take - number of rows to fetch (LIMIT)
177
- * @returns Queryable with pagination applied
178
- * @throws Error if no ORDER BY clause
175
+ * @param skip - 건너뛸 (OFFSET)
176
+ * @param take - 가져올 (LIMIT)
177
+ * @returns 페이지네이션이 적용된 Queryable
178
+ * @throws ORDER BY 절이 없으면 에러
179
179
  *
180
180
  * @example
181
181
  * ```typescript
@@ -186,11 +186,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
186
186
  */
187
187
  limit(skip: number, take: number): Queryable<TData, TFrom>;
188
188
  /**
189
- * Add sorting condition. Multiple calls apply in order.
189
+ * 정렬 조건 추가. 여러 호출 순서대로 적용됨.
190
190
  *
191
- * @param fn - function returning columns to sort by
192
- * @param orderBy - Sort direction (ASC/DESC). Default: ASC
193
- * @returns Queryable with sorting conditions added
191
+ * @param fn - 정렬할 column을 반환하는 함수
192
+ * @param orderBy - 정렬 방향 (ASC/DESC). 기본값: ASC
193
+ * @returns 정렬 조건이 추가된 Queryable
194
194
  *
195
195
  * @example
196
196
  * ```typescript
@@ -201,10 +201,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
201
201
  */
202
202
  orderBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>, orderBy?: "ASC" | "DESC"): Queryable<TData, TFrom>;
203
203
  /**
204
- * Add WHERE condition. Multiple calls are combined with AND.
204
+ * WHERE 조건 추가. 여러 호출 AND로 결합됨.
205
205
  *
206
- * @param predicate - Function returning an array of conditions
207
- * @returns Queryable with conditions added
206
+ * @param predicate - 조건 배열을 반환하는 함수
207
+ * @returns 조건이 추가된 Queryable
208
208
  *
209
209
  * @example
210
210
  * ```typescript
@@ -215,16 +215,16 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
215
215
  */
216
216
  where(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, TFrom>;
217
217
  /**
218
- * Perform text search
218
+ * 텍스트 검색 수행
219
219
  *
220
- * See {@link parseSearchQuery} for search syntax
221
- * - Space-separated words are OR conditions
222
- * - Words starting with `+` are required includes (AND condition)
223
- * - Words starting with `-` are excludes (NOT condition)
220
+ * 검색 구문은 {@link parseSearchQuery} 참조
221
+ * - 공백으로 구분된 단어는 OR 조건
222
+ * - `+`로 시작하는 단어는 필수 포함 (AND 조건)
223
+ * - `-`로 시작하는 단어는 제외 (NOT 조건)
224
224
  *
225
- * @param fn - Function returning target columns to search
226
- * @param searchText - Search text
227
- * @returns Queryable with search conditions added
225
+ * @param fn - 검색 대상 column을 반환하는 함수
226
+ * @param searchText - 검색 텍스트
227
+ * @returns 검색 조건이 추가된 Queryable
228
228
  *
229
229
  * @example
230
230
  * ```typescript
@@ -234,10 +234,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
234
234
  */
235
235
  search(fn: (columns: QueryableRecord<TData>) => ExprUnit<string | undefined>[], searchText: string): Queryable<TData, TFrom>;
236
236
  /**
237
- * Add GROUP BY clause
237
+ * GROUP BY 절 추가
238
238
  *
239
- * @param fn - Function returning columns to group by
240
- * @returns Queryable with GROUP BY applied
239
+ * @param fn - 그룹화할 column을 반환하는 함수
240
+ * @returns GROUP BY 적용된 Queryable
241
241
  *
242
242
  * @example
243
243
  * ```typescript
@@ -251,10 +251,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
251
251
  */
252
252
  groupBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>[]): Queryable<TData, never>;
253
253
  /**
254
- * Add HAVING clause (filtering after GROUP BY)
254
+ * HAVING 추가 (GROUP BY 이후 필터링)
255
255
  *
256
- * @param predicate - Function returning an array of conditions
257
- * @returns Queryable with HAVING applied
256
+ * @param predicate - 조건 배열을 반환하는 함수
257
+ * @returns HAVING이 적용된 Queryable
258
258
  *
259
259
  * @example
260
260
  * ```typescript
@@ -269,11 +269,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
269
269
  */
270
270
  having(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, never>;
271
271
  /**
272
- * Perform LEFT OUTER JOIN for 1:N relation (added as array to result)
272
+ * 1:N 관계에 대한 LEFT OUTER JOIN 수행 (결과에 배열로 추가)
273
273
  *
274
- * @param as - Property name to add to result
275
- * @param fn - Callback function defining join conditions
276
- * @returns Queryable with join result added as array
274
+ * @param as - 결과에 추가할 속성 이름
275
+ * @param fn - 조인 조건을 정의하는 콜백 함수
276
+ * @returns 조인 결과가 배열로 추가된 Queryable
277
277
  *
278
278
  * @example
279
279
  * ```typescript
@@ -289,11 +289,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
289
289
  [K in A]?: R[];
290
290
  }, TFrom>;
291
291
  /**
292
- * Perform LEFT OUTER JOIN for N:1 or 1:1 relation (added as single object to result)
292
+ * N:1 또는 1:1 관계에 대한 LEFT OUTER JOIN 수행 (결과에 단일 객체로 추가)
293
293
  *
294
- * @param as - Property name to add to result
295
- * @param fn - Callback function defining join conditions
296
- * @returns Queryable with join result added as single object
294
+ * @param as - 결과에 추가할 속성 이름
295
+ * @param fn - 조인 조건을 정의하는 콜백 함수
296
+ * @returns 조인 결과가 단일 객체로 추가된 Queryable
297
297
  *
298
298
  * @example
299
299
  * ```typescript
@@ -311,12 +311,12 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
311
311
  [K in A]?: R;
312
312
  }, TFrom>;
313
313
  /**
314
- * Automatically JOIN related tables.
315
- * Operates based on FK/FKT relations defined in TableBuilder.
314
+ * 관련 table을 자동으로 JOIN.
315
+ * TableBuilder에 정의된 FK/FKT 관계를 기반으로 동작.
316
316
  *
317
- * @param fn - Function selecting relations to include (type-checked via PathProxy)
318
- * @returns Queryable with JOINs added
319
- * @throws Error if relation is not defined
317
+ * @param fn - 포함할 관계를 선택하는 함수 (PathProxy를 통해 타입 체크)
318
+ * @returns JOIN이 추가된 Queryable
319
+ * @throws 관계가 정의되지 않은 경우 에러
320
320
  *
321
321
  * @example
322
322
  * ```typescript
@@ -416,7 +416,7 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
416
416
  */
417
417
  single(): Promise<TData | undefined>;
418
418
  /**
419
- * Return query source name (for error messages)
419
+ * Query 소스 이름 반환 (에러 메시지용)
420
420
  */
421
421
  private _getSourceName;
422
422
  /**
@@ -610,7 +610,7 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
610
610
  upsert<U extends QueryableWriteRecord<TFrom["$inferUpdate"]>, K extends keyof TFrom["$inferColumns"] & string>(updateFn: (cols: QueryableRecord<TData>) => U, insertFn: (updateRecord: U) => QueryableWriteRecord<TFrom["$inferInsert"]>, outputColumns?: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
611
611
  getUpsertQueryDef<U extends QueryableWriteRecord<TFrom["$inferUpdate"]>>(updateRecordFn: (cols: QueryableRecord<TData>) => U, insertRecordFn: (updateRecord: U) => QueryableWriteRecord<TFrom["$inferInsert"]>, outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): UpsertQueryDef;
612
612
  /**
613
- * FK constraint on/off (can be used within a transaction)
613
+ * FK 제약조건 활성화/비활성화 (트랜잭션 내에서 사용 가능)
614
614
  */
615
615
  switchFk(enabled: boolean): Promise<void>;
616
616
  private _getCudOutputDef;
@@ -659,33 +659,33 @@ export type NullableQueryableRecord<TData extends DataRecord> = {
659
659
  [K in keyof TData]: TData[K] extends ColumnPrimitive ? ExprUnit<TData[K] | undefined> : TData[K] extends (infer U)[] ? U extends DataRecord ? NullableQueryableRecord<U>[] : never : TData[K] extends (infer U)[] | undefined ? U extends DataRecord ? NullableQueryableRecord<U>[] | undefined : never : TData[K] extends DataRecord ? NullableQueryableRecord<TData[K]> : TData[K] extends DataRecord | undefined ? NullableQueryableRecord<Exclude<TData[K], undefined>> | undefined : never;
660
660
  };
661
661
  /**
662
- * Reverse-transform from QueryableRecord to DataRecord
662
+ * QueryableRecord에서 DataRecord로 역변환
663
663
  *
664
- * Unwraps ExprUnit<T> to T, recursively unwrapping nested objects/arrays
664
+ * ExprUnit<T>를 T 언래핑, 중첩 객체/배열을 재귀적으로 언래핑
665
665
  */
666
666
  export type UnwrapQueryableRecord<R> = {
667
667
  [K in keyof R]: R[K] extends ExprUnit<infer T> ? T : NonNullable<R[K]> extends (infer U)[] ? U extends Record<string, any> ? UnwrapQueryableRecord<U>[] | Extract<R[K], undefined> : never : NonNullable<R[K]> extends Record<string, any> ? UnwrapQueryableRecord<NonNullable<R[K]>> | Extract<R[K], undefined> : never;
668
668
  };
669
669
  /**
670
- * Proxy type for specifying relationship paths in include() in a type-safe manner
671
- * Only non-ColumnPrimitive fields (FK, FKT relationships) are accessible
670
+ * include()에서 타입 안전하게 관계 경로를 지정하기 위한 Proxy 타입
671
+ * non-ColumnPrimitive 필드(FK, FKT 관계) 접근 가능
672
672
  *
673
673
  * @example
674
674
  * ```typescript
675
- * // Accessing item.user.company internally collects path ["user", "company"]
675
+ * // item.user.company 접근 내부적으로 경로 ["user", "company"]를 수집
676
676
  * db.post.include(item => item.user.company)
677
677
  *
678
- * // item.title is string (ColumnPrimitive), so this is a compile error
679
- * db.post.include(item => item.title) // compile error
678
+ * // item.title string(ColumnPrimitive)이므로 컴파일 에러
679
+ * db.post.include(item => item.title) // 컴파일 에러
680
680
  * ```
681
681
  */
682
682
  /**
683
- * Extract element type if array
683
+ * 배열이면 요소 타입 추출
684
684
  */
685
685
  type UnwrapArray<TArray> = TArray extends (infer TElement)[] ? TElement : TArray;
686
686
  declare const PATH_SYMBOL: unique symbol;
687
687
  /**
688
- * Type-safe path proxy for include()
688
+ * include()용 타입 안전 path proxy
689
689
  */
690
690
  export type PathProxy<TObject> = {
691
691
  [K in keyof TObject as TObject[K] extends ColumnPrimitive ? never : K]-?: PathProxy<UnwrapArray<TObject[K]>>;
@@ -693,22 +693,22 @@ export type PathProxy<TObject> = {
693
693
  readonly [PATH_SYMBOL]: string[];
694
694
  };
695
695
  /**
696
- * Generate a Queryable factory function for a Table or View
696
+ * Table 또는 View용 Queryable factory 함수 생성
697
697
  *
698
- * Used when defining per-Table/View getters in DbContext
698
+ * DbContext에서 Table/View getter를 정의할 때 사용
699
699
  *
700
- * @param db - DbContext instance
701
- * @param tableOrView - TableBuilder or ViewBuilder instance
702
- * @param as - Alias specification (optional, auto-created if not specified)
703
- * @returns Factory function that returns a Queryable
700
+ * @param db - DbContext 인스턴스
701
+ * @param tableOrView - TableBuilder 또는 ViewBuilder 인스턴스
702
+ * @param as - Alias 지정 (선택, 미지정 자동 생성)
703
+ * @returns Queryable을 반환하는 factory 함수
704
704
  *
705
705
  * @example
706
706
  * ```typescript
707
707
  * class AppDbContext extends DbContext {
708
- * // A new alias is assigned on each call
708
+ * // 호출할 때마다 alias 할당됨
709
709
  * user = queryable(this, User);
710
710
  *
711
- * // Usage example
711
+ * // 사용 예시
712
712
  * async getActiveUsers() {
713
713
  * return this.user()
714
714
  * .where((u) => [expr.eq(u.isActive, true)])