linkgress-orm 0.4.40 → 0.4.42
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/database/bun-client.d.ts +31 -0
- package/dist/database/bun-client.d.ts.map +1 -1
- package/dist/database/bun-client.js +143 -23
- package/dist/database/bun-client.js.map +1 -1
- package/dist/database/database-client.interface.d.ts +12 -0
- package/dist/database/database-client.interface.d.ts.map +1 -1
- package/dist/database/database-client.interface.js +16 -0
- package/dist/database/database-client.interface.js.map +1 -1
- package/dist/database/index.d.ts +2 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js.map +1 -1
- package/dist/database/pg-client.d.ts +5 -2
- package/dist/database/pg-client.d.ts.map +1 -1
- package/dist/database/pg-client.js +21 -17
- package/dist/database/pg-client.js.map +1 -1
- package/dist/database/postgres-client.d.ts +9 -0
- package/dist/database/postgres-client.d.ts.map +1 -1
- package/dist/database/postgres-client.js +59 -15
- package/dist/database/postgres-client.js.map +1 -1
- package/dist/database/types.d.ts +9 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/entity/db-context.d.ts +14 -2
- package/dist/entity/db-context.d.ts.map +1 -1
- package/dist/entity/db-context.js +55 -10
- package/dist/entity/db-context.js.map +1 -1
- package/dist/index.d.ts +42 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/query/collection-strategy.interface.d.ts +6 -0
- package/dist/query/collection-strategy.interface.d.ts.map +1 -1
- package/dist/query/conditions.d.ts +5 -0
- package/dist/query/conditions.d.ts.map +1 -1
- package/dist/query/conditions.js +13 -0
- package/dist/query/conditions.js.map +1 -1
- package/dist/query/cte-builder.d.ts +50 -2
- package/dist/query/cte-builder.d.ts.map +1 -1
- package/dist/query/cte-builder.js +68 -6
- package/dist/query/cte-builder.js.map +1 -1
- package/dist/query/grouped-query.d.ts +2 -0
- package/dist/query/grouped-query.d.ts.map +1 -1
- package/dist/query/grouped-query.js +4 -0
- package/dist/query/grouped-query.js.map +1 -1
- package/dist/query/query-builder.d.ts +15 -0
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js +129 -8
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.js +98 -98
- package/dist/query/strategies/cte-collection-strategy.js.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.js +62 -58
- package/dist/query/strategies/lateral-collection-strategy.js.map +1 -1
- package/dist/query/strategies/temptable-collection-strategy.d.ts +3 -14
- package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/temptable-collection-strategy.js +106 -226
- package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
- package/dist/types/custom-types.d.ts +0 -4
- package/dist/types/custom-types.d.ts.map +1 -1
- package/dist/types/custom-types.js +29 -1
- package/dist/types/custom-types.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temptable-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAgB5B,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC
|
|
1
|
+
{"version":3,"file":"temptable-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAgB5B,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;;;;;OAOG;YACW,8BAA8B;IAmE5C;;;OAGG;YACW,sBAAsB;IAsEpC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;;;;OAMG;IACH,OAAO,CAAC,yCAAyC;IAmDjD;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA6DhC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAqBlC"}
|
|
@@ -92,8 +92,9 @@ class TempTableCollectionStrategy {
|
|
|
92
92
|
* Build aggregation using multi-statement query (single round trip)
|
|
93
93
|
* Supported by postgres.js using .simple() mode
|
|
94
94
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
95
|
+
* Uses the same server-side aggregation SQL as the legacy path (json_agg /
|
|
96
|
+
* scalar aggregates) so both execution modes return identical values; only
|
|
97
|
+
* the transport differs (one multi-statement round trip vs several queries).
|
|
97
98
|
*/
|
|
98
99
|
async buildAggregationMultiStatement(config, context, client) {
|
|
99
100
|
const tempTableName = `tmp_parent_ids_${config.counter}`;
|
|
@@ -101,23 +102,21 @@ class TempTableCollectionStrategy {
|
|
|
101
102
|
const aggregationSQL = this.buildAggregationSQLWithInterpolatedParams(config, tempTableName);
|
|
102
103
|
// Build the value placeholders for INSERT (interpolate integer parent IDs - safe)
|
|
103
104
|
const valuePlaceholders = config.parentIds.map(id => `(${id})`).join(',');
|
|
104
|
-
// Determine if we're doing client-side grouping (JSONB/array) or server-side (scalar)
|
|
105
|
-
const isClientSideGrouping = config.aggregationType === 'jsonb' || config.aggregationType === 'array';
|
|
106
105
|
// Combine everything into a single multi-statement query
|
|
107
|
-
const multiStatementSQL = `
|
|
108
|
-
-- Create temporary table for parent IDs
|
|
109
|
-
CREATE TEMP TABLE ${tempTableName} (
|
|
110
|
-
id integer PRIMARY KEY
|
|
111
|
-
) ON COMMIT DROP;
|
|
112
|
-
|
|
113
|
-
-- Insert parent IDs
|
|
114
|
-
INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
|
|
115
|
-
|
|
116
|
-
-- Query and return the data
|
|
117
|
-
${aggregationSQL};
|
|
118
|
-
|
|
119
|
-
-- Cleanup
|
|
120
|
-
DROP TABLE IF EXISTS ${tempTableName};
|
|
106
|
+
const multiStatementSQL = `
|
|
107
|
+
-- Create temporary table for parent IDs
|
|
108
|
+
CREATE TEMP TABLE ${tempTableName} (
|
|
109
|
+
id integer PRIMARY KEY
|
|
110
|
+
) ON COMMIT DROP;
|
|
111
|
+
|
|
112
|
+
-- Insert parent IDs
|
|
113
|
+
INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
|
|
114
|
+
|
|
115
|
+
-- Query and return the data
|
|
116
|
+
${aggregationSQL};
|
|
117
|
+
|
|
118
|
+
-- Cleanup
|
|
119
|
+
DROP TABLE IF EXISTS ${tempTableName};
|
|
121
120
|
`.trim();
|
|
122
121
|
// Execute multi-statement query using querySimple (no parameters)
|
|
123
122
|
const executor = context.executor || client;
|
|
@@ -135,52 +134,11 @@ DROP TABLE IF EXISTS ${tempTableName};
|
|
|
135
134
|
// Final fallback: regular query
|
|
136
135
|
result = await executor.query(multiStatementSQL, []);
|
|
137
136
|
}
|
|
138
|
-
// Group results by parent_id
|
|
137
|
+
// Group results by parent_id — every aggregation type returns
|
|
138
|
+
// (parent_id, data) rows, aggregated server-side.
|
|
139
139
|
const dataMap = new Map();
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (config.aggregationType === 'jsonb') {
|
|
143
|
-
if (config.isSingleResult) {
|
|
144
|
-
// For firstOrDefault(), take only the first row per parent
|
|
145
|
-
for (const row of result.rows) {
|
|
146
|
-
const parentId = row.parent_id;
|
|
147
|
-
// Only set if not already set (first row wins)
|
|
148
|
-
if (!dataMap.has(parentId)) {
|
|
149
|
-
const { parent_id, ...rowData } = row;
|
|
150
|
-
dataMap.set(parentId, rowData); // Single object, not array
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
// Group rows by parent_id and build arrays
|
|
156
|
-
for (const row of result.rows) {
|
|
157
|
-
const parentId = row.parent_id;
|
|
158
|
-
if (!dataMap.has(parentId)) {
|
|
159
|
-
dataMap.set(parentId, []);
|
|
160
|
-
}
|
|
161
|
-
// Extract the actual data (everything except parent_id)
|
|
162
|
-
const { parent_id, ...rowData } = row;
|
|
163
|
-
dataMap.get(parentId).push(rowData);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else if (config.aggregationType === 'array') {
|
|
168
|
-
// Group rows by parent_id and extract array field
|
|
169
|
-
const arrayField = config.arrayField;
|
|
170
|
-
for (const row of result.rows) {
|
|
171
|
-
const parentId = row.parent_id;
|
|
172
|
-
if (!dataMap.has(parentId)) {
|
|
173
|
-
dataMap.set(parentId, []);
|
|
174
|
-
}
|
|
175
|
-
dataMap.get(parentId).push(row[arrayField]);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
// Server-side aggregation (scalar) - data already aggregated
|
|
181
|
-
for (const row of result.rows) {
|
|
182
|
-
dataMap.set(row.parent_id, row.data);
|
|
183
|
-
}
|
|
140
|
+
for (const row of result.rows) {
|
|
141
|
+
dataMap.set(row.parent_id, row.data);
|
|
184
142
|
}
|
|
185
143
|
// Return result with fetched data
|
|
186
144
|
return {
|
|
@@ -201,10 +159,10 @@ DROP TABLE IF EXISTS ${tempTableName};
|
|
|
201
159
|
async buildAggregationLegacy(config, context, client) {
|
|
202
160
|
const tempTableName = `tmp_parent_ids_${config.counter}`;
|
|
203
161
|
// Create temp table (without ON COMMIT DROP to persist across queries in the same session)
|
|
204
|
-
const createTableSQL = `
|
|
205
|
-
CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
|
|
206
|
-
id integer PRIMARY KEY
|
|
207
|
-
)
|
|
162
|
+
const createTableSQL = `
|
|
163
|
+
CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
|
|
164
|
+
id integer PRIMARY KEY
|
|
165
|
+
)
|
|
208
166
|
`.trim();
|
|
209
167
|
// Use executor from context if available for query logging
|
|
210
168
|
if (context.executor) {
|
|
@@ -233,9 +191,9 @@ CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
|
|
|
233
191
|
const selectExpression = `"${tempTableName}_agg".data`;
|
|
234
192
|
// Execute aggregation query and store results in another temp table
|
|
235
193
|
const aggTempTableName = `${tempTableName}_agg`;
|
|
236
|
-
const createAggTableSQL = `
|
|
237
|
-
CREATE TEMP TABLE ${aggTempTableName} AS
|
|
238
|
-
${aggregationSQL}
|
|
194
|
+
const createAggTableSQL = `
|
|
195
|
+
CREATE TEMP TABLE ${aggTempTableName} AS
|
|
196
|
+
${aggregationSQL}
|
|
239
197
|
`.trim();
|
|
240
198
|
// Use executor from context if available for query logging
|
|
241
199
|
if (context.executor) {
|
|
@@ -333,12 +291,20 @@ ${aggregationSQL}
|
|
|
333
291
|
configWithInterpolatedParams.whereClause = interpolatedWhere;
|
|
334
292
|
configWithInterpolatedParams.whereParams = []; // Clear params since they're now interpolated
|
|
335
293
|
}
|
|
336
|
-
//
|
|
337
|
-
//
|
|
294
|
+
// Use the SAME server-side aggregation SQL as the legacy path so both
|
|
295
|
+
// execution modes produce identical value semantics (json_agg turns
|
|
296
|
+
// numerics into JSON numbers and timestamps into ISO strings — client-side
|
|
297
|
+
// row grouping used to leak driver-native values like numeric strings and
|
|
298
|
+
// Date objects, diverging from the CTE/lateral/legacy strategies).
|
|
338
299
|
switch (config.aggregationType) {
|
|
339
300
|
case 'jsonb':
|
|
301
|
+
return this.buildJsonbAggregationSQL(configWithInterpolatedParams, tempTableName);
|
|
340
302
|
case 'array':
|
|
341
|
-
|
|
303
|
+
// json_agg instead of array_agg: identical element values for the
|
|
304
|
+
// list use-cases (toNumberList/toStringList), and it keeps native
|
|
305
|
+
// Postgres arrays off the wire — Bun's SQL client cannot decode
|
|
306
|
+
// binary array results (see debug/bun-sql-binary-array-repro.ts).
|
|
307
|
+
return this.buildArrayAggregationSQL(configWithInterpolatedParams, tempTableName, true);
|
|
342
308
|
case 'count':
|
|
343
309
|
case 'min':
|
|
344
310
|
case 'max':
|
|
@@ -352,94 +318,6 @@ ${aggregationSQL}
|
|
|
352
318
|
throw new Error(`Unknown aggregation type: ${config.aggregationType}`);
|
|
353
319
|
}
|
|
354
320
|
}
|
|
355
|
-
/**
|
|
356
|
-
* Build a simple SELECT query without aggregation
|
|
357
|
-
* Results will be grouped in JavaScript for better performance
|
|
358
|
-
*
|
|
359
|
-
* When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
|
|
360
|
-
* apply pagination per parent row (not globally).
|
|
361
|
-
*/
|
|
362
|
-
buildSimpleSelectSQL(config, tempTableName) {
|
|
363
|
-
const { selectedFields, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue } = config;
|
|
364
|
-
// Helper to collect all leaf fields from a potentially nested structure
|
|
365
|
-
const collectLeafFields = (fields, prefix = '') => {
|
|
366
|
-
const result = [];
|
|
367
|
-
for (const field of fields) {
|
|
368
|
-
const fullAlias = prefix ? `${prefix}__${field.alias}` : field.alias;
|
|
369
|
-
if (field.nested) {
|
|
370
|
-
result.push(...collectLeafFields(field.nested, fullAlias));
|
|
371
|
-
}
|
|
372
|
-
else if (field.expression) {
|
|
373
|
-
result.push({ alias: fullAlias, expression: field.expression });
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
return result;
|
|
377
|
-
};
|
|
378
|
-
const leafFields = collectLeafFields(selectedFields);
|
|
379
|
-
// Build SELECT fields (rewrite collection markers)
|
|
380
|
-
const selectFields = leafFields
|
|
381
|
-
.map(f => {
|
|
382
|
-
const rewrittenExpr = this.rewriteCollectionMarker(f.expression, targetTable) || f.expression;
|
|
383
|
-
return `${rewrittenExpr} as "${f.alias}"`;
|
|
384
|
-
})
|
|
385
|
-
.join(', ');
|
|
386
|
-
// Build WHERE clause (rewrite collection markers)
|
|
387
|
-
const rewrittenWhereClause = this.rewriteCollectionMarker(whereClause, targetTable);
|
|
388
|
-
const additionalWhere = this.buildAdditionalWhere(config, targetTable, rewrittenWhereClause);
|
|
389
|
-
// Build ORDER BY clause
|
|
390
|
-
const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
|
|
391
|
-
// If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
|
|
392
|
-
if (limitValue !== undefined || offsetValue !== undefined) {
|
|
393
|
-
return this.buildSimpleSelectSQLWithRowNumber(config, tempTableName, selectFields, additionalWhere, orderBySQL);
|
|
394
|
-
}
|
|
395
|
-
// No LIMIT/OFFSET - use simple SELECT
|
|
396
|
-
const sql = `
|
|
397
|
-
SELECT
|
|
398
|
-
"${foreignKey}" as parent_id,
|
|
399
|
-
${selectFields}
|
|
400
|
-
FROM "${targetTable}"
|
|
401
|
-
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
402
|
-
${orderBySQL}
|
|
403
|
-
`.trim();
|
|
404
|
-
return sql;
|
|
405
|
-
}
|
|
406
|
-
/**
|
|
407
|
-
* Build simple SELECT with ROW_NUMBER() for per-parent LIMIT/OFFSET
|
|
408
|
-
*/
|
|
409
|
-
buildSimpleSelectSQLWithRowNumber(config, tempTableName, selectFields, additionalWhere, orderBySQL) {
|
|
410
|
-
const { targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
|
|
411
|
-
// Build ORDER BY for ROW_NUMBER() - use the order clause or default to id DESC
|
|
412
|
-
const rowNumberOrderBy = orderByClause || `"id" DESC`;
|
|
413
|
-
// Build the row number filter condition
|
|
414
|
-
const offset = offsetValue || 0;
|
|
415
|
-
let rowNumberFilter;
|
|
416
|
-
if (limitValue !== undefined) {
|
|
417
|
-
rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
|
|
418
|
-
}
|
|
419
|
-
else {
|
|
420
|
-
rowNumberFilter = `WHERE "__rn" > ${offset}`;
|
|
421
|
-
}
|
|
422
|
-
const sql = `
|
|
423
|
-
SELECT
|
|
424
|
-
parent_id,
|
|
425
|
-
${selectFields.split(', ').map(f => {
|
|
426
|
-
// Extract just the alias part for outer select
|
|
427
|
-
const match = f.match(/as "([^"]+)"$/);
|
|
428
|
-
return match ? `"${match[1]}"` : f;
|
|
429
|
-
}).join(', ')}
|
|
430
|
-
FROM (
|
|
431
|
-
SELECT
|
|
432
|
-
"${foreignKey}" as parent_id,
|
|
433
|
-
${selectFields},
|
|
434
|
-
ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
|
|
435
|
-
FROM "${targetTable}"
|
|
436
|
-
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
437
|
-
) sub
|
|
438
|
-
${rowNumberFilter}
|
|
439
|
-
${orderBySQL.replace(/ORDER BY/i, 'ORDER BY')}
|
|
440
|
-
`.trim();
|
|
441
|
-
return sql;
|
|
442
|
-
}
|
|
443
321
|
/**
|
|
444
322
|
* Safely escape a value for SQL interpolation
|
|
445
323
|
* Used only in multi-statement queries with .simple() mode
|
|
@@ -517,19 +395,19 @@ ${orderBySQL.replace(/ORDER BY/i, 'ORDER BY')}
|
|
|
517
395
|
return this.buildJsonbAggregationSQLWithRowNumber(config, tempTableName, jsonbObjectExpr, additionalWhere);
|
|
518
396
|
}
|
|
519
397
|
// No LIMIT/OFFSET - use simple aggregation
|
|
520
|
-
const sql = `
|
|
521
|
-
SELECT
|
|
522
|
-
t."${foreignKey}" as parent_id,
|
|
523
|
-
json_agg(
|
|
524
|
-
${jsonbObjectExpr}${jsonbAggOrderBy}
|
|
525
|
-
) as data
|
|
526
|
-
FROM (
|
|
527
|
-
SELECT *
|
|
528
|
-
FROM "${targetTable}"
|
|
529
|
-
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
530
|
-
${orderBySQL}
|
|
531
|
-
) t
|
|
532
|
-
GROUP BY t."${foreignKey}"
|
|
398
|
+
const sql = `
|
|
399
|
+
SELECT
|
|
400
|
+
t."${foreignKey}" as parent_id,
|
|
401
|
+
json_agg(
|
|
402
|
+
${jsonbObjectExpr}${jsonbAggOrderBy}
|
|
403
|
+
) as data
|
|
404
|
+
FROM (
|
|
405
|
+
SELECT *
|
|
406
|
+
FROM "${targetTable}"
|
|
407
|
+
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
408
|
+
${orderBySQL}
|
|
409
|
+
) t
|
|
410
|
+
GROUP BY t."${foreignKey}"
|
|
533
411
|
`.trim();
|
|
534
412
|
return sql;
|
|
535
413
|
}
|
|
@@ -549,19 +427,19 @@ GROUP BY t."${foreignKey}"
|
|
|
549
427
|
else {
|
|
550
428
|
rowNumberFilter = `WHERE "__rn" > ${offset}`;
|
|
551
429
|
}
|
|
552
|
-
const sql = `
|
|
553
|
-
SELECT
|
|
554
|
-
t."${foreignKey}" as parent_id,
|
|
555
|
-
json_agg(
|
|
556
|
-
${jsonbObjectExpr}
|
|
557
|
-
) as data
|
|
558
|
-
FROM (
|
|
559
|
-
SELECT *, ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
|
|
560
|
-
FROM "${targetTable}"
|
|
561
|
-
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
562
|
-
) t
|
|
563
|
-
${rowNumberFilter}
|
|
564
|
-
GROUP BY t."${foreignKey}"
|
|
430
|
+
const sql = `
|
|
431
|
+
SELECT
|
|
432
|
+
t."${foreignKey}" as parent_id,
|
|
433
|
+
json_agg(
|
|
434
|
+
${jsonbObjectExpr}
|
|
435
|
+
) as data
|
|
436
|
+
FROM (
|
|
437
|
+
SELECT *, ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
|
|
438
|
+
FROM "${targetTable}"
|
|
439
|
+
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
440
|
+
) t
|
|
441
|
+
${rowNumberFilter}
|
|
442
|
+
GROUP BY t."${foreignKey}"
|
|
565
443
|
`.trim();
|
|
566
444
|
return sql;
|
|
567
445
|
}
|
|
@@ -571,7 +449,7 @@ GROUP BY t."${foreignKey}"
|
|
|
571
449
|
* When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
|
|
572
450
|
* apply pagination per parent row (not globally).
|
|
573
451
|
*/
|
|
574
|
-
buildArrayAggregationSQL(config, tempTableName) {
|
|
452
|
+
buildArrayAggregationSQL(config, tempTableName, useJsonAgg = false) {
|
|
575
453
|
const { arrayField, targetTable, foreignKey, whereClause, orderByClause, orderByClauseAlias, limitValue, offsetValue } = config;
|
|
576
454
|
if (!arrayField) {
|
|
577
455
|
throw new Error('arrayField is required for array aggregation');
|
|
@@ -585,27 +463,28 @@ GROUP BY t."${foreignKey}"
|
|
|
585
463
|
const arrayAggOrderBy = orderByClauseAlias ? ` ORDER BY ${orderByClauseAlias}` : '';
|
|
586
464
|
// If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
|
|
587
465
|
if (limitValue !== undefined || offsetValue !== undefined) {
|
|
588
|
-
return this.buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere);
|
|
466
|
+
return this.buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere, useJsonAgg);
|
|
589
467
|
}
|
|
468
|
+
const aggFn = useJsonAgg ? 'json_agg' : 'array_agg';
|
|
590
469
|
// No LIMIT/OFFSET - use simple aggregation
|
|
591
|
-
const sql = `
|
|
592
|
-
SELECT
|
|
593
|
-
t."${foreignKey}" as parent_id,
|
|
594
|
-
|
|
595
|
-
FROM (
|
|
596
|
-
SELECT "${foreignKey}", "${arrayField}"
|
|
597
|
-
FROM "${targetTable}"
|
|
598
|
-
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
599
|
-
${orderBySQL}
|
|
600
|
-
) t
|
|
601
|
-
GROUP BY t."${foreignKey}"
|
|
470
|
+
const sql = `
|
|
471
|
+
SELECT
|
|
472
|
+
t."${foreignKey}" as parent_id,
|
|
473
|
+
${aggFn}(t."${arrayField}"${arrayAggOrderBy}) as data
|
|
474
|
+
FROM (
|
|
475
|
+
SELECT "${foreignKey}", "${arrayField}"
|
|
476
|
+
FROM "${targetTable}"
|
|
477
|
+
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
478
|
+
${orderBySQL}
|
|
479
|
+
) t
|
|
480
|
+
GROUP BY t."${foreignKey}"
|
|
602
481
|
`.trim();
|
|
603
482
|
return sql;
|
|
604
483
|
}
|
|
605
484
|
/**
|
|
606
485
|
* Build array aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
|
|
607
486
|
*/
|
|
608
|
-
buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere) {
|
|
487
|
+
buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere, useJsonAgg = false) {
|
|
609
488
|
const { arrayField, targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
|
|
610
489
|
// Build ORDER BY for ROW_NUMBER() - use the order clause or default to id DESC
|
|
611
490
|
const rowNumberOrderBy = orderByClause || `"id" DESC`;
|
|
@@ -618,17 +497,18 @@ GROUP BY t."${foreignKey}"
|
|
|
618
497
|
else {
|
|
619
498
|
rowNumberFilter = `WHERE "__rn" > ${offset}`;
|
|
620
499
|
}
|
|
621
|
-
const
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
)
|
|
630
|
-
|
|
631
|
-
|
|
500
|
+
const aggFn = useJsonAgg ? 'json_agg' : 'array_agg';
|
|
501
|
+
const sql = `
|
|
502
|
+
SELECT
|
|
503
|
+
t."${foreignKey}" as parent_id,
|
|
504
|
+
${aggFn}(t."${arrayField}") as data
|
|
505
|
+
FROM (
|
|
506
|
+
SELECT "${foreignKey}", "${arrayField}", ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
|
|
507
|
+
FROM "${targetTable}"
|
|
508
|
+
WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
|
|
509
|
+
) t
|
|
510
|
+
${rowNumberFilter}
|
|
511
|
+
GROUP BY t."${foreignKey}"
|
|
632
512
|
`.trim();
|
|
633
513
|
return sql;
|
|
634
514
|
}
|
|
@@ -665,13 +545,13 @@ GROUP BY t."${foreignKey}"
|
|
|
665
545
|
default:
|
|
666
546
|
throw new Error(`Unknown aggregation type: ${aggregationType}`);
|
|
667
547
|
}
|
|
668
|
-
const sql = `
|
|
669
|
-
SELECT
|
|
670
|
-
tmp.id as parent_id,
|
|
671
|
-
COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
|
|
672
|
-
FROM ${tempTableName} tmp
|
|
673
|
-
LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
|
|
674
|
-
GROUP BY tmp.id
|
|
548
|
+
const sql = `
|
|
549
|
+
SELECT
|
|
550
|
+
tmp.id as parent_id,
|
|
551
|
+
COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
|
|
552
|
+
FROM ${tempTableName} tmp
|
|
553
|
+
LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
|
|
554
|
+
GROUP BY tmp.id
|
|
675
555
|
`.trim();
|
|
676
556
|
return sql;
|
|
677
557
|
}
|
|
@@ -684,13 +564,13 @@ GROUP BY tmp.id
|
|
|
684
564
|
// Build WHERE clause (rewrite collection markers)
|
|
685
565
|
const rewrittenWhereClause = this.rewriteCollectionMarker(whereClause, targetTable);
|
|
686
566
|
const additionalWhere = this.buildAdditionalWhere(config, targetTable, rewrittenWhereClause);
|
|
687
|
-
const sql = `
|
|
688
|
-
SELECT
|
|
689
|
-
tmp.id as parent_id,
|
|
690
|
-
COALESCE(bool_or(("${targetTable}"."${foreignKey}" IS NOT NULL)), false) as data
|
|
691
|
-
FROM ${tempTableName} tmp
|
|
692
|
-
LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
|
|
693
|
-
GROUP BY tmp.id
|
|
567
|
+
const sql = `
|
|
568
|
+
SELECT
|
|
569
|
+
tmp.id as parent_id,
|
|
570
|
+
COALESCE(bool_or(("${targetTable}"."${foreignKey}" IS NOT NULL)), false) as data
|
|
571
|
+
FROM ${tempTableName} tmp
|
|
572
|
+
LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
|
|
573
|
+
GROUP BY tmp.id
|
|
694
574
|
`.trim();
|
|
695
575
|
return sql;
|
|
696
576
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temptable-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"temptable-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,10 +51,6 @@ export declare function customType<TData = any, TDriver = any>(config: {
|
|
|
51
51
|
* Note: PostgreSQL drivers return jsonb as already-parsed objects
|
|
52
52
|
*/
|
|
53
53
|
export declare const json: <T = any>() => CustomTypeBuilder<T, T>;
|
|
54
|
-
/**
|
|
55
|
-
* Array type
|
|
56
|
-
* Note: PostgreSQL drivers return arrays as already-parsed
|
|
57
|
-
*/
|
|
58
54
|
export declare const array: <T = any>(itemType: string) => CustomTypeBuilder<T[], T[]>;
|
|
59
55
|
/**
|
|
60
56
|
* Enum type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-types.d.ts","sourceRoot":"","sources":["../../src/types/custom-types.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACpD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAErD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;QACpC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;KACvC;IAGH;;OAEG;IACH,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;IAQrC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACpC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;CACvC,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAEpC;AAED;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,GAAG,GAAG,8BAKxB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-types.d.ts","sourceRoot":"","sources":["../../src/types/custom-types.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACpD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAErD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;QACpC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;KACvC;IAGH;;OAEG;IACH,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;IAQrC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACpC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;CACvC,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAEpC;AAED;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,GAAG,GAAG,8BAKxB,CAAC;AA+BL,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,GAAG,EAAE,UAAU,MAAM,gCAS3C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EACvC,UAAU,MAAM,EAChB,QAAQ,SAAS,CAAC,EAAE,iCAMlB,CAAC;AAEL;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,KAAK,wCASd,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,YAAY,MAAM,wCASrC,CAAC;AAEL;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,QAAQ,2CA4BjB,CAAC"}
|
|
@@ -50,9 +50,37 @@ exports.json = json;
|
|
|
50
50
|
* Array type
|
|
51
51
|
* Note: PostgreSQL drivers return arrays as already-parsed
|
|
52
52
|
*/
|
|
53
|
+
/**
|
|
54
|
+
* Serialize a JS array into a PostgreSQL array literal ('{1,2,3}',
|
|
55
|
+
* '{"a","b"}', nested arrays recursively). Strings are quoted with
|
|
56
|
+
* backslash/quote escaping; null/undefined elements become NULL.
|
|
57
|
+
*/
|
|
58
|
+
const toPgArrayLiteral = (values) => {
|
|
59
|
+
const parts = values.map((value) => {
|
|
60
|
+
if (value === null || value === undefined) {
|
|
61
|
+
return 'NULL';
|
|
62
|
+
}
|
|
63
|
+
if (Array.isArray(value)) {
|
|
64
|
+
return toPgArrayLiteral(value);
|
|
65
|
+
}
|
|
66
|
+
if (typeof value === 'number' || typeof value === 'bigint') {
|
|
67
|
+
return String(value);
|
|
68
|
+
}
|
|
69
|
+
if (typeof value === 'boolean') {
|
|
70
|
+
return value ? 't' : 'f';
|
|
71
|
+
}
|
|
72
|
+
const text = value instanceof Date ? value.toISOString() : String(value);
|
|
73
|
+
return `"${text.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
|
|
74
|
+
});
|
|
75
|
+
return `{${parts.join(',')}}`;
|
|
76
|
+
};
|
|
53
77
|
const array = (itemType) => customType({
|
|
54
78
|
dataType: `${itemType}[]`,
|
|
55
|
-
|
|
79
|
+
// Serialize to a PG array literal STRING: every driver accepts it (the
|
|
80
|
+
// server casts text -> array), unlike raw JS arrays — postgres.js/pg
|
|
81
|
+
// serialize those themselves, but Bun's SQL client sends them as JSON
|
|
82
|
+
// (binary mode: protocol error 08P01; text mode: "1,2,3" without braces).
|
|
83
|
+
toDriver: (value) => (value == null ? value : toPgArrayLiteral(value)),
|
|
56
84
|
fromDriver: (value) => value, // Driver returns parsed arrays
|
|
57
85
|
});
|
|
58
86
|
exports.array = array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-types.js","sourceRoot":"","sources":["../../src/types/custom-types.ts"],"names":[],"mappings":";;;AAyDA,gCAMC;AAxCD;;GAEG;AACH,MAAa,iBAAiB;IAC5B,YACU,MAIP;QAJO,WAAM,GAAN,MAAM,CAIb;IACA,CAAC;IAEJ;;OAEG;IACH,OAAO;QACL,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;CACF;AA1BD,8CA0BC;AAED;;GAEG;AACH,SAAgB,UAAU,CAA6B,MAItD;IACC,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AAEH;;;GAGG;AACI,MAAM,IAAI,GAAG,GAAY,EAAE,CAChC,UAAU,CAAO;IACf,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,KAAY,EAAE,kCAAkC;IACxE,UAAU,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,KAAK,EAAQ,gCAAgC;CACxE,CAAC,CAAC;AALQ,QAAA,IAAI,QAKZ;AAEL;;;GAGG;
|
|
1
|
+
{"version":3,"file":"custom-types.js","sourceRoot":"","sources":["../../src/types/custom-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linkgress-orm",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.42",
|
|
4
4
|
"description": "A lightweight, type-safe ORM for PostgreSQL with LINQ-style queries and automatic type inference",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
"watch:dev": "tsc --project tsconfig.dev.json --watch",
|
|
22
22
|
"migrate": "ts-node debug/schema/migration.ts",
|
|
23
23
|
"test": "jest",
|
|
24
|
+
"test:bun": "bun tests-bun/run-jest-suite.ts",
|
|
25
|
+
"test:bun:contract": "bun test tests-bun/",
|
|
24
26
|
"test:watch": "jest --watch",
|
|
25
27
|
"test:coverage": "jest --coverage",
|
|
26
28
|
"test:verbose": "jest --verbose",
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
},
|
|
53
55
|
"devDependencies": {
|
|
54
56
|
"@jest/globals": "^30.2.0",
|
|
57
|
+
"@types/bun": "^1.3.14",
|
|
55
58
|
"@types/jest": "^30.0.0",
|
|
56
59
|
"@types/node": "^20.0.0",
|
|
57
60
|
"@types/pg": "^8.10.0",
|