litedbmodel 0.22.3 → 1.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/README.md +90 -80
- package/dist/Column.d.ts +17 -9
- package/dist/Column.d.ts.map +1 -1
- package/dist/Column.js +39 -4
- package/dist/Column.js.map +1 -1
- package/dist/DBModel.d.ts +44 -18
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +124 -63
- package/dist/DBModel.js.map +1 -1
- package/dist/LazyRelation.d.ts.map +1 -1
- package/dist/LazyRelation.js +9 -3
- package/dist/LazyRelation.js.map +1 -1
- package/dist/SqlFragment.d.ts +118 -0
- package/dist/SqlFragment.d.ts.map +1 -0
- package/dist/SqlFragment.js +237 -0
- package/dist/SqlFragment.js.map +1 -0
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +6 -8
- package/dist/decorators.js.map +1 -1
- package/dist/drivers/PostgresHelper.d.ts.map +1 -1
- package/dist/drivers/PostgresHelper.js +4 -0
- package/dist/drivers/PostgresHelper.js.map +1 -1
- package/dist/drivers/postgres.d.ts.map +1 -1
- package/dist/drivers/postgres.js +57 -10
- package/dist/drivers/postgres.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/docs/BENCHMARK.md +52 -52
- package/docs/COMPARISON.md +30 -25
- package/docs/benchmark-chart.svg +163 -163
- package/docs/sql-tagged-template.md +259 -0
- package/package.json +1 -1
package/dist/DBModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
|
package/dist/DBModel.js
CHANGED
|
@@ -14,6 +14,7 @@ const DBConditions_1 = require("./DBConditions");
|
|
|
14
14
|
const DBHandler_1 = require("./DBHandler");
|
|
15
15
|
const types_1 = require("./types");
|
|
16
16
|
const Column_1 = require("./Column");
|
|
17
|
+
const SqlFragment_1 = require("./SqlFragment");
|
|
17
18
|
const Middleware_1 = require("./Middleware");
|
|
18
19
|
const decorators_1 = require("./decorators");
|
|
19
20
|
const drivers_2 = require("./drivers");
|
|
@@ -275,7 +276,10 @@ class DBModel {
|
|
|
275
276
|
// Check if we're in a transaction
|
|
276
277
|
const txContext = this._getTransactionContext().getStore();
|
|
277
278
|
if (txContext) {
|
|
278
|
-
|
|
279
|
+
if (!txContext.handler) {
|
|
280
|
+
txContext.handler = (0, DBHandler_1.createHandlerWithConnection)(txContext.connection);
|
|
281
|
+
}
|
|
282
|
+
return txContext.handler;
|
|
279
283
|
}
|
|
280
284
|
const handler = (0, DBHandler_1.getDBHandler)();
|
|
281
285
|
// Check if we're in withWriter context
|
|
@@ -521,13 +525,13 @@ class DBModel {
|
|
|
521
525
|
sql = `WITH ${options.cte.name} AS (${options.cte.sql}) `;
|
|
522
526
|
}
|
|
523
527
|
// Query-based CTE (append with comma if custom CTE exists)
|
|
524
|
-
|
|
528
|
+
const querySQL = this._getQuerySQL();
|
|
529
|
+
if (isQueryBased && querySQL) {
|
|
525
530
|
if (sql) {
|
|
526
|
-
|
|
527
|
-
sql = sql.slice(0, -1) + `, ${cteAlias} AS (${this.QUERY}) `;
|
|
531
|
+
sql = sql.slice(0, -1) + `, ${cteAlias} AS (${querySQL}) `;
|
|
528
532
|
}
|
|
529
533
|
else {
|
|
530
|
-
sql = `WITH ${cteAlias} AS (${
|
|
534
|
+
sql = `WITH ${cteAlias} AS (${querySQL}) `;
|
|
531
535
|
}
|
|
532
536
|
}
|
|
533
537
|
sql += `SELECT ${selectCols} FROM ${tableName}`;
|
|
@@ -711,8 +715,9 @@ class DBModel {
|
|
|
711
715
|
const whereClause = normalizedCond.compile(params, formatter);
|
|
712
716
|
// Build CTE prefix if query-based
|
|
713
717
|
let sql = '';
|
|
714
|
-
|
|
715
|
-
|
|
718
|
+
const countQuerySQL = this._getQuerySQL();
|
|
719
|
+
if (isQueryBased && countQuerySQL) {
|
|
720
|
+
sql = `WITH ${cteAlias} AS (${countQuerySQL}) `;
|
|
716
721
|
}
|
|
717
722
|
sql += `SELECT COUNT(*) as count FROM ${tableName}`;
|
|
718
723
|
if (whereClause) {
|
|
@@ -757,26 +762,39 @@ class DBModel {
|
|
|
757
762
|
const records = rawRecords.map(r => (0, decorators_1.serializeRecord)(this, r, typeCast));
|
|
758
763
|
// Group records by their column pattern (SKIP pattern grouping)
|
|
759
764
|
// Each group has the same set of columns, enabling batch INSERT without DEFAULT keyword
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
765
|
+
// Fast path: single record — skip Map/sort/join overhead
|
|
766
|
+
let groupedByPattern;
|
|
767
|
+
if (records.length === 1) {
|
|
768
|
+
const record = records[0];
|
|
764
769
|
const recordColumns = [];
|
|
765
770
|
for (const key of Object.keys(record)) {
|
|
766
771
|
const val = record[key];
|
|
767
|
-
// Skip DBImmediateValue with 'DEFAULT' and undefined values
|
|
768
772
|
if (val !== undefined && !(val instanceof DBValues_1.DBImmediateValue && val.value === 'DEFAULT')) {
|
|
769
773
|
recordColumns.push(key);
|
|
770
774
|
}
|
|
771
775
|
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
+
groupedByPattern = new Map([['_', { columns: recordColumns, records: [record], rawRecords: [rawRecords[0]] }]]);
|
|
777
|
+
}
|
|
778
|
+
else {
|
|
779
|
+
groupedByPattern = new Map();
|
|
780
|
+
for (let i = 0; i < records.length; i++) {
|
|
781
|
+
const record = records[i];
|
|
782
|
+
const recordColumns = [];
|
|
783
|
+
for (const key of Object.keys(record)) {
|
|
784
|
+
const val = record[key];
|
|
785
|
+
if (val !== undefined && !(val instanceof DBValues_1.DBImmediateValue && val.value === 'DEFAULT')) {
|
|
786
|
+
recordColumns.push(key);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
recordColumns.sort();
|
|
790
|
+
const patternKey = recordColumns.join(',');
|
|
791
|
+
if (!groupedByPattern.has(patternKey)) {
|
|
792
|
+
groupedByPattern.set(patternKey, { columns: recordColumns, records: [], rawRecords: [] });
|
|
793
|
+
}
|
|
794
|
+
const group = groupedByPattern.get(patternKey);
|
|
795
|
+
group.records.push(record);
|
|
796
|
+
group.rawRecords.push(rawRecords[i]);
|
|
776
797
|
}
|
|
777
|
-
const group = groupedByPattern.get(patternKey);
|
|
778
|
-
group.records.push(record);
|
|
779
|
-
group.rawRecords.push(rawRecords[i]);
|
|
780
798
|
}
|
|
781
799
|
// Helper to convert Column symbols to strings
|
|
782
800
|
const toColName = (col) => typeof col === 'function' || typeof col === 'object' ? String(col) : String(col);
|
|
@@ -1167,11 +1185,47 @@ class DBModel {
|
|
|
1167
1185
|
static getCTEAlias() {
|
|
1168
1186
|
return this.TABLE_NAME || 'derived';
|
|
1169
1187
|
}
|
|
1188
|
+
/**
|
|
1189
|
+
* Resolve QUERY to a SQL string and params.
|
|
1190
|
+
* Handles both string and SqlFragment QUERY types.
|
|
1191
|
+
* @internal
|
|
1192
|
+
*/
|
|
1193
|
+
static _resolveQuery() {
|
|
1194
|
+
if (this.QUERY === null)
|
|
1195
|
+
return null;
|
|
1196
|
+
if (typeof this.QUERY === 'string') {
|
|
1197
|
+
return { sql: this.QUERY, params: this._queryParams ? [...this._queryParams] : [] };
|
|
1198
|
+
}
|
|
1199
|
+
// SqlFragment: params come from the fragment, plus any _queryParams
|
|
1200
|
+
const fragmentParams = [...this.QUERY.params];
|
|
1201
|
+
if (this._queryParams) {
|
|
1202
|
+
fragmentParams.push(...this._queryParams);
|
|
1203
|
+
}
|
|
1204
|
+
return { sql: this.QUERY.sql, params: fragmentParams };
|
|
1205
|
+
}
|
|
1206
|
+
/**
|
|
1207
|
+
* Get the QUERY SQL string (resolves SqlFragment if needed).
|
|
1208
|
+
* @internal
|
|
1209
|
+
*/
|
|
1210
|
+
static _getQuerySQL() {
|
|
1211
|
+
if (this.QUERY === null)
|
|
1212
|
+
return null;
|
|
1213
|
+
if (typeof this.QUERY === 'string')
|
|
1214
|
+
return this.QUERY;
|
|
1215
|
+
return this.QUERY.sql;
|
|
1216
|
+
}
|
|
1170
1217
|
/**
|
|
1171
1218
|
* Get query parameters (set via withQuery()).
|
|
1172
1219
|
* @internal
|
|
1173
1220
|
*/
|
|
1174
1221
|
static getQueryParams() {
|
|
1222
|
+
if (this.QUERY !== null && typeof this.QUERY !== 'string' && (0, SqlFragment_1.isAnySqlFragment)(this.QUERY)) {
|
|
1223
|
+
const fragmentParams = [...this.QUERY.params];
|
|
1224
|
+
if (this._queryParams) {
|
|
1225
|
+
fragmentParams.push(...this._queryParams);
|
|
1226
|
+
}
|
|
1227
|
+
return fragmentParams;
|
|
1228
|
+
}
|
|
1175
1229
|
return this._queryParams ? [...this._queryParams] : [];
|
|
1176
1230
|
}
|
|
1177
1231
|
/**
|
|
@@ -1183,34 +1237,37 @@ class DBModel {
|
|
|
1183
1237
|
/**
|
|
1184
1238
|
* Create a new model class bound to specific query parameters.
|
|
1185
1239
|
* Used for parameterized query-based models.
|
|
1240
|
+
* Accepts either `{ sql, params }` object or a `SqlFragment` from `sql` tagged template.
|
|
1186
1241
|
*
|
|
1187
|
-
* @param queryConfig - Query configuration with sql and params
|
|
1242
|
+
* @param queryConfig - Query configuration with sql and params, or SqlFragment
|
|
1188
1243
|
* @returns A new model class with bound parameters
|
|
1189
1244
|
*
|
|
1190
1245
|
* @example
|
|
1191
1246
|
* ```typescript
|
|
1192
|
-
*
|
|
1193
|
-
* static QUERY = '...'; // Base query template
|
|
1247
|
+
* import { sql } from 'litedbmodel';
|
|
1194
1248
|
*
|
|
1249
|
+
* class SalesReportModel extends DBModel {
|
|
1195
1250
|
* static forPeriod(startDate: string, endDate: string) {
|
|
1196
|
-
* return this.withQuery(
|
|
1197
|
-
*
|
|
1198
|
-
*
|
|
1199
|
-
*
|
|
1251
|
+
* return this.withQuery(sql`
|
|
1252
|
+
* SELECT p.id, SUM(oi.quantity) AS total
|
|
1253
|
+
* FROM products p
|
|
1254
|
+
* JOIN order_items oi ON p.id = oi.product_id
|
|
1255
|
+
* WHERE oi.created_at >= ${startDate} AND oi.created_at < ${endDate}
|
|
1256
|
+
* GROUP BY p.id
|
|
1257
|
+
* `);
|
|
1200
1258
|
* }
|
|
1201
1259
|
* }
|
|
1202
|
-
*
|
|
1203
|
-
* const Q1Report = SalesReport.forPeriod('2024-01-01', '2024-04-01');
|
|
1204
|
-
* const results = await Q1Report.find([...]);
|
|
1205
1260
|
* ```
|
|
1206
1261
|
*/
|
|
1207
1262
|
static withQuery(queryConfig) {
|
|
1208
|
-
|
|
1263
|
+
const resolved = (0, SqlFragment_1.isAnySqlFragment)(queryConfig)
|
|
1264
|
+
? { sql: queryConfig.sql, params: [...queryConfig.params] }
|
|
1265
|
+
: queryConfig;
|
|
1209
1266
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
1210
1267
|
const ParentClass = this;
|
|
1211
1268
|
const BoundModel = class extends ParentClass {
|
|
1212
|
-
static QUERY =
|
|
1213
|
-
static _queryParams =
|
|
1269
|
+
static QUERY = resolved.sql;
|
|
1270
|
+
static _queryParams = resolved.params || null;
|
|
1214
1271
|
};
|
|
1215
1272
|
// Copy static properties (TABLE_NAME, etc.)
|
|
1216
1273
|
Object.defineProperty(BoundModel, 'TABLE_NAME', {
|
|
@@ -1255,10 +1312,12 @@ class DBModel {
|
|
|
1255
1312
|
// ============================================
|
|
1256
1313
|
/** Instance reference to the static class */
|
|
1257
1314
|
_modelClass;
|
|
1258
|
-
/** Per-instance cache for loaded relations */
|
|
1259
|
-
_relationCache =
|
|
1315
|
+
/** Per-instance cache for loaded relations (lazy-initialized) */
|
|
1316
|
+
_relationCache = null;
|
|
1260
1317
|
/** Reference to the relation context (for batch loading) */
|
|
1261
1318
|
_relationContext = null;
|
|
1319
|
+
/** Deferred context info: [sourceClass, records] set by _select, resolved on first relation access */
|
|
1320
|
+
_deferredContext = null;
|
|
1262
1321
|
constructor() {
|
|
1263
1322
|
this._modelClass = this.constructor;
|
|
1264
1323
|
}
|
|
@@ -1272,6 +1331,7 @@ class DBModel {
|
|
|
1272
1331
|
*/
|
|
1273
1332
|
_setRelationContext(context) {
|
|
1274
1333
|
this._relationContext = context;
|
|
1334
|
+
this._deferredContext = null;
|
|
1275
1335
|
}
|
|
1276
1336
|
/**
|
|
1277
1337
|
* Get the relation context (or create one for single record).
|
|
@@ -1279,8 +1339,16 @@ class DBModel {
|
|
|
1279
1339
|
*/
|
|
1280
1340
|
_getRelationContext() {
|
|
1281
1341
|
if (!this._relationContext) {
|
|
1282
|
-
|
|
1283
|
-
|
|
1342
|
+
if (this._deferredContext) {
|
|
1343
|
+
const [sourceClass, records] = this._deferredContext;
|
|
1344
|
+
// Materialize context for all records in the batch
|
|
1345
|
+
new LazyRelation_1.LazyRelationContext(sourceClass, records);
|
|
1346
|
+
// Constructor calls _setRelationContext on each record, clearing _deferredContext
|
|
1347
|
+
}
|
|
1348
|
+
else {
|
|
1349
|
+
const ModelClass = this.constructor;
|
|
1350
|
+
this._relationContext = new LazyRelation_1.LazyRelationContext(ModelClass, [this]);
|
|
1351
|
+
}
|
|
1284
1352
|
}
|
|
1285
1353
|
return this._relationContext;
|
|
1286
1354
|
}
|
|
@@ -1289,7 +1357,9 @@ class DBModel {
|
|
|
1289
1357
|
* Also clears the context cache to force reload from DB.
|
|
1290
1358
|
*/
|
|
1291
1359
|
clearRelationCache() {
|
|
1292
|
-
this._relationCache
|
|
1360
|
+
if (this._relationCache) {
|
|
1361
|
+
this._relationCache.clear();
|
|
1362
|
+
}
|
|
1293
1363
|
if (this._relationContext) {
|
|
1294
1364
|
this._relationContext.clearCache();
|
|
1295
1365
|
}
|
|
@@ -1331,7 +1401,7 @@ class DBModel {
|
|
|
1331
1401
|
const context = this._getRelationContext();
|
|
1332
1402
|
const cacheKey = context.getCacheKey(relationType, relationConfig);
|
|
1333
1403
|
// Return cached value if available
|
|
1334
|
-
if (this._relationCache
|
|
1404
|
+
if (this._relationCache?.has(cacheKey)) {
|
|
1335
1405
|
const cached = this._relationCache.get(cacheKey);
|
|
1336
1406
|
if (relationType === 'hasMany') {
|
|
1337
1407
|
return cached;
|
|
@@ -1351,6 +1421,8 @@ class DBModel {
|
|
|
1351
1421
|
throw new types_1.LimitExceededError(effectiveLimit, result.length, 'relation', this.constructor.name, config.relationName);
|
|
1352
1422
|
}
|
|
1353
1423
|
}
|
|
1424
|
+
if (!this._relationCache)
|
|
1425
|
+
this._relationCache = new Map();
|
|
1354
1426
|
this._relationCache.set(cacheKey, result);
|
|
1355
1427
|
if (relationType === 'hasMany') {
|
|
1356
1428
|
return result;
|
|
@@ -2082,27 +2154,15 @@ class DBModel {
|
|
|
2082
2154
|
};
|
|
2083
2155
|
return this._applyMiddleware('updateMany', core, [rows, options]);
|
|
2084
2156
|
}
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
*
|
|
2095
|
-
* @example
|
|
2096
|
-
* ```typescript
|
|
2097
|
-
* const result = await DBModel.execute(
|
|
2098
|
-
* 'SELECT * FROM users WHERE id = $1',
|
|
2099
|
-
* [1]
|
|
2100
|
-
* );
|
|
2101
|
-
* console.log(result.rows);
|
|
2102
|
-
* console.log(result.rowCount);
|
|
2103
|
-
* ```
|
|
2104
|
-
*/
|
|
2105
|
-
static execute(sql, params) {
|
|
2157
|
+
static execute(sqlOrFragment, params) {
|
|
2158
|
+
let sql;
|
|
2159
|
+
if (typeof sqlOrFragment !== 'string' && (0, SqlFragment_1.isAnySqlFragment)(sqlOrFragment)) {
|
|
2160
|
+
sql = sqlOrFragment.sql;
|
|
2161
|
+
params = [...sqlOrFragment.params];
|
|
2162
|
+
}
|
|
2163
|
+
else {
|
|
2164
|
+
sql = sqlOrFragment;
|
|
2165
|
+
}
|
|
2106
2166
|
const core = async (s, p) => {
|
|
2107
2167
|
const handler = this.getHandler();
|
|
2108
2168
|
// Use writer pool if in withWriter context or writer sticky period
|
|
@@ -2146,10 +2206,12 @@ class DBModel {
|
|
|
2146
2206
|
const result = await this.execute(s, p);
|
|
2147
2207
|
// Create model instances from raw rows
|
|
2148
2208
|
const instances = result.rows.map((row) => this._createInstance(row));
|
|
2149
|
-
//
|
|
2209
|
+
// Defer relation context setup — only materialized on first relation access
|
|
2150
2210
|
if (instances.length > 1) {
|
|
2151
|
-
|
|
2152
|
-
|
|
2211
|
+
const deferredRef = [this, instances];
|
|
2212
|
+
for (const inst of instances) {
|
|
2213
|
+
inst._deferredContext = deferredRef;
|
|
2214
|
+
}
|
|
2153
2215
|
}
|
|
2154
2216
|
return instances;
|
|
2155
2217
|
};
|
|
@@ -2442,7 +2504,6 @@ class DBModel {
|
|
|
2442
2504
|
if (forUpdate) {
|
|
2443
2505
|
options.forUpdate = true;
|
|
2444
2506
|
}
|
|
2445
|
-
// Convert pkey to condition tuples
|
|
2446
2507
|
const pkeyConditions = Object.entries(pkey).map(([k, v]) => [k, v]);
|
|
2447
2508
|
const results = await ModelClass.find(pkeyConditions, options);
|
|
2448
2509
|
if (results.length > 0) {
|