prostgles-server 4.2.531 → 4.2.533
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/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +17 -18
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
- package/dist/PubSubManager/init/getPubSubManagerInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/init/getPubSubManagerInitQuery.js +2 -9
- package/dist/PubSubManager/init/getPubSubManagerInitQuery.js.map +1 -1
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +18 -19
- package/lib/PubSubManager/init/getPubSubManagerInitQuery.ts +2 -9
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D;;GAEG;AACH,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AACnE,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D;;;KAGK;AACL,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,EACxB,CAAC,EAAE,QAAQ,EACX,KAAK,oBAAI,EACT,mBAAmB,EAAE,OAAO,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"getSelectQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D;;GAEG;AACH,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AACnE,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D;;;KAGK;AACL,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,EACxB,CAAC,EAAE,QAAQ,EACX,KAAK,oBAAI,EACT,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CAyER;AAID,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EACrC,8CAA+D,eAAoB,KAClF,MAAM,EAUR,CAAC;AAOF,eAAO,MAAM,mBAAmB,GAAI,GAAG,QAAQ,WACuC,CAAC;AAEvF,eAAO,MAAM,cAAc,GAAI,GAAG,QAAQ,EAAE,sBAAsB,OAAO,aAkBxE,CAAC"}
|
|
@@ -35,32 +35,31 @@ function getSelectQuery(viewHandler, q, depth = 0, selectParamsGroupBy) {
|
|
|
35
35
|
}));
|
|
36
36
|
/** OR joins cannot be easily aggregated to one-many with the root table. Must group by root table id */
|
|
37
37
|
const hasOrJoins = parsedJoins.some((j) => j.isOrJoin);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return [",", ...j.cteLines];
|
|
44
|
-
}
|
|
45
|
-
return j.cteLines;
|
|
46
|
-
}),
|
|
47
|
-
];
|
|
38
|
+
const joinCtes = parsedJoins
|
|
39
|
+
.map((j) => {
|
|
40
|
+
return j.cteLines.length ? j.cteLines : undefined;
|
|
41
|
+
})
|
|
42
|
+
.filter(prostgles_types_1.isDefined);
|
|
48
43
|
if (hasOrJoins) {
|
|
49
44
|
const pkey = viewHandler.columns.find((c) => c.is_pkey);
|
|
50
|
-
joinCtes
|
|
45
|
+
joinCtes.unshift([
|
|
51
46
|
`${q.table.escaped} AS (`,
|
|
52
47
|
` SELECT *, ${pkey ? (0, prostgles_types_1.asName)(pkey.name) : "ROW_NUMBER() OVER()"} as ${exports.ROOT_TABLE_ROW_NUM_ID}`,
|
|
53
48
|
` FROM ${q.table.escaped}`,
|
|
54
49
|
`)`,
|
|
55
|
-
|
|
56
|
-
...joinCtes,
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
if (joinCtes.length) {
|
|
60
|
-
joinCtes.unshift(`WITH `);
|
|
50
|
+
]);
|
|
61
51
|
}
|
|
52
|
+
const withCtesStatementLines = joinCtes.length ?
|
|
53
|
+
[
|
|
54
|
+
`WITH`,
|
|
55
|
+
...joinCtes.flatMap((cte, idx) => {
|
|
56
|
+
const lastIdx = joinCtes.length - 1;
|
|
57
|
+
return cte.concat(idx < lastIdx ? [` ,`] : []);
|
|
58
|
+
}),
|
|
59
|
+
]
|
|
60
|
+
: [];
|
|
62
61
|
const query = [
|
|
63
|
-
...
|
|
62
|
+
...withCtesStatementLines,
|
|
64
63
|
`SELECT`,
|
|
65
64
|
...(0, exports.indentLines)(selectItems, { appendCommas: true }),
|
|
66
65
|
`FROM ( `,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":";;;AAgBA,
|
|
1
|
+
{"version":3,"file":"getSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAa9D,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;
|
|
1
|
+
{"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAa9D,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA0dX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,UAAU,KACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
|
|
@@ -262,6 +262,7 @@ BEGIN
|
|
|
262
262
|
concat_ws('_', 'prostgles_triggers', table_name, 'delete')
|
|
263
263
|
)
|
|
264
264
|
)
|
|
265
|
+
ORDER BY table_name
|
|
265
266
|
LOOP
|
|
266
267
|
|
|
267
268
|
FOREACH op IN ARRAY operations
|
|
@@ -293,15 +294,7 @@ BEGIN
|
|
|
293
294
|
WHERE t.table_name = nt.table_name
|
|
294
295
|
AND t.inserted < nt.inserted -- exclude current record (this is an after trigger). Turn into before trigger?
|
|
295
296
|
)
|
|
296
|
-
|
|
297
|
-
/* Table is valid
|
|
298
|
-
AND EXISTS (
|
|
299
|
-
SELECT 1
|
|
300
|
-
FROM information_schema.tables
|
|
301
|
-
WHERE table_schema = 'public'
|
|
302
|
-
AND table_name = nt.table_name
|
|
303
|
-
)
|
|
304
|
-
*/
|
|
297
|
+
ORDER BY table_name
|
|
305
298
|
LOOP
|
|
306
299
|
|
|
307
300
|
IF (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,wDAAgD;AAEhD,sEAAuD;AACvD,+FAAyG;AACzG,8DAM+B;AAC/B,8DAAyD;AACzD,2EAAwE;AAE3D,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,mCAAmC;IAC5D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,6BAA6B;IAChD,oBAAoB,EAAE,oCAAoC;IAC1D,yBAAyB,EAAE,yCAAyC;CAC5D,CAAC;AAEX,MAAM,6BAA6B,GAAG;;;;;;CAMrC,CAAC;AACF,MAAM,iCAAiC,GAAG;;;;;;CAMzC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,SAA8B,EAAE,SAAiB,EAAE,EAAE;IACzE,MAAM,kBAAkB,GAAG,SAAS,IAAI,MAAM,CAAC;IAC/C,MAAM,kBAAkB,GACtB,kBAAkB,CAAC,CAAC;QAClB,gCAAgC;QAClC,CAAC,CAAC;;;KAGD,CAAC;IAEJ,OAAO;;;;;;IAML,uDAAkC;;;;;;;;;;;;;;YAc1B,6BAA6B;;;;;;;YAO7B,iCAAiC;;;;;;;;;;;;;;;;;;;;UAoBnC,4DAAmC;;;;;;;;;;iBAU5B,IAAA,4BAAO,EAAC,sBAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwHvB,IAAA,qDAAyB,EAAC,SAAS,CAAC;;qCAET,oBAAY,CAAC,uBAAuB
|
|
1
|
+
{"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,36 +47,35 @@ export function getSelectQuery(
|
|
|
47
47
|
/** OR joins cannot be easily aggregated to one-many with the root table. Must group by root table id */
|
|
48
48
|
const hasOrJoins = parsedJoins.some((j) => j.isOrJoin);
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (joinIndex > 0 && j.cteLines.length) {
|
|
56
|
-
return [",", ...j.cteLines];
|
|
57
|
-
}
|
|
58
|
-
return j.cteLines;
|
|
59
|
-
}),
|
|
60
|
-
];
|
|
50
|
+
const joinCtes: string[][] = parsedJoins
|
|
51
|
+
.map((j) => {
|
|
52
|
+
return j.cteLines.length ? j.cteLines : undefined;
|
|
53
|
+
})
|
|
54
|
+
.filter(isDefined);
|
|
61
55
|
|
|
62
56
|
if (hasOrJoins) {
|
|
63
57
|
const pkey = viewHandler.columns.find((c) => c.is_pkey);
|
|
64
|
-
joinCtes
|
|
58
|
+
joinCtes.unshift([
|
|
65
59
|
`${q.table.escaped} AS (`,
|
|
66
60
|
` SELECT *, ${pkey ? asName(pkey.name) : "ROW_NUMBER() OVER()"} as ${ROOT_TABLE_ROW_NUM_ID}`,
|
|
67
61
|
` FROM ${q.table.escaped}`,
|
|
68
62
|
`)`,
|
|
69
|
-
|
|
70
|
-
...joinCtes,
|
|
71
|
-
];
|
|
63
|
+
]);
|
|
72
64
|
}
|
|
73
65
|
|
|
74
|
-
|
|
75
|
-
joinCtes.
|
|
76
|
-
|
|
66
|
+
const withCtesStatementLines =
|
|
67
|
+
joinCtes.length ?
|
|
68
|
+
[
|
|
69
|
+
`WITH`,
|
|
70
|
+
...joinCtes.flatMap((cte, idx) => {
|
|
71
|
+
const lastIdx = joinCtes.length - 1;
|
|
72
|
+
return cte.concat(idx < lastIdx ? [` ,`] : []);
|
|
73
|
+
}),
|
|
74
|
+
]
|
|
75
|
+
: [];
|
|
77
76
|
|
|
78
77
|
const query = [
|
|
79
|
-
...
|
|
78
|
+
...withCtesStatementLines,
|
|
80
79
|
`SELECT`,
|
|
81
80
|
...indentLines(selectItems, { appendCommas: true }),
|
|
82
81
|
`FROM ( `,
|
|
@@ -271,6 +271,7 @@ BEGIN
|
|
|
271
271
|
concat_ws('_', 'prostgles_triggers', table_name, 'delete')
|
|
272
272
|
)
|
|
273
273
|
)
|
|
274
|
+
ORDER BY table_name
|
|
274
275
|
LOOP
|
|
275
276
|
|
|
276
277
|
FOREACH op IN ARRAY operations
|
|
@@ -302,15 +303,7 @@ BEGIN
|
|
|
302
303
|
WHERE t.table_name = nt.table_name
|
|
303
304
|
AND t.inserted < nt.inserted -- exclude current record (this is an after trigger). Turn into before trigger?
|
|
304
305
|
)
|
|
305
|
-
|
|
306
|
-
/* Table is valid
|
|
307
|
-
AND EXISTS (
|
|
308
|
-
SELECT 1
|
|
309
|
-
FROM information_schema.tables
|
|
310
|
-
WHERE table_schema = 'public'
|
|
311
|
-
AND table_name = nt.table_name
|
|
312
|
-
)
|
|
313
|
-
*/
|
|
306
|
+
ORDER BY table_name
|
|
314
307
|
LOOP
|
|
315
308
|
|
|
316
309
|
IF (
|