@simplysm/orm-common 13.0.100 → 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.
- package/dist/create-db-context.d.ts +10 -10
- package/dist/create-db-context.js +312 -276
- package/dist/create-db-context.js.map +1 -6
- package/dist/ddl/column-ddl.d.ts +4 -4
- package/dist/ddl/column-ddl.js +41 -35
- package/dist/ddl/column-ddl.js.map +1 -6
- package/dist/ddl/initialize.d.ts +17 -17
- package/dist/ddl/initialize.js +200 -142
- package/dist/ddl/initialize.js.map +1 -6
- package/dist/ddl/relation-ddl.d.ts +6 -6
- package/dist/ddl/relation-ddl.js +55 -48
- package/dist/ddl/relation-ddl.js.map +1 -6
- package/dist/ddl/schema-ddl.d.ts +4 -4
- package/dist/ddl/schema-ddl.js +21 -15
- package/dist/ddl/schema-ddl.js.map +1 -6
- package/dist/ddl/table-ddl.d.ts +20 -20
- package/dist/ddl/table-ddl.js +139 -93
- package/dist/ddl/table-ddl.js.map +1 -6
- package/dist/define-db-context.js +10 -13
- package/dist/define-db-context.js.map +1 -6
- package/dist/errors/db-transaction-error.d.ts +15 -15
- package/dist/errors/db-transaction-error.d.ts.map +1 -1
- package/dist/errors/db-transaction-error.js +53 -19
- package/dist/errors/db-transaction-error.js.map +1 -6
- package/dist/exec/executable.d.ts +23 -23
- package/dist/exec/executable.js +94 -40
- package/dist/exec/executable.js.map +1 -6
- package/dist/exec/queryable.d.ts +97 -97
- package/dist/exec/queryable.js +1310 -1204
- package/dist/exec/queryable.js.map +1 -6
- package/dist/exec/search-parser.d.ts +31 -31
- package/dist/exec/search-parser.d.ts.map +1 -1
- package/dist/exec/search-parser.js +158 -59
- package/dist/exec/search-parser.js.map +1 -6
- package/dist/expr/expr-unit.d.ts +4 -4
- package/dist/expr/expr-unit.js +24 -18
- package/dist/expr/expr-unit.js.map +1 -6
- package/dist/expr/expr.d.ts +6 -6
- package/dist/expr/expr.js +1872 -1844
- package/dist/expr/expr.js.map +1 -6
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -6
- package/dist/models/system-migration.js +7 -7
- package/dist/models/system-migration.js.map +1 -6
- package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
- package/dist/query-builder/base/expr-renderer-base.js +27 -21
- package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
- package/dist/query-builder/base/query-builder-base.d.ts +21 -21
- package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
- package/dist/query-builder/base/query-builder-base.js +90 -80
- package/dist/query-builder/base/query-builder-base.js.map +1 -6
- 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 +447 -420
- package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
- package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
- package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
- 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 +451 -419
- package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
- package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
- package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
- 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 +449 -422
- package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
- package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
- package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
- package/dist/query-builder/query-builder.d.ts +1 -1
- package/dist/query-builder/query-builder.js +13 -13
- package/dist/query-builder/query-builder.js.map +1 -6
- package/dist/schema/factory/column-builder.d.ts +84 -84
- package/dist/schema/factory/column-builder.js +248 -185
- package/dist/schema/factory/column-builder.js.map +1 -6
- package/dist/schema/factory/index-builder.d.ts +38 -38
- package/dist/schema/factory/index-builder.js +144 -85
- package/dist/schema/factory/index-builder.js.map +1 -6
- package/dist/schema/factory/relation-builder.d.ts +91 -91
- package/dist/schema/factory/relation-builder.d.ts.map +1 -1
- package/dist/schema/factory/relation-builder.js +274 -136
- package/dist/schema/factory/relation-builder.js.map +1 -6
- package/dist/schema/procedure-builder.d.ts +51 -51
- package/dist/schema/procedure-builder.d.ts.map +1 -1
- package/dist/schema/procedure-builder.js +205 -131
- package/dist/schema/procedure-builder.js.map +1 -6
- package/dist/schema/table-builder.d.ts +55 -55
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +274 -205
- package/dist/schema/table-builder.js.map +1 -6
- package/dist/schema/view-builder.d.ts +44 -44
- package/dist/schema/view-builder.d.ts.map +1 -1
- package/dist/schema/view-builder.js +189 -116
- package/dist/schema/view-builder.js.map +1 -6
- package/dist/types/column.js +60 -30
- package/dist/types/column.js.map +1 -6
- package/dist/types/db-context-def.d.ts +9 -9
- package/dist/types/db-context-def.js +2 -1
- package/dist/types/db-context-def.js.map +1 -6
- package/dist/types/db.d.ts +47 -47
- package/dist/types/db.js +15 -5
- package/dist/types/db.js.map +1 -6
- package/dist/types/expr.d.ts +81 -81
- package/dist/types/expr.d.ts.map +1 -1
- package/dist/types/expr.js +3 -1
- package/dist/types/expr.js.map +1 -6
- package/dist/types/query-def.d.ts +46 -46
- package/dist/types/query-def.d.ts.map +1 -1
- package/dist/types/query-def.js +31 -24
- package/dist/types/query-def.js.map +1 -6
- package/dist/utils/result-parser.js +362 -221
- package/dist/utils/result-parser.js.map +1 -6
- package/package.json +5 -7
- package/src/create-db-context.ts +31 -31
- package/src/ddl/column-ddl.ts +4 -4
- package/src/ddl/initialize.ts +38 -38
- package/src/ddl/relation-ddl.ts +6 -6
- package/src/ddl/schema-ddl.ts +4 -4
- package/src/ddl/table-ddl.ts +24 -24
- package/src/errors/db-transaction-error.ts +13 -13
- package/src/exec/executable.ts +25 -25
- package/src/exec/queryable.ts +134 -134
- package/src/exec/search-parser.ts +50 -50
- package/src/expr/expr-unit.ts +4 -4
- package/src/expr/expr.ts +13 -13
- package/src/index.ts +8 -8
- package/src/models/system-migration.ts +1 -1
- package/src/query-builder/base/expr-renderer-base.ts +21 -21
- package/src/query-builder/base/query-builder-base.ts +33 -33
- package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
- package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
- package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
- package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
- package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
- package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
- package/src/query-builder/query-builder.ts +1 -1
- package/src/schema/factory/column-builder.ts +86 -86
- package/src/schema/factory/index-builder.ts +38 -38
- package/src/schema/factory/relation-builder.ts +93 -93
- package/src/schema/procedure-builder.ts +52 -52
- package/src/schema/table-builder.ts +56 -56
- package/src/schema/view-builder.ts +45 -45
- package/src/types/column.ts +1 -1
- package/src/types/db-context-def.ts +15 -15
- package/src/types/db.ts +50 -50
- package/src/types/expr.ts +103 -103
- package/src/types/query-def.ts +50 -50
- package/src/utils/result-parser.ts +39 -39
- package/README.md +0 -192
- package/docs/core.md +0 -234
- package/docs/expression.md +0 -234
- package/docs/query-builder.md +0 -93
- package/docs/queryable.md +0 -198
- package/docs/schema-builders.md +0 -463
- package/docs/types.md +0 -445
- package/docs/utilities.md +0 -27
- package/tests/db-context/create-db-context.spec.ts +0 -193
- package/tests/db-context/define-db-context.spec.ts +0 -17
- package/tests/ddl/basic.expected.ts +0 -341
- package/tests/ddl/basic.spec.ts +0 -557
- package/tests/ddl/column-builder.expected.ts +0 -310
- package/tests/ddl/column-builder.spec.ts +0 -525
- package/tests/ddl/index-builder.expected.ts +0 -38
- package/tests/ddl/index-builder.spec.ts +0 -148
- package/tests/ddl/procedure-builder.expected.ts +0 -52
- package/tests/ddl/procedure-builder.spec.ts +0 -128
- package/tests/ddl/relation-builder.expected.ts +0 -36
- package/tests/ddl/relation-builder.spec.ts +0 -171
- package/tests/ddl/table-builder.expected.ts +0 -113
- package/tests/ddl/table-builder.spec.ts +0 -399
- package/tests/ddl/view-builder.expected.ts +0 -38
- package/tests/ddl/view-builder.spec.ts +0 -116
- package/tests/dml/delete.expected.ts +0 -96
- package/tests/dml/delete.spec.ts +0 -127
- package/tests/dml/insert.expected.ts +0 -192
- package/tests/dml/insert.spec.ts +0 -210
- package/tests/dml/update.expected.ts +0 -176
- package/tests/dml/update.spec.ts +0 -222
- package/tests/dml/upsert.expected.ts +0 -215
- package/tests/dml/upsert.spec.ts +0 -190
- package/tests/errors/queryable-errors.spec.ts +0 -126
- package/tests/escape.spec.ts +0 -59
- package/tests/examples/pivot.expected.ts +0 -211
- package/tests/examples/pivot.spec.ts +0 -200
- package/tests/examples/sampling.expected.ts +0 -69
- package/tests/examples/sampling.spec.ts +0 -42
- package/tests/examples/unpivot.expected.ts +0 -120
- package/tests/examples/unpivot.spec.ts +0 -161
- package/tests/exec/search-parser.spec.ts +0 -267
- package/tests/executable/basic.expected.ts +0 -18
- package/tests/executable/basic.spec.ts +0 -54
- package/tests/expr/comparison.expected.ts +0 -282
- package/tests/expr/comparison.spec.ts +0 -334
- package/tests/expr/conditional.expected.ts +0 -134
- package/tests/expr/conditional.spec.ts +0 -249
- package/tests/expr/date.expected.ts +0 -332
- package/tests/expr/date.spec.ts +0 -459
- package/tests/expr/math.expected.ts +0 -62
- package/tests/expr/math.spec.ts +0 -59
- package/tests/expr/string.expected.ts +0 -218
- package/tests/expr/string.spec.ts +0 -300
- package/tests/expr/utility.expected.ts +0 -147
- package/tests/expr/utility.spec.ts +0 -155
- package/tests/select/basic.expected.ts +0 -322
- package/tests/select/basic.spec.ts +0 -433
- package/tests/select/filter.expected.ts +0 -357
- package/tests/select/filter.spec.ts +0 -954
- package/tests/select/group.expected.ts +0 -169
- package/tests/select/group.spec.ts +0 -159
- package/tests/select/join.expected.ts +0 -582
- package/tests/select/join.spec.ts +0 -692
- package/tests/select/order.expected.ts +0 -150
- package/tests/select/order.spec.ts +0 -140
- package/tests/select/recursive-cte.expected.ts +0 -244
- package/tests/select/recursive-cte.spec.ts +0 -514
- package/tests/select/result-meta.spec.ts +0 -270
- package/tests/select/subquery.expected.ts +0 -363
- package/tests/select/subquery.spec.ts +0 -441
- package/tests/select/view.expected.ts +0 -155
- package/tests/select/view.spec.ts +0 -235
- package/tests/select/window.expected.ts +0 -345
- package/tests/select/window.spec.ts +0 -433
- package/tests/setup/MockExecutor.ts +0 -18
- package/tests/setup/TestDbContext.ts +0 -59
- package/tests/setup/models/Company.ts +0 -13
- package/tests/setup/models/Employee.ts +0 -10
- package/tests/setup/models/MonthlySales.ts +0 -11
- package/tests/setup/models/Post.ts +0 -16
- package/tests/setup/models/Sales.ts +0 -10
- package/tests/setup/models/User.ts +0 -19
- package/tests/setup/procedure/GetAllUsers.ts +0 -9
- package/tests/setup/procedure/GetUserById.ts +0 -12
- package/tests/setup/test-utils.ts +0 -72
- package/tests/setup/views/ActiveUsers.ts +0 -8
- package/tests/setup/views/UserSummary.ts +0 -11
- package/tests/types/nullable-queryable-record.spec.ts +0 -97
- package/tests/utils/result-parser-perf.spec.ts +0 -143
- package/tests/utils/result-parser.spec.ts +0 -667
package/dist/expr/expr.js.map
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/expr/expr.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"expr.js","sourceRoot":"","sources":["..\\..\\src\\expr\\expr.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
|
+
//#region ========== Core ==========
|
|
2
|
+
// 함수형 API (권장)
|
|
1
3
|
export * from "./define-db-context.js";
|
|
2
4
|
export * from "./create-db-context.js";
|
|
3
5
|
export * from "./types/db-context-def.js";
|
|
4
6
|
export * from "./errors/db-transaction-error.js";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region ========== Queryable / Executable ==========
|
|
5
9
|
export * from "./exec/queryable.js";
|
|
6
10
|
export * from "./exec/executable.js";
|
|
7
11
|
export * from "./exec/search-parser.js";
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region ========== Expression ==========
|
|
8
14
|
export * from "./expr/expr.js";
|
|
9
15
|
export * from "./expr/expr-unit.js";
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region ========== Schema Builders ==========
|
|
18
|
+
// 테이블 / 뷰 / 프로시저
|
|
10
19
|
export * from "./schema/table-builder.js";
|
|
11
20
|
export * from "./schema/view-builder.js";
|
|
12
21
|
export * from "./schema/procedure-builder.js";
|
|
22
|
+
// 팩토리
|
|
13
23
|
export * from "./schema/factory/column-builder.js";
|
|
14
24
|
export * from "./schema/factory/index-builder.js";
|
|
15
25
|
export * from "./schema/factory/relation-builder.js";
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region ========== Models ==========
|
|
16
28
|
export * from "./models/system-migration.js";
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region ========== Query Builder ==========
|
|
17
31
|
export * from "./query-builder/query-builder.js";
|
|
18
32
|
export * from "./query-builder/base/query-builder-base.js";
|
|
19
33
|
export * from "./query-builder/base/expr-renderer-base.js";
|
|
@@ -23,9 +37,17 @@ export * from "./query-builder/mssql/mssql-query-builder.js";
|
|
|
23
37
|
export * from "./query-builder/mssql/mssql-expr-renderer.js";
|
|
24
38
|
export * from "./query-builder/postgresql/postgresql-query-builder.js";
|
|
25
39
|
export * from "./query-builder/postgresql/postgresql-expr-renderer.js";
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region ========== Types ==========
|
|
42
|
+
// 데이터베이스 타입
|
|
26
43
|
export * from "./types/db.js";
|
|
44
|
+
// 결과 파싱
|
|
27
45
|
export * from "./utils/result-parser.js";
|
|
46
|
+
// column 타입
|
|
28
47
|
export * from "./types/column.js";
|
|
48
|
+
// 표현식 타입
|
|
29
49
|
export * from "./types/expr.js";
|
|
50
|
+
// QueryDef 타입
|
|
30
51
|
export * from "./types/query-def.js";
|
|
31
|
-
//#
|
|
52
|
+
//#endregion
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": "AAGA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AAOd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,eAAe;AACf,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAE9C,YAAY;AAEZ,sDAAsD;AAEtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AAErC,YAAY;AAEZ,0CAA0C;AAE1C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAEjC,YAAY;AAEZ,+CAA+C;AAE/C,iBAAiB;AACjB,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAE3C,MAAM;AACN,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAElD,YAAY;AAEZ,sCAAsC;AAEtC,cAAc,2BAA2B,CAAC;AAE1C,YAAY;AAEZ,6CAA6C;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AAEpE,YAAY;AAEZ,qCAAqC;AAErC,YAAY;AACZ,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,cAAc,uBAAuB,CAAC;AAEtC,YAAY;AACZ,cAAc,gBAAgB,CAAC;AAE/B,SAAS;AACT,cAAc,cAAc,CAAC;AAE7B,cAAc;AACd,cAAc,mBAAmB,CAAC;AAElC,YAAY"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Table } from "../schema/table-builder.js";
|
|
2
|
-
const _Migration = Table("_migration")
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=system-migration.js.map
|
|
2
|
+
export const _Migration = Table("_migration")
|
|
3
|
+
.columns((c) => ({
|
|
4
|
+
code: c.varchar(255),
|
|
5
|
+
}))
|
|
6
|
+
.description("시스템 마이그레이션 테이블")
|
|
7
|
+
.primaryKey("code");
|
|
8
|
+
//# sourceMappingURL=system-migration.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/models/system-migration.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AAEf,MAAM,aAAa,MAAM,YAAY,EACzC,QAAQ,CAAC,OAAO;AAAA,EACf,MAAM,EAAE,QAAQ,GAAG;AACrB,EAAE,EACD,YAAY,wBAAwB,EACpC,WAAW,MAAM;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"system-migration.js","sourceRoot":"","sources":["..\\..\\src\\models\\system-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;KAC1C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;CACrB,CAAC,CAAC;KACF,WAAW,CAAC,gBAAgB,CAAC;KAC7B,UAAU,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import type { Expr, WhereExpr, ExprColumn, ExprValue, ExprRaw, ExprEq, ExprGt, ExprLt, ExprGte, ExprLte, ExprBetween, ExprIsNull, ExprLike, ExprRegexp, ExprIn, ExprInQuery, ExprExists, ExprNot, ExprAnd, ExprOr, 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, ExprCoalesce, ExprNullIf, ExprIs, ExprSwitch, ExprIf, ExprCount, ExprSum, ExprAvg, ExprMax, ExprMin, ExprGreatest, ExprLeast, ExprRowNum, ExprRandom, ExprCast, ExprWindow, ExprSubquery } from "../../types/expr";
|
|
2
2
|
import type { SelectQueryDef } from "../../types/query-def";
|
|
3
3
|
/**
|
|
4
|
-
* Expr → SQL
|
|
4
|
+
* Expr → SQL 렌더링 추상 기본 클래스
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
6
|
+
* 기본 원칙:
|
|
7
|
+
* - 모든 dialect에서 100% 동일한 로직만 구현 (dispatch)
|
|
8
|
+
* - 조금이라도 다르면 abstract로 처리
|
|
9
|
+
* - 메서드 이름이 expr.type과 동일 (동적 dispatch 가능)
|
|
10
10
|
*/
|
|
11
11
|
export declare abstract class ExprRendererBase {
|
|
12
12
|
protected buildSelect: (def: SelectQueryDef) => string;
|
|
13
13
|
constructor(buildSelect: (def: SelectQueryDef) => string);
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* 식별자 감싸기 (테이블명, column명 등)
|
|
16
16
|
* MySQL: `name`, MSSQL: [name], PostgreSQL: "name"
|
|
17
17
|
*/
|
|
18
18
|
abstract wrap(name: string): string;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* SQL 문자열 리터럴용 이스케이프
|
|
21
|
+
* 동적 SQL이나 시스템 쿼리에서 문자열 값으로 사용할 때 호출
|
|
22
|
+
* 예: WHERE schema_name = 'escaped_value'
|
|
23
23
|
*/
|
|
24
24
|
abstract escapeString(value: string): string;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* 값 이스케이프 (타입에 맞는 SQL 리터럴로 변환)
|
|
27
27
|
*/
|
|
28
28
|
abstract escapeValue(value: unknown): string;
|
|
29
29
|
render(expr: Expr | WhereExpr): string;
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Expr → SQL 렌더링 추상 기본 클래스
|
|
3
|
+
*
|
|
4
|
+
* 기본 원칙:
|
|
5
|
+
* - 모든 dialect에서 100% 동일한 로직만 구현 (dispatch)
|
|
6
|
+
* - 조금이라도 다르면 abstract로 처리
|
|
7
|
+
* - 메서드 이름이 expr.type과 동일 (동적 dispatch 가능)
|
|
8
|
+
*/
|
|
9
|
+
export class ExprRendererBase {
|
|
10
|
+
buildSelect;
|
|
11
|
+
constructor(buildSelect) {
|
|
12
|
+
this.buildSelect = buildSelect;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region ========== Dispatch (100% 동일) ==========
|
|
16
|
+
render(expr) {
|
|
17
|
+
const method = this[expr.type];
|
|
18
|
+
if (typeof method !== "function") {
|
|
19
|
+
throw new Error(`알 수 없는 Expr 타입: ${expr.type}`);
|
|
20
|
+
}
|
|
21
|
+
return method.call(this, expr);
|
|
22
|
+
}
|
|
23
|
+
renderWhere(exprs) {
|
|
24
|
+
if (exprs.length === 0)
|
|
25
|
+
return "";
|
|
26
|
+
return exprs.map((e) => this.render(e)).join(" AND ");
|
|
11
27
|
}
|
|
12
|
-
return method.call(this, expr);
|
|
13
|
-
}
|
|
14
|
-
renderWhere(exprs) {
|
|
15
|
-
if (exprs.length === 0) return "";
|
|
16
|
-
return exprs.map((e) => this.render(e)).join(" AND ");
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
28
|
}
|
|
20
|
-
|
|
21
|
-
ExprRendererBase
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=expr-renderer-base.js.map
|
|
29
|
+
//# sourceMappingURL=expr-renderer-base.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/query-builder/base/expr-renderer-base.ts"],
|
|
4
|
-
"mappings": "AA6EO,MAAe,iBAAiB;AAAA,EACrC,YAAsB,aAA8C;AAA9C;AAAA,EAA+C;AAAA;AAAA;AAAA,EA0BrE,OAAO,MAAgC;AACrC,UAAM,SAAS,KAAK,KAAK,IAAkB;AAC3C,QAAI,OAAO,WAAW,YAAY;AAChC,YAAM,IAAI,MAAM,sBAAsB,KAAK,IAAI,EAAE;AAAA,IACnD;AACA,WAAQ,OAA2C,KAAK,MAAM,IAAI;AAAA,EACpE;AAAA,EAEA,YAAY,OAA4B;AACtC,QAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,KAAK,OAAO;AAAA,EACtD;AAAA;AAyHF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"expr-renderer-base.js","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\base\\expr-renderer-base.ts"],"names":[],"mappings":"AAqEA;;;;;;;GAOG;AACH,MAAM,OAAgB,gBAAgB;IACd;IAAtB,YAAsB,WAA4C;QAA5C,gBAAW,GAAX,WAAW,CAAiC;IAAG,CAAC;IAsBtE,YAAY;IAEZ,kDAAkD;IAElD,MAAM,CAAC,IAAsB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAkB,CAAC,CAAC;QAC7C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAQ,MAA0C,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;CAyHF"}
|
|
@@ -5,41 +5,41 @@ import type { ExprRendererBase } from "./expr-renderer-base";
|
|
|
5
5
|
export declare abstract class QueryBuilderBase {
|
|
6
6
|
protected abstract expr: ExprRendererBase;
|
|
7
7
|
build(def: QueryDef): QueryBuildResult;
|
|
8
|
-
/**
|
|
8
|
+
/** SQL을 QueryBuildResult로 래핑하는 헬퍼 */
|
|
9
9
|
protected result(sql: string, resultSetIndex?: number): QueryBuildResult;
|
|
10
|
-
/**
|
|
10
|
+
/** 테이블명 렌더링 (dialect마다 다르므로 abstract) */
|
|
11
11
|
protected abstract tableName(obj: QueryDefObjectName): string;
|
|
12
|
-
/** WHERE
|
|
12
|
+
/** WHERE 절 렌더링 */
|
|
13
13
|
protected renderWhere(wheres: WhereExpr[] | undefined): string;
|
|
14
|
-
/** ORDER BY
|
|
14
|
+
/** ORDER BY 절 렌더링 */
|
|
15
15
|
protected renderOrderBy(orderBy: [Expr, ("ASC" | "DESC")?][] | undefined): string;
|
|
16
|
-
/** GROUP BY
|
|
16
|
+
/** GROUP BY 절 렌더링 */
|
|
17
17
|
protected renderGroupBy(groupBy: Expr[] | undefined): string;
|
|
18
|
-
/** HAVING
|
|
18
|
+
/** HAVING 절 렌더링 */
|
|
19
19
|
protected renderHaving(having: WhereExpr[] | undefined): string;
|
|
20
|
-
/** JOIN
|
|
20
|
+
/** JOIN 절 렌더링 */
|
|
21
21
|
protected renderJoins(joins: SelectQueryDefJoin[] | undefined): string;
|
|
22
|
-
/**
|
|
22
|
+
/** 단일 JOIN 렌더링 (dialect마다 다르므로 abstract) */
|
|
23
23
|
protected abstract renderJoin(join: SelectQueryDefJoin): string;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* JOIN에 LATERAL/CROSS APPLY가 필요한지 감지
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* JOIN이 기본 속성(type, from, as, where, isSingle)만 가지면 일반 JOIN으로 처리.
|
|
28
|
+
* 그 외의 경우 서브쿼리가 필요하므로 LATERAL JOIN 사용:
|
|
29
29
|
*
|
|
30
|
-
* - select: column
|
|
31
|
-
* - joins:
|
|
32
|
-
* - orderBy, top, limit:
|
|
33
|
-
* - groupBy, having:
|
|
34
|
-
* - distinct:
|
|
35
|
-
* - from (array): UNION ALL
|
|
30
|
+
* - select: column 변환/집계가 필요 (일반 JOIN은 전체 테이블 참조)
|
|
31
|
+
* - joins: 중첩 JOIN은 서브쿼리 내부에서 처리
|
|
32
|
+
* - orderBy, top, limit: 정렬/제한은 서브쿼리 내부에서 적용
|
|
33
|
+
* - groupBy, having: 집계는 서브쿼리 내부에서 수행
|
|
34
|
+
* - distinct: 중복 제거는 서브쿼리 내부에서 적용
|
|
35
|
+
* - from (array): UNION ALL 패턴
|
|
36
36
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* select/joins
|
|
37
|
+
* 참고: select와 joins는 중첩 join 시 자동 생성되므로 basicJoinProps에 없음.
|
|
38
|
+
* 사용자가 직접 .select()를 호출하지 않더라도 내부 .joinSingle()이
|
|
39
|
+
* select/joins를 추가할 수 있으며, 이 경우에도 서브쿼리가 필요함.
|
|
40
40
|
*/
|
|
41
41
|
protected needsLateral(join: SelectQueryDefJoin): boolean;
|
|
42
|
-
/** FROM
|
|
42
|
+
/** FROM 절 소스 렌더링 */
|
|
43
43
|
protected renderFrom(from: SelectQueryDef["from"]): string;
|
|
44
44
|
protected abstract select(def: SelectQueryDef): QueryBuildResult;
|
|
45
45
|
protected abstract insert(def: InsertQueryDef): QueryBuildResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder-base.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\base\\query-builder-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAe7D,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAI1C,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgB;IAQtC,
|
|
1
|
+
{"version":3,"file":"query-builder-base.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\base\\query-builder-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* QueryDef → SQL 렌더링 추상 기본 클래스
|
|
3
|
+
*
|
|
4
|
+
* 기본 원칙:
|
|
5
|
+
* - 모든 dialect에서 100% 동일한 로직만 구현 (dispatch)
|
|
6
|
+
* - 조금이라도 다르면 abstract로 처리
|
|
7
|
+
* - 메서드 이름이 def.type과 동일 (동적 dispatch 가능)
|
|
8
|
+
*/
|
|
9
|
+
/** 기본(비 LATERAL) JOIN의 속성 목록 */
|
|
10
|
+
const BASIC_JOIN_PROPS = new Set(["type", "from", "as", "where", "isSingle"]);
|
|
11
|
+
export class QueryBuilderBase {
|
|
12
|
+
//#region ========== Dispatch (100% 동일) ==========
|
|
13
|
+
build(def) {
|
|
14
|
+
const method = this[def.type];
|
|
15
|
+
if (typeof method !== "function") {
|
|
16
|
+
throw new Error(`알 수 없는 QueryDef 타입: ${def.type}`);
|
|
17
|
+
}
|
|
18
|
+
return method.call(this, def);
|
|
8
19
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
result(sql, resultSetIndex) {
|
|
13
|
-
return resultSetIndex != null ? { sql, resultSetIndex } : { sql };
|
|
14
|
-
}
|
|
15
|
-
/** WHERE clause render */
|
|
16
|
-
renderWhere(wheres) {
|
|
17
|
-
if (wheres == null || wheres.length === 0) return "";
|
|
18
|
-
return ` WHERE ${this.expr.renderWhere(wheres)}`;
|
|
19
|
-
}
|
|
20
|
-
/** ORDER BY clause render */
|
|
21
|
-
renderOrderBy(orderBy) {
|
|
22
|
-
if (orderBy == null || orderBy.length === 0) return "";
|
|
23
|
-
const parts = orderBy.map(
|
|
24
|
-
([e, dir]) => `${this.expr.render(e)}${dir != null ? ` ${dir}` : ""}`
|
|
25
|
-
);
|
|
26
|
-
return ` ORDER BY ${parts.join(", ")}`;
|
|
27
|
-
}
|
|
28
|
-
/** GROUP BY clause render */
|
|
29
|
-
renderGroupBy(groupBy) {
|
|
30
|
-
if (groupBy == null || groupBy.length === 0) return "";
|
|
31
|
-
return ` GROUP BY ${groupBy.map((g) => this.expr.render(g)).join(", ")}`;
|
|
32
|
-
}
|
|
33
|
-
/** HAVING clause render */
|
|
34
|
-
renderHaving(having) {
|
|
35
|
-
if (having == null || having.length === 0) return "";
|
|
36
|
-
return ` HAVING ${this.expr.renderWhere(having)}`;
|
|
37
|
-
}
|
|
38
|
-
/** JOIN clause render */
|
|
39
|
-
renderJoins(joins) {
|
|
40
|
-
if (joins == null || joins.length === 0) return "";
|
|
41
|
-
return joins.map((j) => this.renderJoin(j)).join("");
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Detect if JOIN needs LATERAL/CROSS APPLY
|
|
45
|
-
*
|
|
46
|
-
* If JOIN has only basic properties (type, from, as, where, isSingle), treat as normal JOIN.
|
|
47
|
-
* Otherwise, subquery is needed, so use LATERAL JOIN:
|
|
48
|
-
*
|
|
49
|
-
* - select: column transformation/aggregation needed (normal JOIN references entire table)
|
|
50
|
-
* - joins: nested JOIN handled inside subquery
|
|
51
|
-
* - orderBy, top, limit: sorting/limit applied inside subquery
|
|
52
|
-
* - groupBy, having: aggregation performed inside subquery
|
|
53
|
-
* - distinct: deduplication applied inside subquery
|
|
54
|
-
* - from (array): UNION ALL pattern
|
|
55
|
-
*
|
|
56
|
-
* Note: select and joins are auto-generated during nested joins, so not in basicJoinProps.
|
|
57
|
-
* Even if user doesn't call .select() directly, internal .joinSingle() may add
|
|
58
|
-
* select/joins, which also requires subquery.
|
|
59
|
-
*/
|
|
60
|
-
needsLateral(join) {
|
|
61
|
-
if (Array.isArray(join.from)) {
|
|
62
|
-
return true;
|
|
20
|
+
/** SQL을 QueryBuildResult로 래핑하는 헬퍼 */
|
|
21
|
+
result(sql, resultSetIndex) {
|
|
22
|
+
return resultSetIndex != null ? { sql, resultSetIndex } : { sql };
|
|
63
23
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
throw new Error("FROM clause is required.");
|
|
24
|
+
/** WHERE 절 렌더링 */
|
|
25
|
+
renderWhere(wheres) {
|
|
26
|
+
if (wheres == null || wheres.length === 0)
|
|
27
|
+
return "";
|
|
28
|
+
return ` WHERE ${this.expr.renderWhere(wheres)}`;
|
|
70
29
|
}
|
|
71
|
-
|
|
72
|
-
|
|
30
|
+
/** ORDER BY 절 렌더링 */
|
|
31
|
+
renderOrderBy(orderBy) {
|
|
32
|
+
if (orderBy == null || orderBy.length === 0)
|
|
33
|
+
return "";
|
|
34
|
+
const parts = orderBy.map(([e, dir]) => `${this.expr.render(e)}${dir != null ? ` ${dir}` : ""}`);
|
|
35
|
+
return ` ORDER BY ${parts.join(", ")}`;
|
|
73
36
|
}
|
|
74
|
-
|
|
75
|
-
|
|
37
|
+
/** GROUP BY 절 렌더링 */
|
|
38
|
+
renderGroupBy(groupBy) {
|
|
39
|
+
if (groupBy == null || groupBy.length === 0)
|
|
40
|
+
return "";
|
|
41
|
+
return ` GROUP BY ${groupBy.map((g) => this.expr.render(g)).join(", ")}`;
|
|
76
42
|
}
|
|
77
|
-
|
|
78
|
-
|
|
43
|
+
/** HAVING 절 렌더링 */
|
|
44
|
+
renderHaving(having) {
|
|
45
|
+
if (having == null || having.length === 0)
|
|
46
|
+
return "";
|
|
47
|
+
return ` HAVING ${this.expr.renderWhere(having)}`;
|
|
48
|
+
}
|
|
49
|
+
/** JOIN 절 렌더링 */
|
|
50
|
+
renderJoins(joins) {
|
|
51
|
+
if (joins == null || joins.length === 0)
|
|
52
|
+
return "";
|
|
53
|
+
return joins.map((j) => this.renderJoin(j)).join("");
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* JOIN에 LATERAL/CROSS APPLY가 필요한지 감지
|
|
57
|
+
*
|
|
58
|
+
* JOIN이 기본 속성(type, from, as, where, isSingle)만 가지면 일반 JOIN으로 처리.
|
|
59
|
+
* 그 외의 경우 서브쿼리가 필요하므로 LATERAL JOIN 사용:
|
|
60
|
+
*
|
|
61
|
+
* - select: column 변환/집계가 필요 (일반 JOIN은 전체 테이블 참조)
|
|
62
|
+
* - joins: 중첩 JOIN은 서브쿼리 내부에서 처리
|
|
63
|
+
* - orderBy, top, limit: 정렬/제한은 서브쿼리 내부에서 적용
|
|
64
|
+
* - groupBy, having: 집계는 서브쿼리 내부에서 수행
|
|
65
|
+
* - distinct: 중복 제거는 서브쿼리 내부에서 적용
|
|
66
|
+
* - from (array): UNION ALL 패턴
|
|
67
|
+
*
|
|
68
|
+
* 참고: select와 joins는 중첩 join 시 자동 생성되므로 basicJoinProps에 없음.
|
|
69
|
+
* 사용자가 직접 .select()를 호출하지 않더라도 내부 .joinSingle()이
|
|
70
|
+
* select/joins를 추가할 수 있으며, 이 경우에도 서브쿼리가 필요함.
|
|
71
|
+
*/
|
|
72
|
+
needsLateral(join) {
|
|
73
|
+
// from이 배열이면 항상 LATERAL (UNION ALL 패턴)
|
|
74
|
+
if (Array.isArray(join.from)) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
// 기본 JOIN 속성 외 추가 속성이 있으면 LATERAL 필요
|
|
78
|
+
return Object.keys(join).some((key) => !BASIC_JOIN_PROPS.has(key));
|
|
79
|
+
}
|
|
80
|
+
/** FROM 절 소스 렌더링 */
|
|
81
|
+
renderFrom(from) {
|
|
82
|
+
if (from == null) {
|
|
83
|
+
throw new Error("FROM 절이 필요합니다.");
|
|
84
|
+
}
|
|
85
|
+
if (typeof from === "string") {
|
|
86
|
+
return this.expr.wrap(from);
|
|
87
|
+
}
|
|
88
|
+
if ("type" in from) {
|
|
89
|
+
return `(${this.select(from).sql})`;
|
|
90
|
+
}
|
|
91
|
+
if (Array.isArray(from)) {
|
|
92
|
+
return `(${from.map((f) => this.select(f).sql).join(" UNION ALL ")})`;
|
|
93
|
+
}
|
|
94
|
+
return this.tableName(from);
|
|
79
95
|
}
|
|
80
|
-
return this.tableName(from);
|
|
81
|
-
}
|
|
82
|
-
//#endregion
|
|
83
96
|
}
|
|
84
|
-
|
|
85
|
-
QueryBuilderBase
|
|
86
|
-
};
|
|
87
|
-
//# sourceMappingURL=query-builder-base.js.map
|
|
97
|
+
//# sourceMappingURL=query-builder-base.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/query-builder/base/query-builder-base.ts"],
|
|
4
|
-
"mappings": "AA+CA,MAAM,mBAAwC,oBAAI,IAEhD,CAAC,QAAQ,QAAQ,MAAM,SAAS,UAAU,CAAC;AAEtC,MAAe,iBAAiB;AAAA;AAAA,EAKrC,MAAM,KAAiC;AACrC,UAAM,SAAS,KAAK,IAAI,IAAkB;AAC1C,QAAI,OAAO,WAAW,YAAY;AAChC,YAAM,IAAI,MAAM,0BAA0B,IAAI,IAAI,EAAE;AAAA,IACtD;AACA,WAAQ,OAA6C,KAAK,MAAM,GAAG;AAAA,EACrE;AAAA;AAAA,EAGU,OAAO,KAAa,gBAA2C;AACvE,WAAO,kBAAkB,OAAO,EAAE,KAAK,eAAe,IAAI,EAAE,IAAI;AAAA,EAClE;AAAA;AAAA,EAUU,YAAY,QAAyC;AAC7D,QAAI,UAAU,QAAQ,OAAO,WAAW,EAAG,QAAO;AAClD,WAAO,UAAU,KAAK,KAAK,YAAY,MAAM,CAAC;AAAA,EAChD;AAAA;AAAA,EAGU,cAAc,SAA0D;AAChF,QAAI,WAAW,QAAQ,QAAQ,WAAW,EAAG,QAAO;AACpD,UAAM,QAAQ,QAAQ;AAAA,MACpB,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,OAAO,OAAO,IAAI,GAAG,KAAK,EAAE;AAAA,IACrE;AACA,WAAO,aAAa,MAAM,KAAK,IAAI,CAAC;AAAA,EACtC;AAAA;AAAA,EAGU,cAAc,SAAqC;AAC3D,QAAI,WAAW,QAAQ,QAAQ,WAAW,EAAG,QAAO;AACpD,WAAO,aAAa,QAAQ,IAAI,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,EACxE;AAAA;AAAA,EAGU,aAAa,QAAyC;AAC9D,QAAI,UAAU,QAAQ,OAAO,WAAW,EAAG,QAAO;AAClD,WAAO,WAAW,KAAK,KAAK,YAAY,MAAM,CAAC;AAAA,EACjD;AAAA;AAAA,EAGU,YAAY,OAAiD;AACrE,QAAI,SAAS,QAAQ,MAAM,WAAW,EAAG,QAAO;AAChD,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBU,aAAa,MAAmC;AAExD,QAAI,MAAM,QAAQ,KAAK,IAAI,GAAG;AAC5B,aAAO;AAAA,IACT;AAGA,WAAO,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,GAAG,CAAC;AAAA,EACnE;AAAA;AAAA,EAGU,WAAW,MAAsC;AACzD,QAAI,QAAQ,MAAM;AAChB,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO,KAAK,KAAK,KAAK,IAAI;AAAA,IAC5B;AACA,QAAI,UAAU,MAAM;AAClB,aAAO,IAAI,KAAK,OAAO,IAAI,EAAE,GAAG;AAAA,IAClC;AACA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAO,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,aAAa,CAAC;AAAA,IACpE;AACA,WAAO,KAAK,UAAU,IAAI;AAAA,EAC5B;AAAA;AA8DF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"query-builder-base.js","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\base\\query-builder-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@ import type { ExprColumn, ExprValue, ExprRaw, ExprEq, ExprGt, ExprLt, ExprGte, E
|
|
|
2
2
|
import type { DataType } from "../../types/column";
|
|
3
3
|
import { ExprRendererBase } from "../base/expr-renderer-base";
|
|
4
4
|
/**
|
|
5
|
-
* MSSQL
|
|
5
|
+
* MSSQL 표현식 렌더러
|
|
6
6
|
*/
|
|
7
7
|
export declare class MssqlExprRenderer extends ExprRendererBase {
|
|
8
|
-
/**
|
|
8
|
+
/** 식별자 감싸기 */
|
|
9
9
|
wrap(name: string): string;
|
|
10
|
-
/**
|
|
10
|
+
/** SQL 문자열 리터럴용 이스케이프 (따옴표 제외) */
|
|
11
11
|
escapeString(value: string): string;
|
|
12
|
-
/**
|
|
12
|
+
/** 값 이스케이프 */
|
|
13
13
|
escapeValue(value: unknown): string;
|
|
14
14
|
/** DataType → SQL type */
|
|
15
15
|
renderDataType(dataType: DataType): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mssql-expr-renderer.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\mssql\\mssql-expr-renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IAGrD,
|
|
1
|
+
{"version":3,"file":"mssql-expr-renderer.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\query-builder\\mssql\\mssql-expr-renderer.ts"],"names":[],"mappings":"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"}
|