@simplysm/orm-node 13.0.0-beta.6 → 13.0.2

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 (186) hide show
  1. package/README.md +28 -23
  2. package/dist/connections/mssql-db-conn.d.ts.map +1 -0
  3. package/dist/connections/mssql-db-conn.js +3 -3
  4. package/dist/connections/mssql-db-conn.js.map +1 -2
  5. package/dist/connections/mysql-db-conn.d.ts.map +1 -0
  6. package/dist/connections/mysql-db-conn.js +3 -3
  7. package/dist/connections/mysql-db-conn.js.map +1 -2
  8. package/dist/connections/postgresql-db-conn.d.ts.map +1 -0
  9. package/dist/connections/postgresql-db-conn.js +3 -3
  10. package/dist/connections/postgresql-db-conn.js.map +1 -2
  11. package/dist/create-db-conn.d.ts +12 -0
  12. package/dist/create-db-conn.d.ts.map +1 -0
  13. package/dist/create-db-conn.js +75 -0
  14. package/dist/create-db-conn.js.map +6 -0
  15. package/dist/{orm-node/src/sd-orm.d.ts → create-orm.d.ts} +37 -37
  16. package/dist/create-orm.d.ts.map +1 -0
  17. package/dist/create-orm.js +32 -0
  18. package/dist/create-orm.js.map +6 -0
  19. package/dist/{orm-node/src/index.d.ts → index.d.ts} +2 -2
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +8 -8
  22. package/dist/index.js.map +0 -1
  23. package/dist/node-db-context-executor.d.ts.map +1 -0
  24. package/dist/node-db-context-executor.js +3 -3
  25. package/dist/node-db-context-executor.js.map +1 -2
  26. package/dist/pooled-db-conn.d.ts.map +1 -0
  27. package/dist/pooled-db-conn.js +3 -3
  28. package/dist/pooled-db-conn.js.map +1 -2
  29. package/dist/types/db-conn.d.ts.map +1 -0
  30. package/dist/types/db-conn.js.map +0 -1
  31. package/package.json +12 -8
  32. package/src/connections/mssql-db-conn.ts +2 -2
  33. package/src/connections/mysql-db-conn.ts +2 -2
  34. package/src/connections/postgresql-db-conn.ts +2 -2
  35. package/src/create-db-conn.ts +111 -0
  36. package/src/create-orm.ts +118 -0
  37. package/src/index.ts +2 -2
  38. package/src/node-db-context-executor.ts +2 -2
  39. package/src/pooled-db-conn.ts +2 -2
  40. package/.cache/typecheck-node.tsbuildinfo +0 -1
  41. package/dist/core-common/src/common.types.d.ts +0 -74
  42. package/dist/core-common/src/common.types.d.ts.map +0 -1
  43. package/dist/core-common/src/env.d.ts +0 -6
  44. package/dist/core-common/src/env.d.ts.map +0 -1
  45. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  46. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  47. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  48. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  49. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  50. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  51. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  52. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  53. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  54. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  55. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  56. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  57. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  58. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  59. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  60. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  61. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  62. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  63. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  64. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  65. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  66. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  67. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  68. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  69. package/dist/core-common/src/index.d.ts +0 -32
  70. package/dist/core-common/src/index.d.ts.map +0 -1
  71. package/dist/core-common/src/types/date-only.d.ts +0 -152
  72. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  73. package/dist/core-common/src/types/date-time.d.ts +0 -96
  74. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  75. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  76. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  77. package/dist/core-common/src/types/time.d.ts +0 -68
  78. package/dist/core-common/src/types/time.d.ts.map +0 -1
  79. package/dist/core-common/src/types/uuid.d.ts +0 -35
  80. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  81. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  82. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  83. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  84. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  85. package/dist/core-common/src/utils/json.d.ts +0 -34
  86. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  87. package/dist/core-common/src/utils/num.d.ts +0 -60
  88. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  89. package/dist/core-common/src/utils/obj.d.ts +0 -258
  90. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  91. package/dist/core-common/src/utils/path.d.ts +0 -23
  92. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  93. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  94. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  95. package/dist/core-common/src/utils/str.d.ts +0 -103
  96. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  97. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  98. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  99. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  100. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  101. package/dist/core-common/src/utils/wait.d.ts +0 -19
  102. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  103. package/dist/core-common/src/utils/xml.d.ts +0 -36
  104. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  105. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  106. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  107. package/dist/db-conn-factory.js +0 -88
  108. package/dist/db-conn-factory.js.map +0 -7
  109. package/dist/orm-common/src/db-context.d.ts +0 -669
  110. package/dist/orm-common/src/db-context.d.ts.map +0 -1
  111. package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
  112. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
  113. package/dist/orm-common/src/exec/executable.d.ts +0 -79
  114. package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
  115. package/dist/orm-common/src/exec/queryable.d.ts +0 -708
  116. package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
  117. package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
  118. package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
  119. package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
  120. package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
  121. package/dist/orm-common/src/expr/expr.d.ts +0 -1369
  122. package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
  123. package/dist/orm-common/src/index.d.ts +0 -32
  124. package/dist/orm-common/src/index.d.ts.map +0 -1
  125. package/dist/orm-common/src/models/system-migration.d.ts +0 -10
  126. package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
  127. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
  128. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
  129. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
  130. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
  131. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
  132. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
  133. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
  134. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
  135. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
  136. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
  137. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
  138. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
  139. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
  140. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
  141. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
  142. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
  143. package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
  144. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
  145. package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
  146. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
  147. package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
  148. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
  149. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
  150. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
  151. package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
  152. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
  153. package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
  154. package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
  155. package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
  156. package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
  157. package/dist/orm-common/src/types/column.d.ts +0 -172
  158. package/dist/orm-common/src/types/column.d.ts.map +0 -1
  159. package/dist/orm-common/src/types/db.d.ts +0 -175
  160. package/dist/orm-common/src/types/db.d.ts.map +0 -1
  161. package/dist/orm-common/src/types/expr.d.ts +0 -474
  162. package/dist/orm-common/src/types/expr.d.ts.map +0 -1
  163. package/dist/orm-common/src/types/query-def.d.ts +0 -351
  164. package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
  165. package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
  166. package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
  167. package/dist/orm-node/src/connections/mssql-db-conn.d.ts.map +0 -1
  168. package/dist/orm-node/src/connections/mysql-db-conn.d.ts.map +0 -1
  169. package/dist/orm-node/src/connections/postgresql-db-conn.d.ts.map +0 -1
  170. package/dist/orm-node/src/db-conn-factory.d.ts +0 -25
  171. package/dist/orm-node/src/db-conn-factory.d.ts.map +0 -1
  172. package/dist/orm-node/src/index.d.ts.map +0 -1
  173. package/dist/orm-node/src/node-db-context-executor.d.ts.map +0 -1
  174. package/dist/orm-node/src/pooled-db-conn.d.ts.map +0 -1
  175. package/dist/orm-node/src/sd-orm.d.ts.map +0 -1
  176. package/dist/orm-node/src/types/db-conn.d.ts.map +0 -1
  177. package/dist/sd-orm.js +0 -44
  178. package/dist/sd-orm.js.map +0 -7
  179. package/src/db-conn-factory.ts +0 -114
  180. package/src/sd-orm.ts +0 -102
  181. /package/dist/{orm-node/src/connections → connections}/mssql-db-conn.d.ts +0 -0
  182. /package/dist/{orm-node/src/connections → connections}/mysql-db-conn.d.ts +0 -0
  183. /package/dist/{orm-node/src/connections → connections}/postgresql-db-conn.d.ts +0 -0
  184. /package/dist/{orm-node/src/node-db-context-executor.d.ts → node-db-context-executor.d.ts} +0 -0
  185. /package/dist/{orm-node/src/pooled-db-conn.d.ts → pooled-db-conn.d.ts} +0 -0
  186. /package/dist/{orm-node/src/types → types}/db-conn.d.ts +0 -0
