litedbmodel 1.0.0 → 1.1.0
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 +18 -14
- package/dist/DBModel.d.ts +23 -20
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +64 -31
- package/dist/DBModel.js.map +1 -1
- package/dist/LazyRelation.d.ts.map +1 -1
- package/dist/LazyRelation.js +16 -10
- package/dist/LazyRelation.js.map +1 -1
- package/dist/SqlFragment.js +1 -1
- package/dist/SqlFragment.js.map +1 -1
- package/dist/decorators.d.ts +6 -7
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +42 -23
- 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/types.d.ts +0 -9
- package/dist/types.d.ts.map +1 -1
- package/docs/BENCHMARK.md +52 -52
- package/docs/COMPARISON.md +9 -7
- package/docs/api/README.md +61 -9
- package/docs/api/classes/Conditions.md +75 -8
- package/docs/api/classes/DBHandler.md +3 -3
- package/docs/api/classes/DBModel.md +260 -106
- package/docs/api/classes/LimitExceededError.md +1 -1
- package/docs/api/classes/Middleware.md +1 -1
- package/docs/api/classes/SqlRaw.md +53 -0
- package/docs/api/classes/SqlRef.md +59 -0
- package/docs/api/classes/Values.md +6 -6
- package/docs/api/classes/WriteInReadOnlyContextError.md +1 -1
- package/docs/api/classes/WriteOutsideTransactionError.md +1 -1
- package/docs/api/functions/belongsTo.md +2 -2
- package/docs/api/functions/closeAllPools.md +1 -1
- package/docs/api/functions/condsToRecord.md +23 -0
- package/docs/api/functions/createMiddleware.md +68 -0
- package/docs/api/functions/createPostgresDriver.md +2 -2
- package/docs/api/functions/createSqliteDriver.md +1 -1
- package/docs/api/functions/dbCast.md +1 -1
- package/docs/api/functions/dbCastIn.md +1 -1
- package/docs/api/functions/dbDynamic.md +1 -1
- package/docs/api/functions/dbFalse.md +1 -1
- package/docs/api/functions/dbImmediate.md +1 -1
- package/docs/api/functions/dbIn.md +1 -1
- package/docs/api/functions/dbNotNull.md +1 -1
- package/docs/api/functions/dbNow.md +1 -1
- package/docs/api/functions/dbNull.md +1 -1
- package/docs/api/functions/dbRaw.md +1 -1
- package/docs/api/functions/dbTrue.md +1 -1
- package/docs/api/functions/dbUuid.md +1 -1
- package/docs/api/functions/dbUuidIn.md +1 -1
- package/docs/api/functions/getDBConfig.md +1 -1
- package/docs/api/functions/getDBHandler.md +1 -1
- package/docs/api/functions/getTransactionConnection.md +2 -2
- package/docs/api/functions/getTransactionContext.md +2 -2
- package/docs/api/functions/hasMany.md +2 -2
- package/docs/api/functions/hasOne.md +2 -2
- package/docs/api/functions/initDBHandler.md +1 -1
- package/docs/api/functions/isAnySqlFragment.md +25 -0
- package/docs/api/functions/isSqlCondition.md +23 -0
- package/docs/api/functions/isSqlFragment.md +23 -0
- package/docs/api/functions/isSqlRaw.md +23 -0
- package/docs/api/functions/isSqlRef.md +23 -0
- package/docs/api/functions/isSqlTypedFragment.md +23 -0
- package/docs/api/functions/model.md +4 -4
- package/docs/api/functions/parentRef.md +1 -1
- package/docs/api/functions/sql.md +182 -0
- package/docs/api/globals.md +71 -19
- package/docs/api/interfaces/Column.md +31 -31
- package/docs/api/interfaces/ColumnOptions.md +4 -4
- package/docs/api/interfaces/CreatedMiddlewareClass.md +110 -0
- package/docs/api/interfaces/DBConfig.md +2 -2
- package/docs/api/interfaces/DBConfigOptions.md +1 -1
- package/docs/api/interfaces/DeleteOptions.md +1 -1
- package/docs/api/interfaces/InsertOptions.md +2 -2
- package/docs/api/interfaces/LimitConfig.md +1 -1
- package/docs/api/interfaces/MiddlewareConfig.md +40 -0
- package/docs/api/interfaces/ModelOptions.md +1 -1
- package/docs/api/interfaces/PkeyResult.md +1 -1
- package/docs/api/interfaces/SelectOptions.md +1 -1
- package/docs/api/interfaces/SqlCondition.md +27 -0
- package/docs/api/interfaces/SqlFragment.md +20 -0
- package/docs/api/interfaces/SqlTypedFragment.md +29 -0
- package/docs/api/interfaces/TransactionOptions.md +1 -1
- package/docs/api/interfaces/UpdateManyOptions.md +1 -1
- package/docs/api/interfaces/UpdateOptions.md +1 -1
- package/docs/benchmark-chart.svg +163 -163
- package/docs/sql-tagged-template.md +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -214,7 +214,7 @@ Types are inferred from TypeScript property types:
|
|
|
214
214
|
Use explicit type decorators when auto-inference isn't sufficient:
|
|
215
215
|
|
|
216
216
|
```typescript
|
|
217
|
-
@column.date() birth_date?:
|
|
217
|
+
@column.date() birth_date?: string; // Date only (YYYY-MM-DD string)
|
|
218
218
|
@column.datetime() updated_at?: Date; // DateTime with timezone
|
|
219
219
|
@column.boolean() is_active?: boolean; // Explicit boolean
|
|
220
220
|
@column.number() amount?: number; // Explicit number
|
|
@@ -229,20 +229,20 @@ Use explicit type decorators when auto-inference isn't sufficient:
|
|
|
229
229
|
|
|
230
230
|
### Date vs DateTime: Important Distinction
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
Databases distinguish between date-only and datetime columns. `@column.date()` returns a **`string`** (`YYYY-MM-DD`), not a `Date` object, because a calendar date has no timezone concept:
|
|
233
233
|
|
|
234
|
-
| DB Column Type | Decorator | Example |
|
|
235
|
-
|
|
236
|
-
| `TIMESTAMP` / `DATETIME` | `@column()` or `@column.datetime()` | `created_at`, `updated_at` |
|
|
237
|
-
| `DATE` | `@column.date()` | `birth_date`, `settlement_date` |
|
|
234
|
+
| DB Column Type | Decorator | TypeScript Type | Example |
|
|
235
|
+
|----------------|-----------|-----------------|---------|
|
|
236
|
+
| `TIMESTAMP` / `DATETIME` | `@column()` or `@column.datetime()` | `Date` | `created_at`, `updated_at` |
|
|
237
|
+
| `DATE` | `@column.date()` | `string` | `birth_date`, `settlement_date` |
|
|
238
238
|
|
|
239
239
|
**⚠️ Important**: `@column()` with `Date` type is treated as `TIMESTAMP/DATETIME`. For date-only columns (no time component), you **must** use `@column.date()` explicitly.
|
|
240
240
|
|
|
241
241
|
```typescript
|
|
242
242
|
// ✅ Correct usage
|
|
243
|
-
@column() created_at?: Date; // TIMESTAMP column (datetime)
|
|
244
|
-
@column.datetime() updated_at?: Date; // TIMESTAMP column (
|
|
245
|
-
@column.date() settlement_date?:
|
|
243
|
+
@column() created_at?: Date; // TIMESTAMP column (datetime → Date)
|
|
244
|
+
@column.datetime() updated_at?: Date; // TIMESTAMP column (datetime → Date)
|
|
245
|
+
@column.date() settlement_date?: string; // DATE column (date only → 'YYYY-MM-DD')
|
|
246
246
|
|
|
247
247
|
// ❌ Wrong: will cause type mismatch errors
|
|
248
248
|
@column() settlement_date?: Date; // Treated as TIMESTAMP, not DATE!
|
|
@@ -250,7 +250,7 @@ TypeScript has only one `Date` type, but databases distinguish between:
|
|
|
250
250
|
|
|
251
251
|
**Serialization behavior** (PostgreSQL):
|
|
252
252
|
- `@column()` / `@column.datetime()` → ISO 8601 UTC: `2024-06-15T10:30:00.000Z`
|
|
253
|
-
- `@column.date()` →
|
|
253
|
+
- `@column.date()` → date string: `2024-06-15`
|
|
254
254
|
|
|
255
255
|
---
|
|
256
256
|
|
|
@@ -650,6 +650,8 @@ await User.updateMany([
|
|
|
650
650
|
|
|
651
651
|
Records with the same SKIP pattern are batched together for efficient INSERT. Each database uses native batch syntax while ensuring SKIPped columns receive DEFAULT values (createMany) or retain existing values (updateMany).
|
|
652
652
|
|
|
653
|
+
> **Note on `createMany` with SKIP:** `createMany` groups records by their SKIP pattern and issues a separate INSERT per group, because SQL does not allow mixing `DEFAULT` with array-based bulk insert (`UNNEST`). `updateMany` does not have this limitation — it handles SKIP in a single query using boolean flags. For best performance with `createMany`, prefer providing explicit values for all columns instead of using SKIP.
|
|
654
|
+
|
|
653
655
|
---
|
|
654
656
|
|
|
655
657
|
## Relation Decorators
|
|
@@ -1136,7 +1138,7 @@ The `sql` tag automatically converts interpolated values to `?` placeholders and
|
|
|
1136
1138
|
|
|
1137
1139
|
### Type-Safe Column References in QUERY
|
|
1138
1140
|
|
|
1139
|
-
Use the `sql` tag with Column and
|
|
1141
|
+
Use the `sql` tag with Column references and **Model classes** for refactoring safety. Columns and table names are embedded directly in SQL; they are not parameterized:
|
|
1140
1142
|
|
|
1141
1143
|
```typescript
|
|
1142
1144
|
import { sql } from 'litedbmodel';
|
|
@@ -1152,13 +1154,15 @@ class UserActivityModel extends DBModel {
|
|
|
1152
1154
|
${User.id} AS user_id,
|
|
1153
1155
|
${User.name} AS user_name,
|
|
1154
1156
|
COUNT(${Post.id}) AS total_posts
|
|
1155
|
-
FROM ${User
|
|
1156
|
-
LEFT JOIN ${Post
|
|
1157
|
+
FROM ${User}
|
|
1158
|
+
LEFT JOIN ${Post} ON ${User.id} = ${Post.user_id}
|
|
1157
1159
|
GROUP BY ${User.id}, ${User.name}
|
|
1158
1160
|
`;
|
|
1159
1161
|
}
|
|
1160
1162
|
```
|
|
1161
1163
|
|
|
1164
|
+
Passing a Model class (`${User}`) in the `sql` tag expands to its `TABLE_NAME`. This is consistent with column references (`${User.id}` → column name).
|
|
1165
|
+
|
|
1162
1166
|
### Use Cases
|
|
1163
1167
|
|
|
1164
1168
|
| Use Case | Example |
|
|
@@ -1338,7 +1342,7 @@ const article = await CmsDB.withWriter(async () => {
|
|
|
1338
1342
|
| **IDE Refactoring** | ✅ | ❌ | ⚠️ Partial | ❌ | ❌ |
|
|
1339
1343
|
| **SKIP Pattern** | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
1340
1344
|
| **Extensibility** | Middleware | Plugins | ❌ Manual | Subscribers | Extensions |
|
|
1341
|
-
| **Performance** | 🏆 Fastest |
|
|
1345
|
+
| **Performance** | 🏆 Fastest (9/19 wins) | Fast | Fast | Medium | Slow |
|
|
1342
1346
|
|
|
1343
1347
|
> See [COMPARISON.md](./docs/COMPARISON.md) for detailed analysis and [BENCHMARK.md](./docs/BENCHMARK.md) for benchmarks.
|
|
1344
1348
|
|
package/dist/DBModel.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { type KeyPair, type CompositeKeyPairs } from './decorators';
|
|
|
13
13
|
import { LazyRelationContext, type RelationType } from './LazyRelation';
|
|
14
14
|
interface TransactionContext {
|
|
15
15
|
connection: DBConnection;
|
|
16
|
+
handler?: DBHandler;
|
|
16
17
|
}
|
|
17
18
|
interface WriterContext {
|
|
18
19
|
readonly: true;
|
|
@@ -80,8 +81,8 @@ export declare function getTransactionClient(): DBConnection | undefined;
|
|
|
80
81
|
* @category Core
|
|
81
82
|
*/
|
|
82
83
|
export declare abstract class DBModel {
|
|
83
|
-
/** Table name */
|
|
84
|
-
static TABLE_NAME: string;
|
|
84
|
+
/** @internal Table name — use getTableName() for external access */
|
|
85
|
+
protected static TABLE_NAME: string;
|
|
85
86
|
/**
|
|
86
87
|
* Returns the model class with type-safe column properties.
|
|
87
88
|
* Use this instead of manual casting with `ColumnsOf`.
|
|
@@ -101,16 +102,16 @@ export declare abstract class DBModel {
|
|
|
101
102
|
* ```
|
|
102
103
|
*/
|
|
103
104
|
static asModel<T extends typeof DBModel>(this: T): T & ColumnsOf<InstanceType<T>>;
|
|
104
|
-
/** Table name for UPDATE/DELETE (
|
|
105
|
-
static UPDATE_TABLE_NAME: string | null;
|
|
106
|
-
/** Default SELECT columns */
|
|
107
|
-
static SELECT_COLUMN: string;
|
|
108
|
-
/** Default ORDER BY
|
|
109
|
-
static DEFAULT_ORDER: OrderSpec | null;
|
|
110
|
-
/** Default GROUP BY
|
|
111
|
-
static DEFAULT_GROUP: Column | Column[] | string | null;
|
|
112
|
-
/** Default filter conditions
|
|
113
|
-
static FIND_FILTER: Conds | null;
|
|
105
|
+
/** @internal Table name for UPDATE/DELETE — use getUpdateTableName() for external access */
|
|
106
|
+
protected static UPDATE_TABLE_NAME: string | null;
|
|
107
|
+
/** @internal Default SELECT columns — set via @model decorator */
|
|
108
|
+
protected static SELECT_COLUMN: string;
|
|
109
|
+
/** @internal Default ORDER BY — set via @model decorator */
|
|
110
|
+
protected static DEFAULT_ORDER: OrderSpec | null;
|
|
111
|
+
/** @internal Default GROUP BY — set via @model decorator */
|
|
112
|
+
protected static DEFAULT_GROUP: Column | Column[] | string | null;
|
|
113
|
+
/** @internal Default filter conditions — set via @model decorator */
|
|
114
|
+
protected static FIND_FILTER: Conds | null;
|
|
114
115
|
/**
|
|
115
116
|
* SQL query for query-based models (view models, aggregations, etc.)
|
|
116
117
|
* When defined, the model uses this query as a CTE instead of TABLE_NAME.
|
|
@@ -131,12 +132,12 @@ export declare abstract class DBModel {
|
|
|
131
132
|
* @internal
|
|
132
133
|
*/
|
|
133
134
|
protected static _queryParams: unknown[] | null;
|
|
134
|
-
/** Primary key columns
|
|
135
|
-
static PKEY_COLUMNS: Column[] | null;
|
|
136
|
-
/** Sequence name
|
|
137
|
-
static SEQ_NAME: string | null;
|
|
138
|
-
/** ID type
|
|
139
|
-
static ID_TYPE: 'serial' | 'uuid' | null;
|
|
135
|
+
/** @internal Primary key columns — set via @model decorator */
|
|
136
|
+
protected static PKEY_COLUMNS: Column[] | null;
|
|
137
|
+
/** @internal Sequence name — set via @model decorator */
|
|
138
|
+
protected static SEQ_NAME: string | null;
|
|
139
|
+
/** @internal ID type — set via @model decorator */
|
|
140
|
+
protected static ID_TYPE: 'serial' | 'uuid' | null;
|
|
140
141
|
/** Database config */
|
|
141
142
|
protected static _dbConfig: DBConfig | null;
|
|
142
143
|
/** Limit config for safety guards */
|
|
@@ -633,10 +634,12 @@ export declare abstract class DBModel {
|
|
|
633
634
|
static getUpdateTableName(): string;
|
|
634
635
|
/** Instance reference to the static class */
|
|
635
636
|
protected _modelClass: typeof DBModel;
|
|
636
|
-
/** Per-instance cache for loaded relations */
|
|
637
|
-
protected _relationCache: Map<string, unknown
|
|
637
|
+
/** Per-instance cache for loaded relations (lazy-initialized) */
|
|
638
|
+
protected _relationCache: Map<string, unknown> | null;
|
|
638
639
|
/** Reference to the relation context (for batch loading) */
|
|
639
640
|
private _relationContext;
|
|
641
|
+
/** Deferred context info: [sourceClass, records] set by _select, resolved on first relation access */
|
|
642
|
+
_deferredContext: [typeof DBModel, DBModel[]] | null;
|
|
640
643
|
constructor();
|
|
641
644
|
/**
|
|
642
645
|
* Set the relation context for this record.
|
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
|
@@ -99,7 +99,7 @@ class DBModel {
|
|
|
99
99
|
// ============================================
|
|
100
100
|
// Static Table Configuration (Override in derived classes)
|
|
101
101
|
// ============================================
|
|
102
|
-
/** Table name */
|
|
102
|
+
/** @internal Table name — use getTableName() for external access */
|
|
103
103
|
static TABLE_NAME = '';
|
|
104
104
|
/**
|
|
105
105
|
* Returns the model class with type-safe column properties.
|
|
@@ -122,15 +122,15 @@ class DBModel {
|
|
|
122
122
|
static asModel() {
|
|
123
123
|
return this;
|
|
124
124
|
}
|
|
125
|
-
/** Table name for UPDATE/DELETE (
|
|
125
|
+
/** @internal Table name for UPDATE/DELETE — use getUpdateTableName() for external access */
|
|
126
126
|
static UPDATE_TABLE_NAME = null;
|
|
127
|
-
/** Default SELECT columns */
|
|
127
|
+
/** @internal Default SELECT columns — set via @model decorator */
|
|
128
128
|
static SELECT_COLUMN = '*';
|
|
129
|
-
/** Default ORDER BY
|
|
129
|
+
/** @internal Default ORDER BY — set via @model decorator */
|
|
130
130
|
static DEFAULT_ORDER = null;
|
|
131
|
-
/** Default GROUP BY
|
|
131
|
+
/** @internal Default GROUP BY — set via @model decorator */
|
|
132
132
|
static DEFAULT_GROUP = null;
|
|
133
|
-
/** Default filter conditions
|
|
133
|
+
/** @internal Default filter conditions — set via @model decorator */
|
|
134
134
|
static FIND_FILTER = null;
|
|
135
135
|
/**
|
|
136
136
|
* SQL query for query-based models (view models, aggregations, etc.)
|
|
@@ -152,11 +152,11 @@ class DBModel {
|
|
|
152
152
|
* @internal
|
|
153
153
|
*/
|
|
154
154
|
static _queryParams = null;
|
|
155
|
-
/** Primary key columns
|
|
155
|
+
/** @internal Primary key columns — set via @model decorator */
|
|
156
156
|
static PKEY_COLUMNS = null;
|
|
157
|
-
/** Sequence name
|
|
157
|
+
/** @internal Sequence name — set via @model decorator */
|
|
158
158
|
static SEQ_NAME = null;
|
|
159
|
-
/** ID type
|
|
159
|
+
/** @internal ID type — set via @model decorator */
|
|
160
160
|
static ID_TYPE = null;
|
|
161
161
|
// ============================================
|
|
162
162
|
// Database Configuration
|
|
@@ -276,7 +276,10 @@ class DBModel {
|
|
|
276
276
|
// Check if we're in a transaction
|
|
277
277
|
const txContext = this._getTransactionContext().getStore();
|
|
278
278
|
if (txContext) {
|
|
279
|
-
|
|
279
|
+
if (!txContext.handler) {
|
|
280
|
+
txContext.handler = (0, DBHandler_1.createHandlerWithConnection)(txContext.connection);
|
|
281
|
+
}
|
|
282
|
+
return txContext.handler;
|
|
280
283
|
}
|
|
281
284
|
const handler = (0, DBHandler_1.getDBHandler)();
|
|
282
285
|
// Check if we're in withWriter context
|
|
@@ -759,26 +762,39 @@ class DBModel {
|
|
|
759
762
|
const records = rawRecords.map(r => (0, decorators_1.serializeRecord)(this, r, typeCast));
|
|
760
763
|
// Group records by their column pattern (SKIP pattern grouping)
|
|
761
764
|
// Each group has the same set of columns, enabling batch INSERT without DEFAULT keyword
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
765
|
+
// Fast path: single record — skip Map/sort/join overhead
|
|
766
|
+
let groupedByPattern;
|
|
767
|
+
if (records.length === 1) {
|
|
768
|
+
const record = records[0];
|
|
766
769
|
const recordColumns = [];
|
|
767
770
|
for (const key of Object.keys(record)) {
|
|
768
771
|
const val = record[key];
|
|
769
|
-
// Skip DBImmediateValue with 'DEFAULT' and undefined values
|
|
770
772
|
if (val !== undefined && !(val instanceof DBValues_1.DBImmediateValue && val.value === 'DEFAULT')) {
|
|
771
773
|
recordColumns.push(key);
|
|
772
774
|
}
|
|
773
775
|
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
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]);
|
|
778
797
|
}
|
|
779
|
-
const group = groupedByPattern.get(patternKey);
|
|
780
|
-
group.records.push(record);
|
|
781
|
-
group.rawRecords.push(rawRecords[i]);
|
|
782
798
|
}
|
|
783
799
|
// Helper to convert Column symbols to strings
|
|
784
800
|
const toColName = (col) => typeof col === 'function' || typeof col === 'object' ? String(col) : String(col);
|
|
@@ -1296,10 +1312,12 @@ class DBModel {
|
|
|
1296
1312
|
// ============================================
|
|
1297
1313
|
/** Instance reference to the static class */
|
|
1298
1314
|
_modelClass;
|
|
1299
|
-
/** Per-instance cache for loaded relations */
|
|
1300
|
-
_relationCache =
|
|
1315
|
+
/** Per-instance cache for loaded relations (lazy-initialized) */
|
|
1316
|
+
_relationCache = null;
|
|
1301
1317
|
/** Reference to the relation context (for batch loading) */
|
|
1302
1318
|
_relationContext = null;
|
|
1319
|
+
/** Deferred context info: [sourceClass, records] set by _select, resolved on first relation access */
|
|
1320
|
+
_deferredContext = null;
|
|
1303
1321
|
constructor() {
|
|
1304
1322
|
this._modelClass = this.constructor;
|
|
1305
1323
|
}
|
|
@@ -1313,6 +1331,7 @@ class DBModel {
|
|
|
1313
1331
|
*/
|
|
1314
1332
|
_setRelationContext(context) {
|
|
1315
1333
|
this._relationContext = context;
|
|
1334
|
+
this._deferredContext = null;
|
|
1316
1335
|
}
|
|
1317
1336
|
/**
|
|
1318
1337
|
* Get the relation context (or create one for single record).
|
|
@@ -1320,8 +1339,16 @@ class DBModel {
|
|
|
1320
1339
|
*/
|
|
1321
1340
|
_getRelationContext() {
|
|
1322
1341
|
if (!this._relationContext) {
|
|
1323
|
-
|
|
1324
|
-
|
|
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
|
+
}
|
|
1325
1352
|
}
|
|
1326
1353
|
return this._relationContext;
|
|
1327
1354
|
}
|
|
@@ -1330,7 +1357,9 @@ class DBModel {
|
|
|
1330
1357
|
* Also clears the context cache to force reload from DB.
|
|
1331
1358
|
*/
|
|
1332
1359
|
clearRelationCache() {
|
|
1333
|
-
this._relationCache
|
|
1360
|
+
if (this._relationCache) {
|
|
1361
|
+
this._relationCache.clear();
|
|
1362
|
+
}
|
|
1334
1363
|
if (this._relationContext) {
|
|
1335
1364
|
this._relationContext.clearCache();
|
|
1336
1365
|
}
|
|
@@ -1372,7 +1401,7 @@ class DBModel {
|
|
|
1372
1401
|
const context = this._getRelationContext();
|
|
1373
1402
|
const cacheKey = context.getCacheKey(relationType, relationConfig);
|
|
1374
1403
|
// Return cached value if available
|
|
1375
|
-
if (this._relationCache
|
|
1404
|
+
if (this._relationCache?.has(cacheKey)) {
|
|
1376
1405
|
const cached = this._relationCache.get(cacheKey);
|
|
1377
1406
|
if (relationType === 'hasMany') {
|
|
1378
1407
|
return cached;
|
|
@@ -1392,6 +1421,8 @@ class DBModel {
|
|
|
1392
1421
|
throw new types_1.LimitExceededError(effectiveLimit, result.length, 'relation', this.constructor.name, config.relationName);
|
|
1393
1422
|
}
|
|
1394
1423
|
}
|
|
1424
|
+
if (!this._relationCache)
|
|
1425
|
+
this._relationCache = new Map();
|
|
1395
1426
|
this._relationCache.set(cacheKey, result);
|
|
1396
1427
|
if (relationType === 'hasMany') {
|
|
1397
1428
|
return result;
|
|
@@ -2175,10 +2206,12 @@ class DBModel {
|
|
|
2175
2206
|
const result = await this.execute(s, p);
|
|
2176
2207
|
// Create model instances from raw rows
|
|
2177
2208
|
const instances = result.rows.map((row) => this._createInstance(row));
|
|
2178
|
-
//
|
|
2209
|
+
// Defer relation context setup — only materialized on first relation access
|
|
2179
2210
|
if (instances.length > 1) {
|
|
2180
|
-
|
|
2181
|
-
|
|
2211
|
+
const deferredRef = [this, instances];
|
|
2212
|
+
for (const inst of instances) {
|
|
2213
|
+
inst._deferredContext = deferredRef;
|
|
2214
|
+
}
|
|
2182
2215
|
}
|
|
2183
2216
|
return instances;
|
|
2184
2217
|
};
|