@simplysm/orm-common 13.0.68 → 13.0.70
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.
- package/README.md +54 -1447
- package/dist/create-db-context.d.ts +10 -10
- package/dist/create-db-context.js +9 -9
- package/dist/create-db-context.js.map +1 -1
- package/dist/ddl/column-ddl.d.ts +4 -4
- package/dist/ddl/initialize.d.ts +17 -17
- package/dist/ddl/initialize.js +2 -2
- package/dist/ddl/initialize.js.map +1 -1
- package/dist/ddl/relation-ddl.d.ts +6 -6
- package/dist/ddl/schema-ddl.d.ts +4 -4
- package/dist/ddl/table-ddl.d.ts +24 -24
- package/dist/ddl/table-ddl.js +4 -4
- package/dist/ddl/table-ddl.js.map +1 -1
- package/dist/errors/db-transaction-error.d.ts +15 -15
- package/dist/errors/db-transaction-error.d.ts.map +1 -1
- package/dist/exec/executable.d.ts +23 -23
- package/dist/exec/executable.js +3 -3
- package/dist/exec/executable.js.map +1 -1
- package/dist/exec/queryable.d.ts +160 -160
- package/dist/exec/queryable.js +119 -119
- package/dist/exec/queryable.js.map +1 -1
- package/dist/exec/search-parser.d.ts +37 -37
- package/dist/exec/search-parser.d.ts.map +1 -1
- package/dist/expr/expr-unit.d.ts +4 -4
- package/dist/expr/expr.d.ts +257 -257
- package/dist/expr/expr.js +265 -265
- package/dist/expr/expr.js.map +1 -1
- package/dist/query-builder/base/expr-renderer-base.d.ts +9 -9
- package/dist/query-builder/base/expr-renderer-base.js +2 -2
- package/dist/query-builder/base/expr-renderer-base.js.map +1 -1
- package/dist/query-builder/base/query-builder-base.d.ts +26 -26
- package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
- package/dist/query-builder/base/query-builder-base.js +22 -22
- package/dist/query-builder/base/query-builder-base.js.map +1 -1
- package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/mssql/mssql-expr-renderer.js +18 -18
- package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
- package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
- package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
- package/dist/query-builder/mssql/mssql-query-builder.js +11 -11
- package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
- package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/mysql/mysql-expr-renderer.js +17 -17
- package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
- package/dist/query-builder/mysql/mysql-query-builder.d.ts +8 -8
- package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
- package/dist/query-builder/mysql/mysql-query-builder.js +5 -5
- package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
- package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/postgresql/postgresql-expr-renderer.js +17 -17
- package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
- package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +5 -5
- package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
- package/dist/query-builder/postgresql/postgresql-query-builder.js +8 -8
- package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
- package/dist/query-builder/query-builder.d.ts +1 -1
- package/dist/schema/factory/column-builder.d.ts +79 -79
- package/dist/schema/factory/column-builder.js +42 -42
- package/dist/schema/factory/index-builder.d.ts +39 -39
- package/dist/schema/factory/index-builder.js +26 -26
- package/dist/schema/factory/relation-builder.d.ts +99 -99
- package/dist/schema/factory/relation-builder.d.ts.map +1 -1
- package/dist/schema/factory/relation-builder.js +38 -38
- package/dist/schema/procedure-builder.d.ts +49 -49
- package/dist/schema/procedure-builder.d.ts.map +1 -1
- package/dist/schema/procedure-builder.js +33 -33
- package/dist/schema/table-builder.d.ts +59 -59
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +43 -43
- package/dist/schema/view-builder.d.ts +49 -49
- package/dist/schema/view-builder.d.ts.map +1 -1
- package/dist/schema/view-builder.js +32 -32
- package/dist/types/column.d.ts +22 -22
- package/dist/types/column.js +1 -1
- package/dist/types/column.js.map +1 -1
- package/dist/types/db.d.ts +40 -40
- package/dist/types/expr.d.ts +59 -59
- package/dist/types/expr.d.ts.map +1 -1
- package/dist/types/query-def.d.ts +44 -44
- package/dist/types/query-def.d.ts.map +1 -1
- package/dist/utils/result-parser.d.ts +11 -11
- package/dist/utils/result-parser.js +3 -3
- package/dist/utils/result-parser.js.map +1 -1
- package/package.json +5 -5
- package/src/create-db-context.ts +20 -20
- package/src/ddl/column-ddl.ts +4 -4
- package/src/ddl/initialize.ts +259 -259
- package/src/ddl/relation-ddl.ts +89 -89
- package/src/ddl/schema-ddl.ts +4 -4
- package/src/ddl/table-ddl.ts +189 -189
- package/src/errors/db-transaction-error.ts +13 -13
- package/src/exec/executable.ts +25 -25
- package/src/exec/queryable.ts +2033 -2033
- package/src/exec/search-parser.ts +57 -57
- package/src/expr/expr-unit.ts +4 -4
- package/src/expr/expr.ts +2140 -2140
- package/src/query-builder/base/expr-renderer-base.ts +237 -237
- package/src/query-builder/base/query-builder-base.ts +213 -213
- package/src/query-builder/mssql/mssql-expr-renderer.ts +607 -607
- package/src/query-builder/mssql/mssql-query-builder.ts +650 -650
- package/src/query-builder/mysql/mysql-expr-renderer.ts +613 -613
- package/src/query-builder/mysql/mysql-query-builder.ts +759 -759
- package/src/query-builder/postgresql/postgresql-expr-renderer.ts +611 -611
- package/src/query-builder/postgresql/postgresql-query-builder.ts +686 -686
- package/src/query-builder/query-builder.ts +19 -19
- package/src/schema/factory/column-builder.ts +423 -423
- package/src/schema/factory/index-builder.ts +164 -164
- package/src/schema/factory/relation-builder.ts +453 -453
- package/src/schema/procedure-builder.ts +232 -232
- package/src/schema/table-builder.ts +319 -319
- package/src/schema/view-builder.ts +221 -221
- package/src/types/column.ts +188 -188
- package/src/types/db.ts +208 -208
- package/src/types/expr.ts +697 -697
- package/src/types/query-def.ts +513 -513
- package/src/utils/result-parser.ts +458 -458
- package/tests/db-context/create-db-context.spec.ts +224 -0
- package/tests/db-context/define-db-context.spec.ts +68 -0
- package/tests/ddl/basic.expected.ts +341 -0
- package/tests/ddl/basic.spec.ts +714 -0
- package/tests/ddl/column-builder.expected.ts +310 -0
- package/tests/ddl/column-builder.spec.ts +637 -0
- package/tests/ddl/index-builder.expected.ts +38 -0
- package/tests/ddl/index-builder.spec.ts +202 -0
- package/tests/ddl/procedure-builder.expected.ts +52 -0
- package/tests/ddl/procedure-builder.spec.ts +234 -0
- package/tests/ddl/relation-builder.expected.ts +36 -0
- package/tests/ddl/relation-builder.spec.ts +372 -0
- package/tests/ddl/table-builder.expected.ts +113 -0
- package/tests/ddl/table-builder.spec.ts +433 -0
- package/tests/ddl/view-builder.expected.ts +38 -0
- package/tests/ddl/view-builder.spec.ts +176 -0
- package/tests/dml/delete.expected.ts +96 -0
- package/tests/dml/delete.spec.ts +160 -0
- package/tests/dml/insert.expected.ts +192 -0
- package/tests/dml/insert.spec.ts +288 -0
- package/tests/dml/update.expected.ts +176 -0
- package/tests/dml/update.spec.ts +318 -0
- package/tests/dml/upsert.expected.ts +215 -0
- package/tests/dml/upsert.spec.ts +242 -0
- package/tests/errors/queryable-errors.spec.ts +177 -0
- package/tests/escape.spec.ts +100 -0
- package/tests/examples/pivot.expected.ts +211 -0
- package/tests/examples/pivot.spec.ts +533 -0
- package/tests/examples/sampling.expected.ts +69 -0
- package/tests/examples/sampling.spec.ts +104 -0
- package/tests/examples/unpivot.expected.ts +120 -0
- package/tests/examples/unpivot.spec.ts +226 -0
- package/tests/exec/search-parser.spec.ts +283 -0
- package/tests/executable/basic.expected.ts +18 -0
- package/tests/executable/basic.spec.ts +54 -0
- package/tests/expr/comparison.expected.ts +282 -0
- package/tests/expr/comparison.spec.ts +400 -0
- package/tests/expr/conditional.expected.ts +134 -0
- package/tests/expr/conditional.spec.ts +276 -0
- package/tests/expr/date.expected.ts +332 -0
- package/tests/expr/date.spec.ts +526 -0
- package/tests/expr/math.expected.ts +62 -0
- package/tests/expr/math.spec.ts +106 -0
- package/tests/expr/string.expected.ts +218 -0
- package/tests/expr/string.spec.ts +356 -0
- package/tests/expr/utility.expected.ts +147 -0
- package/tests/expr/utility.spec.ts +182 -0
- package/tests/select/basic.expected.ts +322 -0
- package/tests/select/basic.spec.ts +502 -0
- package/tests/select/filter.expected.ts +357 -0
- package/tests/select/filter.spec.ts +1068 -0
- package/tests/select/group.expected.ts +169 -0
- package/tests/select/group.spec.ts +244 -0
- package/tests/select/join.expected.ts +582 -0
- package/tests/select/join.spec.ts +805 -0
- package/tests/select/order.expected.ts +150 -0
- package/tests/select/order.spec.ts +189 -0
- package/tests/select/recursive-cte.expected.ts +244 -0
- package/tests/select/recursive-cte.spec.ts +514 -0
- package/tests/select/result-meta.spec.ts +270 -0
- package/tests/select/subquery.expected.ts +363 -0
- package/tests/select/subquery.spec.ts +537 -0
- package/tests/select/view.expected.ts +155 -0
- package/tests/select/view.spec.ts +235 -0
- package/tests/select/window.expected.ts +345 -0
- package/tests/select/window.spec.ts +618 -0
- package/tests/setup/MockExecutor.ts +18 -0
- package/tests/setup/TestDbContext.ts +59 -0
- package/tests/setup/models/Company.ts +13 -0
- package/tests/setup/models/Employee.ts +10 -0
- package/tests/setup/models/MonthlySales.ts +11 -0
- package/tests/setup/models/Post.ts +16 -0
- package/tests/setup/models/Sales.ts +10 -0
- package/tests/setup/models/User.ts +19 -0
- package/tests/setup/procedure/GetAllUsers.ts +9 -0
- package/tests/setup/procedure/GetUserById.ts +12 -0
- package/tests/setup/test-utils.ts +72 -0
- package/tests/setup/views/ActiveUsers.ts +8 -0
- package/tests/setup/views/UserSummary.ts +11 -0
- package/tests/types/nullable-queryable-record.spec.ts +145 -0
- package/tests/utils/result-parser-perf.spec.ts +210 -0
- package/tests/utils/result-parser.spec.ts +701 -0
- package/docs/expressions.md +0 -172
- package/docs/queries.md +0 -444
- package/docs/schema.md +0 -245
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ColumnPrimitive, DataType } from "./column";
|
|
2
2
|
import type { Expr, WhereExpr } from "./expr";
|
|
3
3
|
/**
|
|
4
|
-
* DB
|
|
4
|
+
* DB object 이름 (table, View, Procedure 등)
|
|
5
5
|
*
|
|
6
6
|
* DBMS별 네임스페이스:
|
|
7
7
|
* - MySQL: `database.name` (schema 무시)
|
|
8
|
-
* - MSSQL: `database.schema.name` (schema
|
|
8
|
+
* - MSSQL: `database.schema.name` (schema Default value: dbo)
|
|
9
9
|
* - PostgreSQL: `schema.name` (database는 connection용)
|
|
10
10
|
*/
|
|
11
11
|
export interface QueryDefObjectName {
|
|
@@ -14,9 +14,9 @@ export interface QueryDefObjectName {
|
|
|
14
14
|
name: string;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* CUD
|
|
17
|
+
* CUD query의 OUTPUT 절 definition
|
|
18
18
|
*
|
|
19
|
-
* INSERT/UPDATE/DELETE 후 반환값
|
|
19
|
+
* INSERT/UPDATE/DELETE 후 반환값 definition
|
|
20
20
|
*/
|
|
21
21
|
export interface CudOutputDef {
|
|
22
22
|
columns: string[];
|
|
@@ -24,22 +24,22 @@ export interface CudOutputDef {
|
|
|
24
24
|
aiColName?: string;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* SELECT
|
|
27
|
+
* SELECT Query definition
|
|
28
28
|
*
|
|
29
|
-
* @property type -
|
|
30
|
-
* @property from - FROM 절 (
|
|
31
|
-
* @property as -
|
|
32
|
-
* @property select - SELECT 절
|
|
29
|
+
* @property type - Query type ("select")
|
|
30
|
+
* @property from - FROM 절 (table/Subquery)
|
|
31
|
+
* @property as - Table 별칭
|
|
32
|
+
* @property select - SELECT 절 column Mapping
|
|
33
33
|
* @property distinct - DISTINCT 여부
|
|
34
34
|
* @property top - TOP N (MSSQL)
|
|
35
35
|
* @property lock - 락 여부
|
|
36
|
-
* @property where - WHERE
|
|
37
|
-
* @property joins - JOIN
|
|
38
|
-
* @property orderBy - ORDER BY [
|
|
36
|
+
* @property where - WHERE condition array
|
|
37
|
+
* @property joins - JOIN definition array
|
|
38
|
+
* @property orderBy - ORDER BY [column, 방향] array
|
|
39
39
|
* @property limit - LIMIT [offset, count]
|
|
40
|
-
* @property groupBy - GROUP BY
|
|
41
|
-
* @property having - HAVING
|
|
42
|
-
* @property with -
|
|
40
|
+
* @property groupBy - GROUP BY expression array
|
|
41
|
+
* @property having - HAVING condition array
|
|
42
|
+
* @property with - recursive CTE definition
|
|
43
43
|
*/
|
|
44
44
|
export interface SelectQueryDef {
|
|
45
45
|
type: "select";
|
|
@@ -62,20 +62,20 @@ export interface SelectQueryDef {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* JOIN
|
|
65
|
+
* JOIN Query definition
|
|
66
66
|
*
|
|
67
|
-
* SelectQueryDef 확장 + isSingle
|
|
67
|
+
* SelectQueryDef 확장 + isSingle flag
|
|
68
68
|
*/
|
|
69
69
|
export interface SelectQueryDefJoin extends SelectQueryDef {
|
|
70
|
-
/** 단일
|
|
70
|
+
/** 단일 result 여부 (1:1 relationship) */
|
|
71
71
|
isSingle?: boolean;
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
* INSERT
|
|
74
|
+
* INSERT Query definition
|
|
75
75
|
*
|
|
76
|
-
* @property records -
|
|
77
|
-
* @property overrideIdentity - IDENTITY_INSERT
|
|
78
|
-
* @property output - OUTPUT 절
|
|
76
|
+
* @property records - Insert할 레코드 array
|
|
77
|
+
* @property overrideIdentity - IDENTITY_INSERT Enable 여부
|
|
78
|
+
* @property output - OUTPUT 절 definition
|
|
79
79
|
*/
|
|
80
80
|
export interface InsertQueryDef {
|
|
81
81
|
type: "insert";
|
|
@@ -85,7 +85,7 @@ export interface InsertQueryDef {
|
|
|
85
85
|
output?: CudOutputDef;
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
* 조건부 INSERT
|
|
88
|
+
* 조건부 INSERT Query definition
|
|
89
89
|
*
|
|
90
90
|
* 존재하지 않는 경우에만 삽입
|
|
91
91
|
*/
|
|
@@ -98,9 +98,9 @@ export interface InsertIfNotExistsQueryDef {
|
|
|
98
98
|
output?: CudOutputDef;
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
|
-
* INSERT INTO SELECT
|
|
101
|
+
* INSERT INTO SELECT Query definition
|
|
102
102
|
*
|
|
103
|
-
*
|
|
103
|
+
* Subquery 결과를 삽입
|
|
104
104
|
*/
|
|
105
105
|
export interface InsertIntoQueryDef {
|
|
106
106
|
type: "insertInto";
|
|
@@ -110,9 +110,9 @@ export interface InsertIntoQueryDef {
|
|
|
110
110
|
output?: CudOutputDef;
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
|
-
* UPDATE
|
|
113
|
+
* UPDATE Query definition
|
|
114
114
|
*
|
|
115
|
-
* @property record -
|
|
115
|
+
* @property record - Update할 column/value Mapping
|
|
116
116
|
* @property joins - UPDATE JOIN (지원 시)
|
|
117
117
|
*/
|
|
118
118
|
export interface UpdateQueryDef {
|
|
@@ -127,7 +127,7 @@ export interface UpdateQueryDef {
|
|
|
127
127
|
output?: CudOutputDef;
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
|
-
* DELETE
|
|
130
|
+
* DELETE Query definition
|
|
131
131
|
*/
|
|
132
132
|
export interface DeleteQueryDef {
|
|
133
133
|
type: "delete";
|
|
@@ -140,9 +140,9 @@ export interface DeleteQueryDef {
|
|
|
140
140
|
output?: CudOutputDef;
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
|
-
* UPSERT
|
|
143
|
+
* UPSERT Query definition
|
|
144
144
|
*
|
|
145
|
-
* INSERT or UPDATE (MERGE
|
|
145
|
+
* INSERT or UPDATE (MERGE Pattern)
|
|
146
146
|
*/
|
|
147
147
|
export interface UpsertQueryDef {
|
|
148
148
|
type: "upsert";
|
|
@@ -153,13 +153,13 @@ export interface UpsertQueryDef {
|
|
|
153
153
|
overrideIdentity?: boolean;
|
|
154
154
|
output?: CudOutputDef;
|
|
155
155
|
}
|
|
156
|
-
/** FK
|
|
156
|
+
/** FK constraint Enable/Disable */
|
|
157
157
|
export interface SwitchFkQueryDef {
|
|
158
158
|
type: "switchFk";
|
|
159
159
|
table: QueryDefObjectName;
|
|
160
160
|
switch: "on" | "off";
|
|
161
161
|
}
|
|
162
|
-
/**
|
|
162
|
+
/** Clear schema (모든 object Delete) */
|
|
163
163
|
export interface ClearSchemaQueryDef {
|
|
164
164
|
type: "clearSchema";
|
|
165
165
|
database: string;
|
|
@@ -212,7 +212,7 @@ export interface DropColumnQueryDef {
|
|
|
212
212
|
table: QueryDefObjectName;
|
|
213
213
|
column: string;
|
|
214
214
|
}
|
|
215
|
-
/** MODIFY COLUMN (
|
|
215
|
+
/** MODIFY COLUMN (type/property Change) */
|
|
216
216
|
export interface ModifyColumnQueryDef {
|
|
217
217
|
type: "modifyColumn";
|
|
218
218
|
table: QueryDefObjectName;
|
|
@@ -317,35 +317,35 @@ export interface ExecProcQueryDef {
|
|
|
317
317
|
procedure: QueryDefObjectName;
|
|
318
318
|
params: Record<string, Expr> | undefined;
|
|
319
319
|
}
|
|
320
|
-
/**
|
|
320
|
+
/** Check schema existence */
|
|
321
321
|
export interface SchemaExistsQueryDef {
|
|
322
322
|
type: "schemaExists";
|
|
323
323
|
database: string;
|
|
324
324
|
schema?: string;
|
|
325
325
|
}
|
|
326
326
|
/**
|
|
327
|
-
* DDL (Data Definition Language)
|
|
327
|
+
* DDL (Data Definition Language) type 상수
|
|
328
328
|
*
|
|
329
|
-
*
|
|
330
|
-
* satisfies 키워드로 DdlQueryDef와의
|
|
329
|
+
* Transaction 내 DDL 차단 및 DDL type Validation에 사용
|
|
330
|
+
* satisfies 키워드로 DdlQueryDef와의 synchronous화를 컴파일 타임에 Validation
|
|
331
331
|
*
|
|
332
332
|
* @remarks
|
|
333
|
-
* switchFk는 DDL이 아니므로
|
|
333
|
+
* switchFk는 DDL이 아니므로 exclude (transaction 내 사용 가능)
|
|
334
334
|
*/
|
|
335
335
|
export declare const DDL_TYPES: readonly ["clearSchema", "createTable", "dropTable", "renameTable", "truncate", "addColumn", "dropColumn", "modifyColumn", "renameColumn", "dropPk", "addPk", "addFk", "dropFk", "addIdx", "dropIdx", "createView", "dropView", "createProc", "dropProc"];
|
|
336
|
-
/** DDL
|
|
336
|
+
/** DDL type union */
|
|
337
337
|
export type DdlType = (typeof DDL_TYPES)[number];
|
|
338
338
|
/**
|
|
339
|
-
* 모든
|
|
339
|
+
* 모든 Query definition union type
|
|
340
340
|
*
|
|
341
341
|
* DML (SELECT/INSERT/UPDATE/DELETE/UPSERT) +
|
|
342
342
|
* DDL (Table/Column/PK/FK/Index/View/Procedure) +
|
|
343
343
|
* Utils (SwitchFk) + Meta (SchemaExists)
|
|
344
344
|
*
|
|
345
|
-
* @see {@link SelectQueryDef} SELECT
|
|
346
|
-
* @see {@link InsertQueryDef} INSERT
|
|
347
|
-
* @see {@link UpdateQueryDef} UPDATE
|
|
348
|
-
* @see {@link DeleteQueryDef} DELETE
|
|
345
|
+
* @see {@link SelectQueryDef} SELECT query
|
|
346
|
+
* @see {@link InsertQueryDef} INSERT query
|
|
347
|
+
* @see {@link UpdateQueryDef} UPDATE query
|
|
348
|
+
* @see {@link DeleteQueryDef} DELETE query
|
|
349
349
|
*/
|
|
350
350
|
export type QueryDef = SelectQueryDef | InsertQueryDef | InsertIfNotExistsQueryDef | InsertIntoQueryDef | UpdateQueryDef | DeleteQueryDef | UpsertQueryDef | ClearSchemaQueryDef | CreateTableQueryDef | DropTableQueryDef | RenameTableQueryDef | TruncateQueryDef | AddColumnQueryDef | DropColumnQueryDef | ModifyColumnQueryDef | RenameColumnQueryDef | DropPkQueryDef | AddPkQueryDef | AddFkQueryDef | DropFkQueryDef | AddIdxQueryDef | DropIdxQueryDef | CreateViewQueryDef | DropViewQueryDef | CreateProcQueryDef | DropProcQueryDef | ExecProcQueryDef | SwitchFkQueryDef | SchemaExistsQueryDef;
|
|
351
351
|
//# sourceMappingURL=query-def.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-def.d.ts","sourceRoot":"","sources":["..\\..\\src\\types\\query-def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAI9C;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,cAAc,CAAA;KAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,
|
|
1
|
+
{"version":3,"file":"query-def.d.ts","sourceRoot":"","sources":["..\\..\\src\\types\\query-def.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import type { ResultMeta } from "../types/db";
|
|
2
2
|
/**
|
|
3
|
-
* DB
|
|
3
|
+
* Transform DB query result to TypeScript object via ResultMeta
|
|
4
4
|
*
|
|
5
|
-
* @param rawResults -
|
|
6
|
-
* @param meta -
|
|
7
|
-
* @returns
|
|
8
|
-
* @throws
|
|
5
|
+
* @param rawResults - Raw result array from database
|
|
6
|
+
* @param meta - Type transformation and JOIN structure information (required)
|
|
7
|
+
* @returns Type-transformed and nested result array. Returns undefined if input is empty or no valid results
|
|
8
|
+
* @throws Error if type parsing fails
|
|
9
9
|
*
|
|
10
10
|
* @remarks
|
|
11
|
-
* - meta
|
|
12
|
-
* - async only:
|
|
13
|
-
* - browser/node
|
|
14
|
-
* -
|
|
11
|
+
* - meta required: no need to call this function without meta (input = output)
|
|
12
|
+
* - async only: no synchronous version provided for large-scale processing to allow external interrupts
|
|
13
|
+
* - browser/node compatible: yields via setTimeout(resolve, 0)
|
|
14
|
+
* - empty result handling: returns undefined if input array is empty or all records are empty objects after parsing
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```typescript
|
|
18
|
-
* // 1.
|
|
18
|
+
* // 1. Simple type parsing
|
|
19
19
|
* const raw = [{ id: "1", createdAt: "2026-01-07T10:00:00.000Z" }];
|
|
20
20
|
* const meta = { columns: { id: "number", createdAt: "DateTime" }, joins: {} };
|
|
21
21
|
* const result = await parseQueryResult(raw, meta);
|
|
22
22
|
* // [{ id: 1, createdAt: DateTime(...) }]
|
|
23
23
|
*
|
|
24
|
-
* // 2. JOIN
|
|
24
|
+
* // 2. JOIN result nesting
|
|
25
25
|
* const raw = [
|
|
26
26
|
* { id: 1, name: "User1", "posts.id": 10, "posts.title": "Post1" },
|
|
27
27
|
* { id: 1, name: "User1", "posts.id": 11, "posts.title": "Post2" },
|
|
@@ -7,7 +7,7 @@ function parseValue(value, type) {
|
|
|
7
7
|
case "number": {
|
|
8
8
|
const num = Number(value);
|
|
9
9
|
if (Number.isNaN(num)) {
|
|
10
|
-
throw new Error(`
|
|
10
|
+
throw new Error(`Failed to parse number: ${String(value)}`);
|
|
11
11
|
}
|
|
12
12
|
return num;
|
|
13
13
|
}
|
|
@@ -29,7 +29,7 @@ function parseValue(value, type) {
|
|
|
29
29
|
case "Bytes":
|
|
30
30
|
if (value instanceof Uint8Array) return value;
|
|
31
31
|
if (typeof value === "string") return bytesFromHex(value);
|
|
32
|
-
throw new Error(`
|
|
32
|
+
throw new Error(`Failed to parse Bytes: ${typeof value}`);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
function flatToNested(record, columns) {
|
|
@@ -202,7 +202,7 @@ function mergeJoinData(existingGroup, newRecord, localKey, isSingle) {
|
|
|
202
202
|
if (isSingle) {
|
|
203
203
|
if (existingJoinData != null) {
|
|
204
204
|
if (!objEqual(existingJoinData, newJoinData)) {
|
|
205
|
-
throw new Error(`isSingle
|
|
205
|
+
throw new Error(`isSingle relationship '${localKey}' has multiple different results.`);
|
|
206
206
|
}
|
|
207
207
|
} else {
|
|
208
208
|
existingGroup[localKey] = newJoinData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/result-parser.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,cAAc,UAAU,UAAU,UAAU,MAAM,YAAY;AAkBvE,SAAS,WAAW,OAAgB,MAAmC;AAErE,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,UAAQ,MAAM;AAAA,IACZ,KAAK,UAAU;AACb,YAAM,MAAM,OAAO,KAAK;AACxB,UAAI,OAAO,MAAM,GAAG,GAAG;AACrB,cAAM,IAAI,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/orm-common",
|
|
3
|
-
"version": "13.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"author": "
|
|
3
|
+
"version": "13.0.70",
|
|
4
|
+
"description": "Simplysm Package - ORM Module (common)",
|
|
5
|
+
"author": "simplysm",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
17
|
"src",
|
|
18
|
-
"
|
|
18
|
+
"tests"
|
|
19
19
|
],
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@simplysm/core-common": "13.0.
|
|
22
|
+
"@simplysm/core-common": "13.0.70"
|
|
23
23
|
}
|
|
24
24
|
}
|
package/src/create-db-context.ts
CHANGED
|
@@ -30,18 +30,18 @@ import type { ForeignKeyBuilder } from "./schema/factory/relation-builder";
|
|
|
30
30
|
import type { IndexBuilder } from "./schema/factory/index-builder";
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
* DbContext
|
|
33
|
+
* DbContext instance factory
|
|
34
34
|
*
|
|
35
|
-
* DbContextDef(
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* Takes DbContextDef (definition) and DbContextExecutor (executor) and creates
|
|
36
|
+
* a complete DbContext instance including queryable accessors, DDL methods,
|
|
37
|
+
* and connection/transaction management
|
|
38
38
|
*
|
|
39
|
-
* @param def - defineDbContext()
|
|
40
|
-
* @param executor -
|
|
41
|
-
* @param opt -
|
|
42
|
-
* @param opt.database -
|
|
43
|
-
* @param opt.schema -
|
|
44
|
-
* @returns
|
|
39
|
+
* @param def - Definition object created by defineDbContext()
|
|
40
|
+
* @param executor - Query executor (NodeDbContextExecutor, ServiceDbContextExecutor, etc.)
|
|
41
|
+
* @param opt - Database options
|
|
42
|
+
* @param opt.database - Database name
|
|
43
|
+
* @param opt.schema - Schema name (MSSQL: dbo, PostgreSQL: public)
|
|
44
|
+
* @returns A complete DbContext instance
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
47
|
* ```typescript
|
|
@@ -93,7 +93,7 @@ export function createDbContext<TDef extends DbContextDef<any, any, any>>(
|
|
|
93
93
|
status === "transact" &&
|
|
94
94
|
defs.some((d) => (DDL_TYPES as readonly string[]).includes(d.type))
|
|
95
95
|
) {
|
|
96
|
-
throw new Error("
|
|
96
|
+
throw new Error("Cannot execute DDL while in TRANSACTION state.");
|
|
97
97
|
}
|
|
98
98
|
return executor.executeDefs(defs, resultMetas);
|
|
99
99
|
},
|
|
@@ -134,10 +134,10 @@ export function createDbContext<TDef extends DbContextDef<any, any, any>>(
|
|
|
134
134
|
//#region ========== Connection management ==========
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
|
-
*
|
|
137
|
+
* Execute callback within a transaction (automatic commit/rollback)
|
|
138
138
|
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
139
|
+
* Connect -> Start transaction -> Execute callback -> Commit -> Close connection
|
|
140
|
+
* If error occurs, automatically rollback and close connection
|
|
141
141
|
*/
|
|
142
142
|
async connect<TResult>(
|
|
143
143
|
fn: () => Promise<TResult>,
|
|
@@ -187,9 +187,9 @@ export function createDbContext<TDef extends DbContextDef<any, any, any>>(
|
|
|
187
187
|
},
|
|
188
188
|
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
190
|
+
* Connect without transaction, execute callback, and auto-close
|
|
191
191
|
*
|
|
192
|
-
* DDL
|
|
192
|
+
* Used for DDL operations or read operations that don't require transactions
|
|
193
193
|
*/
|
|
194
194
|
async connectWithoutTransaction<TResult>(callback: () => Promise<TResult>): Promise<TResult> {
|
|
195
195
|
validateRelationsImpl(def);
|
|
@@ -213,16 +213,16 @@ export function createDbContext<TDef extends DbContextDef<any, any, any>>(
|
|
|
213
213
|
},
|
|
214
214
|
|
|
215
215
|
/**
|
|
216
|
-
*
|
|
216
|
+
* Start transaction in already connected state (automatic commit/rollback)
|
|
217
217
|
*
|
|
218
|
-
*
|
|
218
|
+
* Used when transaction is needed partially within connectWithoutTransaction
|
|
219
219
|
*/
|
|
220
220
|
async trans<TResult>(
|
|
221
221
|
fn: () => Promise<TResult>,
|
|
222
222
|
isolationLevel?: IsolationLevel,
|
|
223
223
|
): Promise<TResult> {
|
|
224
224
|
if (status === "transact") {
|
|
225
|
-
throw new Error("
|
|
225
|
+
throw new Error("Already in TRANSACTION state.");
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
await executor.beginTransaction(isolationLevel);
|
|
@@ -246,7 +246,7 @@ export function createDbContext<TDef extends DbContextDef<any, any, any>>(
|
|
|
246
246
|
} else {
|
|
247
247
|
throw err1;
|
|
248
248
|
}
|
|
249
|
-
// NO_ACTIVE_TRANSACTION
|
|
249
|
+
// If NO_ACTIVE_TRANSACTION error, ignore and throw original error
|
|
250
250
|
status = "connect";
|
|
251
251
|
}
|
|
252
252
|
throw err;
|
package/src/ddl/column-ddl.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
} from "../types/query-def";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* ADD COLUMN QueryDef
|
|
11
|
+
* Generate ADD COLUMN QueryDef
|
|
12
12
|
*/
|
|
13
13
|
export function getAddColumnQueryDef(
|
|
14
14
|
table: QueryDefObjectName,
|
|
@@ -29,7 +29,7 @@ export function getAddColumnQueryDef(
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
* DROP COLUMN QueryDef
|
|
32
|
+
* Generate DROP COLUMN QueryDef
|
|
33
33
|
*/
|
|
34
34
|
export function getDropColumnQueryDef(
|
|
35
35
|
table: QueryDefObjectName,
|
|
@@ -39,7 +39,7 @@ export function getDropColumnQueryDef(
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
|
-
* MODIFY COLUMN QueryDef
|
|
42
|
+
* Generate MODIFY COLUMN QueryDef
|
|
43
43
|
*/
|
|
44
44
|
export function getModifyColumnQueryDef(
|
|
45
45
|
table: QueryDefObjectName,
|
|
@@ -60,7 +60,7 @@ export function getModifyColumnQueryDef(
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
* RENAME COLUMN QueryDef
|
|
63
|
+
* Generate RENAME COLUMN QueryDef
|
|
64
64
|
*/
|
|
65
65
|
export function getRenameColumnQueryDef(
|
|
66
66
|
table: QueryDefObjectName,
|