@@ -1,474 +0,0 @@
1
- import type { ColumnPrimitive, DataType } from "./column";
2
- import type { SelectQueryDef } from "./query-def";
3
- /**
4
- * 날짜 연산 단위
5
- *
6
- * dateDiff, dateAdd 등 날짜 함수에서 사용
7
- */
8
- export type DateSeparator = "year" | "month" | "day" | "hour" | "minute" | "second";
9
- /**
10
- * 컬럼 참조 표현식
11
- *
12
- * @property path - 컬럼 경로 (테이블별칭.컬럼명 등)
13
- */
14
- export interface ExprColumn {
15
- type: "column";
16
- path: string[];
17
- }
18
- /**
19
- * 리터럴 값 표현식
20
- *
21
- * @property value - 컬럼 프리미티브 값
22
- */
23
- export interface ExprValue {
24
- type: "value";
25
- value: ColumnPrimitive;
26
- }
27
- /**
28
- * Raw SQL 표현식
29
- *
30
- * @property sql - SQL 문자열 (파라미터는 {0}, {1}로 표시)
31
- * @property params - 파라미터 표현식 배열
32
- */
33
- export interface ExprRaw {
34
- type: "raw";
35
- sql: string;
36
- params: Expr[];
37
- }
38
- /** 동등 비교 (=) - NULL-safe */
39
- export interface ExprEq {
40
- type: "eq";
41
- source: Expr;
42
- target: Expr;
43
- }
44
- /** 초과 비교 (>) */
45
- export interface ExprGt {
46
- type: "gt";
47
- source: Expr;
48
- target: Expr;
49
- }
50
- /** 미만 비교 (<) */
51
- export interface ExprLt {
52
- type: "lt";
53
- source: Expr;
54
- target: Expr;
55
- }
56
- /** 이상 비교 (>=) */
57
- export interface ExprGte {
58
- type: "gte";
59
- source: Expr;
60
- target: Expr;
61
- }
62
- /** 이하 비교 (<=) */
63
- export interface ExprLte {
64
- type: "lte";
65
- source: Expr;
66
- target: Expr;
67
- }
68
- /** 범위 비교 (BETWEEN from AND to) */
69
- export interface ExprBetween {
70
- type: "between";
71
- source: Expr;
72
- from?: Expr;
73
- to?: Expr;
74
- }
75
- /** NULL 검사 (IS NULL) */
76
- export interface ExprIsNull {
77
- type: "null";
78
- arg: Expr;
79
- }
80
- /** 패턴 매칭 (LIKE) */
81
- export interface ExprLike {
82
- type: "like";
83
- source: Expr;
84
- pattern: Expr;
85
- }
86
- /** 정규식 매칭 (REGEXP) */
87
- export interface ExprRegexp {
88
- type: "regexp";
89
- source: Expr;
90
- pattern: Expr;
91
- }
92
- /** 값 목록 포함 검사 (IN) */
93
- export interface ExprIn {
94
- type: "in";
95
- source: Expr;
96
- values: Expr[];
97
- }
98
- /** 서브쿼리 결과 포함 검사 (IN subquery) */
99
- export interface ExprInQuery {
100
- type: "inQuery";
101
- source: Expr;
102
- query: SelectQueryDef;
103
- }
104
- /** 서브쿼리 존재 검사 (EXISTS) */
105
- export interface ExprExists {
106
- type: "exists";
107
- query: SelectQueryDef;
108
- }
109
- /** 논리 부정 (NOT) */
110
- export interface ExprNot {
111
- type: "not";
112
- arg: WhereExpr;
113
- }
114
- /** 논리 곱 (AND) */
115
- export interface ExprAnd {
116
- type: "and";
117
- conditions: WhereExpr[];
118
- }
119
- /** 논리 합 (OR) */
120
- export interface ExprOr {
121
- type: "or";
122
- conditions: WhereExpr[];
123
- }
124
- /** 문자열 연결 (CONCAT) */
125
- export interface ExprConcat {
126
- type: "concat";
127
- args: Expr[];
128
- }
129
- /** 왼쪽 N자 추출 (LEFT) */
130
- export interface ExprLeft {
131
- type: "left";
132
- source: Expr;
133
- length: Expr;
134
- }
135
- /** 오른쪽 N자 추출 (RIGHT) */
136
- export interface ExprRight {
137
- type: "right";
138
- source: Expr;
139
- length: Expr;
140
- }
141
- /** 좌우 공백 제거 (TRIM) */
142
- export interface ExprTrim {
143
- type: "trim";
144
- arg: Expr;
145
- }
146
- /** 왼쪽 패딩 (LPAD) */
147
- export interface ExprPadStart {
148
- type: "padStart";
149
- source: Expr;
150
- length: Expr;
151
- fillString: Expr;
152
- }
153
- /** 문자열 치환 (REPLACE) */
154
- export interface ExprReplace {
155
- type: "replace";
156
- source: Expr;
157
- from: Expr;
158
- to: Expr;
159
- }
160
- /** 대문자 변환 (UPPER) */
161
- export interface ExprUpper {
162
- type: "upper";
163
- arg: Expr;
164
- }
165
- /** 소문자 변환 (LOWER) */
166
- export interface ExprLower {
167
- type: "lower";
168
- arg: Expr;
169
- }
170
- /** 문자 길이 (CHAR_LENGTH) */
171
- export interface ExprLength {
172
- type: "length";
173
- arg: Expr;
174
- }
175
- /** 바이트 길이 (LENGTH/DATALENGTH) */
176
- export interface ExprByteLength {
177
- type: "byteLength";
178
- arg: Expr;
179
- }
180
- /** 부분 문자열 (SUBSTRING) */
181
- export interface ExprSubstring {
182
- type: "substring";
183
- source: Expr;
184
- start: Expr;
185
- length?: Expr;
186
- }
187
- /** 문자열 위치 (LOCATE/CHARINDEX/POSITION) */
188
- export interface ExprIndexOf {
189
- type: "indexOf";
190
- source: Expr;
191
- search: Expr;
192
- }
193
- /** 절대값 (ABS) */
194
- export interface ExprAbs {
195
- type: "abs";
196
- arg: Expr;
197
- }
198
- /** 반올림 (ROUND) */
199
- export interface ExprRound {
200
- type: "round";
201
- arg: Expr;
202
- digits: number;
203
- }
204
- /** 올림 (CEIL) */
205
- export interface ExprCeil {
206
- type: "ceil";
207
- arg: Expr;
208
- }
209
- /** 내림 (FLOOR) */
210
- export interface ExprFloor {
211
- type: "floor";
212
- arg: Expr;
213
- }
214
- /** 연도 추출 (YEAR) */
215
- export interface ExprYear {
216
- type: "year";
217
- arg: Expr;
218
- }
219
- /** 월 추출 (MONTH) */
220
- export interface ExprMonth {
221
- type: "month";
222
- arg: Expr;
223
- }
224
- /** 일 추출 (DAY) */
225
- export interface ExprDay {
226
- type: "day";
227
- arg: Expr;
228
- }
229
- /** 시간 추출 (HOUR) */
230
- export interface ExprHour {
231
- type: "hour";
232
- arg: Expr;
233
- }
234
- /** 분 추출 (MINUTE) */
235
- export interface ExprMinute {
236
- type: "minute";
237
- arg: Expr;
238
- }
239
- /** 초 추출 (SECOND) */
240
- export interface ExprSecond {
241
- type: "second";
242
- arg: Expr;
243
- }
244
- /** ISO 주차 (WEEK) */
245
- export interface ExprIsoWeek {
246
- type: "isoWeek";
247
- arg: Expr;
248
- }
249
- /** ISO 주 시작일 */
250
- export interface ExprIsoWeekStartDate {
251
- type: "isoWeekStartDate";
252
- arg: Expr;
253
- }
254
- /** ISO 연월 (YYYYMM 형식) */
255
- export interface ExprIsoYearMonth {
256
- type: "isoYearMonth";
257
- arg: Expr;
258
- }
259
- /** 날짜 차이 (DATEDIFF) */
260
- export interface ExprDateDiff {
261
- type: "dateDiff";
262
- separator: DateSeparator;
263
- from: Expr;
264
- to: Expr;
265
- }
266
- /** 날짜 연산 (DATEADD) */
267
- export interface ExprDateAdd {
268
- type: "dateAdd";
269
- separator: DateSeparator;
270
- source: Expr;
271
- value: Expr;
272
- }
273
- /** 날짜 포맷 (FORMAT/DATE_FORMAT) */
274
- export interface ExprFormatDate {
275
- type: "formatDate";
276
- source: Expr;
277
- format: string;
278
- }
279
- /** NULL 대체 (COALESCE - 첫 번째 non-null 반환) */
280
- export interface ExprIfNull {
281
- type: "ifNull";
282
- args: Expr[];
283
- }
284
- /** 조건부 NULL (NULLIF - source === value 이면 NULL) */
285
- export interface ExprNullIf {
286
- type: "nullIf";
287
- source: Expr;
288
- value: Expr;
289
- }
290
- /** 조건을 값으로 변환 (boolean → 0/1) */
291
- export interface ExprIs {
292
- type: "is";
293
- condition: WhereExpr;
294
- }
295
- /** CASE WHEN 표현식 */
296
- export interface ExprSwitch {
297
- type: "switch";
298
- cases: {
299
- when: WhereExpr;
300
- then: Expr;
301
- }[];
302
- else: Expr;
303
- }
304
- /** IF 표현식 (IIF/IF) */
305
- export interface ExprIf {
306
- type: "if";
307
- condition: WhereExpr;
308
- then: Expr;
309
- else?: Expr;
310
- }
311
- /** 레코드 수 (COUNT) */
312
- export interface ExprCount {
313
- type: "count";
314
- arg?: Expr;
315
- distinct?: boolean;
316
- }
317
- /** 합계 (SUM) */
318
- export interface ExprSum {
319
- type: "sum";
320
- arg: Expr;
321
- }
322
- /** 평균 (AVG) */
323
- export interface ExprAvg {
324
- type: "avg";
325
- arg: Expr;
326
- }
327
- /** 최대값 (MAX) */
328
- export interface ExprMax {
329
- type: "max";
330
- arg: Expr;
331
- }
332
- /** 최소값 (MIN) */
333
- export interface ExprMin {
334
- type: "min";
335
- arg: Expr;
336
- }
337
- /** 최대값 선택 (GREATEST) */
338
- export interface ExprGreatest {
339
- type: "greatest";
340
- args: Expr[];
341
- }
342
- /** 최소값 선택 (LEAST) */
343
- export interface ExprLeast {
344
- type: "least";
345
- args: Expr[];
346
- }
347
- /** 행 번호 (ROW_NUMBER 단순 버전) */
348
- export interface ExprRowNum {
349
- type: "rowNum";
350
- }
351
- /** 난수 (RAND/RANDOM) */
352
- export interface ExprRandom {
353
- type: "random";
354
- }
355
- /** 타입 변환 (CAST) */
356
- export interface ExprCast {
357
- type: "cast";
358
- source: Expr;
359
- targetType: DataType;
360
- }
361
- /** ROW_NUMBER() */
362
- export interface WinFnRowNumber {
363
- type: "rowNumber";
364
- }
365
- /** RANK() */
366
- export interface WinFnRank {
367
- type: "rank";
368
- }
369
- /** DENSE_RANK() */
370
- export interface WinFnDenseRank {
371
- type: "denseRank";
372
- }
373
- /** NTILE(n) */
374
- export interface WinFnNtile {
375
- type: "ntile";
376
- n: number;
377
- }
378
- /** LAG() - 이전 행 값 */
379
- export interface WinFnLag {
380
- type: "lag";
381
- column: Expr;
382
- offset?: number;
383
- default?: Expr;
384
- }
385
- /** LEAD() - 다음 행 값 */
386
- export interface WinFnLead {
387
- type: "lead";
388
- column: Expr;
389
- offset?: number;
390
- default?: Expr;
391
- }
392
- /** FIRST_VALUE() */
393
- export interface WinFnFirstValue {
394
- type: "firstValue";
395
- column: Expr;
396
- }
397
- /** LAST_VALUE() */
398
- export interface WinFnLastValue {
399
- type: "lastValue";
400
- column: Expr;
401
- }
402
- /** 윈도우 SUM */
403
- export interface WinFnSum {
404
- type: "sum";
405
- column: Expr;
406
- }
407
- /** 윈도우 AVG */
408
- export interface WinFnAvg {
409
- type: "avg";
410
- column: Expr;
411
- }
412
- /** 윈도우 COUNT */
413
- export interface WinFnCount {
414
- type: "count";
415
- column?: Expr;
416
- }
417
- /** 윈도우 MIN */
418
- export interface WinFnMin {
419
- type: "min";
420
- column: Expr;
421
- }
422
- /** 윈도우 MAX */
423
- export interface WinFnMax {
424
- type: "max";
425
- column: Expr;
426
- }
427
- /**
428
- * 윈도우 함수 유니언 타입
429
- *
430
- * 순위, 탐색, 집계 윈도우 함수
431
- */
432
- export type WinFn = WinFnRowNumber | WinFnRank | WinFnDenseRank | WinFnNtile | WinFnLag | WinFnLead | WinFnFirstValue | WinFnLastValue | WinFnSum | WinFnAvg | WinFnCount | WinFnMin | WinFnMax;
433
- /**
434
- * 윈도우 스펙 (OVER 절)
435
- *
436
- * @property partitionBy - PARTITION BY 표현식 목록
437
- * @property orderBy - ORDER BY [컬럼, 방향] 목록
438
- */
439
- export interface WinSpec {
440
- partitionBy?: Expr[];
441
- orderBy?: [Expr, ("ASC" | "DESC")?][];
442
- }
443
- /**
444
- * 윈도우 표현식
445
- *
446
- * 윈도우 함수 + 윈도우 스펙 조합
447
- */
448
- export interface ExprWindow {
449
- type: "window";
450
- fn: WinFn;
451
- spec: WinSpec;
452
- }
453
- /** 스칼라 서브쿼리 */
454
- export interface ExprSubquery {
455
- type: "subquery";
456
- queryDef: SelectQueryDef;
457
- }
458
- /**
459
- * WHERE 절에 사용되는 표현식 (boolean 반환)
460
- *
461
- * 비교 연산 + 논리 연산의 유니언 타입
462
- * where(), having() 등에서 사용
463
- */
464
- export type WhereExpr = ExprEq | ExprGt | ExprLt | ExprGte | ExprLte | ExprBetween | ExprIsNull | ExprLike | ExprRegexp | ExprIn | ExprInQuery | ExprExists | ExprNot | ExprAnd | ExprOr;
465
- /**
466
- * 모든 표현식 유니언 타입
467
- *
468
- * 값, 문자열, 숫자, 날짜, 조건, 집계, 윈도우 등 모든 표현식
469
- * select(), orderBy() 등에서 사용
470
- *
471
- * @see {@link WhereExpr} WHERE 절 전용 표현식
472
- */
473
- export type Expr = ExprColumn | ExprValue | ExprRaw | ExprConcat | ExprLeft | ExprRight | ExprTrim | ExprPadStart | ExprReplace | ExprUpper | ExprLower | ExprLength | ExprByteLength | ExprSubstring | ExprIndexOf | ExprAbs | ExprRound | ExprCeil | ExprFloor | ExprYear | ExprMonth | ExprDay | ExprHour | ExprMinute | ExprSecond | ExprIsoWeek | ExprIsoWeekStartDate | ExprIsoYearMonth | ExprDateDiff | ExprDateAdd | ExprFormatDate | ExprIfNull | ExprNullIf | ExprIs | ExprSwitch | ExprIf | ExprCount | ExprSum | ExprAvg | ExprMax | ExprMin | ExprGreatest | ExprLeast | ExprRowNum | ExprRandom | ExprCast | ExprWindow | ExprSubquery;
474
- //# sourceMappingURL=expr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/types/expr.ts"],"names":[],"mappings":"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"}