metal-orm 1.1.11 → 1.1.16
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 +758 -769
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +100 -96
- package/scripts/generate-entities/schema.mjs +122 -122
- package/scripts/generate-entities/tree-detection.mjs +92 -92
- package/scripts/inflection/pt-br.mjs +468 -468
- package/scripts/run-eslint.mjs +33 -34
- package/scripts/show-sql-seed.sql +102 -0
- package/scripts/show-sql.mjs +321 -325
- package/src/codegen/naming-strategy.ts +54 -54
- package/src/codegen/typescript.ts +482 -482
- package/src/core/ast/adapters.ts +1 -1
- package/src/core/ast/builders.ts +123 -123
- package/src/core/ast/expression-builders.ts +745 -745
- package/src/core/ast/expression-nodes.ts +304 -304
- package/src/core/ast/expression-visitor.ts +212 -212
- package/src/core/ast/expression.ts +20 -20
- package/src/core/ast/helpers.ts +14 -14
- package/src/core/ast/join.ts +18 -18
- package/src/core/ast/query.ts +200 -200
- package/src/core/ddl/dialects/base-schema-dialect.ts +1 -1
- package/src/core/ddl/dialects/mssql-schema-dialect.ts +1 -1
- package/src/core/ddl/dialects/mysql-schema-dialect.ts +1 -1
- package/src/core/ddl/dialects/postgres-schema-dialect.ts +1 -1
- package/src/core/ddl/dialects/render-reference.test.ts +70 -70
- package/src/core/ddl/dialects/sqlite-schema-dialect.ts +1 -1
- package/src/core/ddl/introspect/catalogs/index.ts +5 -5
- package/src/core/ddl/introspect/catalogs/postgres.ts +146 -146
- package/src/core/ddl/introspect/context.ts +15 -15
- package/src/core/ddl/introspect/functions/postgres.ts +35 -35
- package/src/core/ddl/introspect/registry.ts +40 -40
- package/src/core/ddl/introspect/run-select.ts +35 -35
- package/src/core/ddl/introspect/utils.ts +56 -56
- package/src/core/ddl/naming-strategy.ts +16 -16
- package/src/core/ddl/schema-dialect.ts +56 -56
- package/src/core/ddl/schema-diff.ts +234 -234
- package/src/core/ddl/schema-generator.ts +1 -1
- package/src/core/ddl/schema-introspect.ts +25 -25
- package/src/core/ddl/sql-writing.ts +171 -171
- package/src/core/dialect/abstract.ts +541 -541
- package/src/core/dialect/base/cte-compiler.ts +33 -33
- package/src/core/dialect/base/function-table-formatter.ts +103 -103
- package/src/core/dialect/base/groupby-compiler.ts +21 -21
- package/src/core/dialect/base/join-compiler.ts +25 -25
- package/src/core/dialect/base/orderby-compiler.ts +35 -35
- package/src/core/dialect/base/pagination-strategy.ts +32 -32
- package/src/core/dialect/base/returning-strategy.ts +57 -57
- package/src/core/dialect/base/sql-dialect.ts +294 -294
- package/src/core/dialect/dialect-factory.ts +91 -91
- package/src/core/dialect/mssql/functions.ts +120 -120
- package/src/core/dialect/mssql/index.ts +317 -317
- package/src/core/dialect/mysql/functions.ts +103 -103
- package/src/core/dialect/mysql/index.ts +105 -105
- package/src/core/dialect/postgres/functions.ts +108 -108
- package/src/core/dialect/postgres/index.ts +91 -91
- package/src/core/dialect/sqlite/functions.ts +129 -129
- package/src/core/dialect/sqlite/index.ts +67 -67
- package/src/core/driver/database-driver.ts +19 -19
- package/src/core/driver/mssql-driver.ts +23 -23
- package/src/core/driver/mysql-driver.ts +23 -23
- package/src/core/driver/postgres-driver.ts +23 -23
- package/src/core/driver/sqlite-driver.ts +23 -23
- package/src/core/execution/db-executor.ts +92 -92
- package/src/core/execution/executors/better-sqlite3-executor.ts +90 -90
- package/src/core/execution/executors/mssql-executor.ts +184 -184
- package/src/core/execution/executors/mysql-executor.ts +88 -88
- package/src/core/execution/executors/postgres-executor.ts +26 -26
- package/src/core/execution/executors/sqlite-executor.ts +42 -42
- package/src/core/execution/pooling/pool-types.ts +30 -30
- package/src/core/execution/pooling/pool.ts +275 -275
- package/src/core/functions/array.ts +35 -35
- package/src/core/functions/control-flow.ts +79 -79
- package/src/core/functions/datetime.ts +237 -237
- package/src/core/functions/json.ts +70 -70
- package/src/core/functions/numeric.ts +297 -297
- package/src/core/functions/text.ts +334 -334
- package/src/core/functions/types.ts +33 -33
- package/src/core/hydration/types.ts +51 -51
- package/src/core/sql/sql-operator-config.ts +39 -39
- package/src/core/sql/sql.ts +152 -152
- package/src/decorators/column-decorator.ts +87 -87
- package/src/decorators/decorator-metadata.ts +143 -143
- package/src/decorators/entity.ts +93 -93
- package/src/decorators/index.ts +39 -39
- package/src/decorators/relations.ts +231 -231
- package/src/decorators/transformers/built-in/string-transformers.ts +231 -231
- package/src/decorators/transformers/transformer-decorators.ts +134 -134
- package/src/decorators/transformers/transformer-executor.ts +171 -171
- package/src/decorators/transformers/transformer-metadata.ts +73 -73
- package/src/decorators/validators/built-in/br-cep-validator.ts +55 -55
- package/src/decorators/validators/built-in/br-cnpj-validator.ts +105 -105
- package/src/decorators/validators/built-in/br-cpf-validator.ts +103 -103
- package/src/decorators/validators/country-validator-registry.ts +64 -64
- package/src/decorators/validators/country-validators-decorators.ts +203 -203
- package/src/decorators/validators/country-validators.ts +105 -105
- package/src/decorators/validators/validator-metadata.ts +59 -59
- package/src/dto/dto-types.ts +226 -226
- package/src/dto/filter-types.ts +141 -141
- package/src/dto/index.ts +95 -95
- package/src/dto/openapi/generators/base.ts +29 -29
- package/src/dto/openapi/generators/column.ts +37 -37
- package/src/dto/openapi/generators/dto.ts +91 -91
- package/src/dto/openapi/generators/filter.ts +75 -75
- package/src/dto/openapi/generators/nested-dto.ts +618 -618
- package/src/dto/openapi/generators/pagination.ts +111 -111
- package/src/dto/openapi/generators/relation-filter.ts +228 -228
- package/src/dto/openapi/index.ts +12 -12
- package/src/dto/openapi/types.ts +101 -101
- package/src/dto/openapi/utilities.ts +95 -95
- package/src/dto/pagination-utils.ts +150 -150
- package/src/dto/transform.ts +197 -197
- package/src/index.ts +86 -86
- package/src/orm/als.ts +58 -58
- package/src/orm/domain-event-bus.ts +119 -119
- package/src/orm/entity-context.ts +86 -86
- package/src/orm/entity-materializer.ts +159 -159
- package/src/orm/entity-meta.ts +97 -97
- package/src/orm/entity-registry.ts +39 -39
- package/src/orm/entity-relation-cache.ts +39 -39
- package/src/orm/execute.ts +194 -194
- package/src/orm/execution-context.ts +18 -18
- package/src/orm/hydration-context.ts +26 -26
- package/src/orm/hydration.ts +112 -112
- package/src/orm/identity-map.ts +61 -61
- package/src/orm/interceptor-pipeline.ts +16 -16
- package/src/orm/lazy-batch/belongs-to-many.ts +119 -119
- package/src/orm/lazy-batch/belongs-to.ts +108 -108
- package/src/orm/lazy-batch/has-many.ts +69 -69
- package/src/orm/lazy-batch/has-one.ts +68 -68
- package/src/orm/lazy-batch/shared.ts +125 -125
- package/src/orm/orm-session.ts +620 -620
- package/src/orm/orm.ts +34 -34
- package/src/orm/pooled-executor-factory.ts +121 -121
- package/src/orm/query-logger.ts +40 -40
- package/src/orm/relation-change-processor.ts +420 -420
- package/src/orm/relations/belongs-to.ts +143 -143
- package/src/orm/relations/has-many.ts +204 -204
- package/src/orm/relations/has-one.ts +174 -174
- package/src/orm/relations/many-to-many.ts +288 -288
- package/src/orm/relations/morph-many.ts +156 -156
- package/src/orm/relations/morph-one.ts +151 -151
- package/src/orm/relations/morph-to.ts +162 -162
- package/src/orm/runtime-types.ts +92 -92
- package/src/orm/save-graph.ts +561 -561
- package/src/orm/transaction-runner.ts +24 -24
- package/src/orm/unit-of-work.ts +426 -426
- package/src/query/index.ts +69 -69
- package/src/query/target.ts +46 -46
- package/src/query-builder/column-selector.ts +81 -81
- package/src/query-builder/delete.ts +141 -141
- package/src/query-builder/insert-query-state.ts +149 -149
- package/src/query-builder/insert.ts +117 -117
- package/src/query-builder/query-ast-service.ts +287 -287
- package/src/query-builder/query-resolution.ts +78 -78
- package/src/query-builder/raw-column-parser.ts +38 -38
- package/src/query-builder/relation-filter-utils.ts +153 -153
- package/src/query-builder/relation-join-planner.ts +10 -10
- package/src/query-builder/relation-manager.ts +87 -87
- package/src/query-builder/relation-projection-helper.ts +102 -102
- package/src/query-builder/relation-types.ts +9 -9
- package/src/query-builder/relation-utils.ts +15 -15
- package/src/query-builder/select/cte-facet.ts +40 -40
- package/src/query-builder/select/from-facet.ts +80 -80
- package/src/query-builder/select/join-facet.ts +62 -62
- package/src/query-builder/select/predicate-facet.ts +104 -104
- package/src/query-builder/select/projection-facet.ts +70 -70
- package/src/query-builder/select/relation-facet.ts +81 -81
- package/src/query-builder/select/setop-facet.ts +36 -36
- package/src/query-builder/select-helpers.ts +1 -1
- package/src/query-builder/select-query-builder-deps.ts +130 -130
- package/src/query-builder/select-query-state.ts +207 -207
- package/src/query-builder/update.ts +151 -151
- package/src/schema/column-types.ts +322 -322
- package/src/schema/table-guards.ts +37 -37
- package/src/schema/table.ts +281 -281
- package/src/tree/index.ts +13 -13
- package/src/tree/nested-set-strategy.ts +545 -545
- package/src/tree/tree-decorator.ts +397 -397
- package/src/tree/tree-manager.ts +754 -754
- package/src/tree/tree-query.ts +427 -427
- package/src/tree/tree-types.ts +299 -299
|
@@ -106,19 +106,19 @@ export class ConflictBuilder<T> {
|
|
|
106
106
|
* Builder for INSERT queries
|
|
107
107
|
*/
|
|
108
108
|
export class InsertQueryBuilder<T> {
|
|
109
|
-
private readonly table: TableDef;
|
|
110
|
-
private readonly state: InsertQueryState;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Creates a new InsertQueryBuilder instance
|
|
114
|
-
* @param table - The table definition for the INSERT query
|
|
115
|
-
* @param state - Optional initial query state, defaults to a new InsertQueryState
|
|
116
|
-
*/
|
|
117
|
-
constructor(table: TableDef, state?: InsertQueryState) {
|
|
118
|
-
this.table = table;
|
|
119
|
-
this.state = state ?? new InsertQueryState(table);
|
|
120
|
-
}
|
|
121
|
-
|
|
109
|
+
private readonly table: TableDef;
|
|
110
|
+
private readonly state: InsertQueryState;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Creates a new InsertQueryBuilder instance
|
|
114
|
+
* @param table - The table definition for the INSERT query
|
|
115
|
+
* @param state - Optional initial query state, defaults to a new InsertQueryState
|
|
116
|
+
*/
|
|
117
|
+
constructor(table: TableDef, state?: InsertQueryState) {
|
|
118
|
+
this.table = table;
|
|
119
|
+
this.state = state ?? new InsertQueryState(table);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
122
|
private clone(state: InsertQueryState): InsertQueryBuilder<T> {
|
|
123
123
|
return new InsertQueryBuilder(this.table, state);
|
|
124
124
|
}
|
|
@@ -126,43 +126,43 @@ export class InsertQueryBuilder<T> {
|
|
|
126
126
|
private withOnConflict(clause: UpsertClause): InsertQueryBuilder<T> {
|
|
127
127
|
return this.clone(this.state.withOnConflict(clause));
|
|
128
128
|
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Adds VALUES to the INSERT query
|
|
132
|
-
* @param rowOrRows - Single row object or array of row objects to insert
|
|
133
|
-
* @returns A new InsertQueryBuilder with the VALUES clause added
|
|
134
|
-
*/
|
|
135
|
-
values(
|
|
136
|
-
rowOrRows: Record<string, ValueOperandInput> | Record<string, ValueOperandInput>[]
|
|
137
|
-
): InsertQueryBuilder<T> {
|
|
138
|
-
const rows = Array.isArray(rowOrRows) ? rowOrRows : [rowOrRows];
|
|
139
|
-
if (!rows.length) return this;
|
|
140
|
-
return this.clone(this.state.withValues(rows));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Specifies the columns for the INSERT query
|
|
145
|
-
* @param columns - Column definitions or nodes to insert into
|
|
146
|
-
* @returns A new InsertQueryBuilder with the specified columns
|
|
147
|
-
*/
|
|
148
|
-
columns(...columns: (ColumnDef | ColumnNode)[]): InsertQueryBuilder<T> {
|
|
149
|
-
if (!columns.length) return this;
|
|
150
|
-
return this.clone(this.state.withColumns(this.resolveColumnNodes(columns)));
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Sets the source of the INSERT query to a SELECT query
|
|
155
|
-
* @template TSource - The source table type
|
|
156
|
-
* @param query - The SELECT query or query builder to use as source
|
|
157
|
-
* @param columns - Optional target columns for the INSERT
|
|
158
|
-
* @returns A new InsertQueryBuilder with the SELECT source
|
|
159
|
-
*/
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Adds VALUES to the INSERT query
|
|
132
|
+
* @param rowOrRows - Single row object or array of row objects to insert
|
|
133
|
+
* @returns A new InsertQueryBuilder with the VALUES clause added
|
|
134
|
+
*/
|
|
135
|
+
values(
|
|
136
|
+
rowOrRows: Record<string, ValueOperandInput> | Record<string, ValueOperandInput>[]
|
|
137
|
+
): InsertQueryBuilder<T> {
|
|
138
|
+
const rows = Array.isArray(rowOrRows) ? rowOrRows : [rowOrRows];
|
|
139
|
+
if (!rows.length) return this;
|
|
140
|
+
return this.clone(this.state.withValues(rows));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Specifies the columns for the INSERT query
|
|
145
|
+
* @param columns - Column definitions or nodes to insert into
|
|
146
|
+
* @returns A new InsertQueryBuilder with the specified columns
|
|
147
|
+
*/
|
|
148
|
+
columns(...columns: (ColumnDef | ColumnNode)[]): InsertQueryBuilder<T> {
|
|
149
|
+
if (!columns.length) return this;
|
|
150
|
+
return this.clone(this.state.withColumns(this.resolveColumnNodes(columns)));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Sets the source of the INSERT query to a SELECT query
|
|
155
|
+
* @template TSource - The source table type
|
|
156
|
+
* @param query - The SELECT query or query builder to use as source
|
|
157
|
+
* @param columns - Optional target columns for the INSERT
|
|
158
|
+
* @returns A new InsertQueryBuilder with the SELECT source
|
|
159
|
+
*/
|
|
160
160
|
fromSelect<TSource extends TableDef>(
|
|
161
161
|
query: SelectQueryNode | SelectQueryBuilder<unknown, TSource>,
|
|
162
162
|
columns: (ColumnDef | ColumnNode)[] = []
|
|
163
163
|
): InsertQueryBuilder<T> {
|
|
164
|
-
const ast = this.resolveSelectQuery(query);
|
|
165
|
-
const nodes = columns.length ? this.resolveColumnNodes(columns) : [];
|
|
164
|
+
const ast = this.resolveSelectQuery(query);
|
|
165
|
+
const nodes = columns.length ? this.resolveColumnNodes(columns) : [];
|
|
166
166
|
return this.clone(this.state.withSelect(ast, nodes));
|
|
167
167
|
}
|
|
168
168
|
|
|
@@ -184,74 +184,74 @@ export class InsertQueryBuilder<T> {
|
|
|
184
184
|
clause => this.withOnConflict(clause)
|
|
185
185
|
);
|
|
186
186
|
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Adds a RETURNING clause to the INSERT query
|
|
190
|
-
* @param columns - Columns to return after insertion
|
|
191
|
-
* @returns A new InsertQueryBuilder with the RETURNING clause added
|
|
192
|
-
*/
|
|
193
|
-
returning(...columns: (ColumnDef | ColumnNode)[]): InsertQueryBuilder<T> {
|
|
194
|
-
if (!columns.length) return this;
|
|
195
|
-
const nodes = columns.map(column => buildColumnNode(this.table, column));
|
|
196
|
-
return this.clone(this.state.withReturning(nodes));
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// Helpers for column/AST resolution
|
|
200
|
-
private resolveColumnNodes(columns: (ColumnDef | ColumnNode)[]): ColumnNode[] {
|
|
201
|
-
return columns.map(column => buildColumnNode(this.table, column));
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
private resolveSelectQuery<TSource extends TableDef>(
|
|
205
|
-
query: SelectQueryNode | SelectQueryBuilder<unknown, TSource>
|
|
206
|
-
): SelectQueryNode {
|
|
207
|
-
const candidate = query as { getAST?: () => SelectQueryNode };
|
|
208
|
-
return typeof candidate.getAST === 'function' && candidate.getAST
|
|
209
|
-
? candidate.getAST()
|
|
210
|
-
: (query as SelectQueryNode);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Existing compiler-based compile stays, but we add a new overload.
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Compiles the INSERT query
|
|
217
|
-
* @param compiler - The INSERT compiler to use
|
|
218
|
-
* @returns The compiled query with SQL and parameters
|
|
219
|
-
*/
|
|
220
|
-
compile(compiler: InsertCompiler): CompiledQuery;
|
|
221
|
-
/**
|
|
222
|
-
* Compiles the INSERT query for the specified dialect
|
|
223
|
-
* @param dialect - The SQL dialect to compile for
|
|
224
|
-
* @returns The compiled query with SQL and parameters
|
|
225
|
-
*/
|
|
226
|
-
compile(dialect: InsertDialectInput): CompiledQuery;
|
|
227
|
-
|
|
228
|
-
compile(arg: InsertCompiler | InsertDialectInput): CompiledQuery {
|
|
229
|
-
const candidate = arg as { compileInsert?: (ast: InsertQueryNode) => CompiledQuery };
|
|
230
|
-
if (typeof candidate.compileInsert === 'function') {
|
|
231
|
-
// InsertCompiler path – old behavior
|
|
232
|
-
return candidate.compileInsert(this.state.ast);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// Dialect | string path – new behavior
|
|
236
|
-
const dialect = resolveDialectInput(arg as InsertDialectInput);
|
|
237
|
-
return dialect.compileInsert(this.state.ast);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Returns the SQL string for the INSERT query
|
|
242
|
-
* @param arg - The compiler or dialect to generate SQL for
|
|
243
|
-
* @returns The SQL string representation of the query
|
|
244
|
-
*/
|
|
245
|
-
toSql(arg: InsertCompiler | InsertDialectInput): string {
|
|
246
|
-
return this.compile(arg as InsertCompiler).sql;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Returns the Abstract Syntax Tree (AST) representation of the query
|
|
251
|
-
* @returns The AST node for the INSERT query
|
|
252
|
-
*/
|
|
253
|
-
getAST(): InsertQueryNode {
|
|
254
|
-
return this.state.ast;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Adds a RETURNING clause to the INSERT query
|
|
190
|
+
* @param columns - Columns to return after insertion
|
|
191
|
+
* @returns A new InsertQueryBuilder with the RETURNING clause added
|
|
192
|
+
*/
|
|
193
|
+
returning(...columns: (ColumnDef | ColumnNode)[]): InsertQueryBuilder<T> {
|
|
194
|
+
if (!columns.length) return this;
|
|
195
|
+
const nodes = columns.map(column => buildColumnNode(this.table, column));
|
|
196
|
+
return this.clone(this.state.withReturning(nodes));
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Helpers for column/AST resolution
|
|
200
|
+
private resolveColumnNodes(columns: (ColumnDef | ColumnNode)[]): ColumnNode[] {
|
|
201
|
+
return columns.map(column => buildColumnNode(this.table, column));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
private resolveSelectQuery<TSource extends TableDef>(
|
|
205
|
+
query: SelectQueryNode | SelectQueryBuilder<unknown, TSource>
|
|
206
|
+
): SelectQueryNode {
|
|
207
|
+
const candidate = query as { getAST?: () => SelectQueryNode };
|
|
208
|
+
return typeof candidate.getAST === 'function' && candidate.getAST
|
|
209
|
+
? candidate.getAST()
|
|
210
|
+
: (query as SelectQueryNode);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Existing compiler-based compile stays, but we add a new overload.
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Compiles the INSERT query
|
|
217
|
+
* @param compiler - The INSERT compiler to use
|
|
218
|
+
* @returns The compiled query with SQL and parameters
|
|
219
|
+
*/
|
|
220
|
+
compile(compiler: InsertCompiler): CompiledQuery;
|
|
221
|
+
/**
|
|
222
|
+
* Compiles the INSERT query for the specified dialect
|
|
223
|
+
* @param dialect - The SQL dialect to compile for
|
|
224
|
+
* @returns The compiled query with SQL and parameters
|
|
225
|
+
*/
|
|
226
|
+
compile(dialect: InsertDialectInput): CompiledQuery;
|
|
227
|
+
|
|
228
|
+
compile(arg: InsertCompiler | InsertDialectInput): CompiledQuery {
|
|
229
|
+
const candidate = arg as { compileInsert?: (ast: InsertQueryNode) => CompiledQuery };
|
|
230
|
+
if (typeof candidate.compileInsert === 'function') {
|
|
231
|
+
// InsertCompiler path – old behavior
|
|
232
|
+
return candidate.compileInsert(this.state.ast);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Dialect | string path – new behavior
|
|
236
|
+
const dialect = resolveDialectInput(arg as InsertDialectInput);
|
|
237
|
+
return dialect.compileInsert(this.state.ast);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Returns the SQL string for the INSERT query
|
|
242
|
+
* @param arg - The compiler or dialect to generate SQL for
|
|
243
|
+
* @returns The SQL string representation of the query
|
|
244
|
+
*/
|
|
245
|
+
toSql(arg: InsertCompiler | InsertDialectInput): string {
|
|
246
|
+
return this.compile(arg as InsertCompiler).sql;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Returns the Abstract Syntax Tree (AST) representation of the query
|
|
251
|
+
* @returns The AST node for the INSERT query
|
|
252
|
+
*/
|
|
253
|
+
getAST(): InsertQueryNode {
|
|
254
|
+
return this.state.ast;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|