prostgles-server 2.0.308 → 2.0.310
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/makeSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js +55 -60
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
- package/dist/DboBuilder.d.ts +3 -2
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +7 -15
- package/dist/DboBuilder.js.map +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +0 -1
- package/dist/Prostgles.js.map +1 -1
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -1
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +55 -60
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +83 -77
- package/lib/DboBuilder.d.ts +3 -2
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +7 -15
- package/lib/DboBuilder.ts +9 -15
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +0 -1
- package/lib/Prostgles.ts +0 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
package/dist/Prostgles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeSelectQuery.d.ts","sourceRoot":"","sources":["makeSelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAU,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,QAAQ,EACX,KAAK,GAAE,MAAU,EACjB,UAAU,GAAE,MAAM,EAAO,EACzB,YAAY,GAAE,YAAiB,GAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"makeSelectQuery.d.ts","sourceRoot":"","sources":["makeSelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAU,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,QAAQ,EACX,KAAK,GAAE,MAAU,EACjB,UAAU,GAAE,MAAM,EAAO,EACzB,YAAY,GAAE,YAAiB,GAC9B,MAAM,CA2RR"}
|
|
@@ -7,18 +7,23 @@ const prostgles_types_1 = require("prostgles-types");
|
|
|
7
7
|
function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}) {
|
|
8
8
|
const PREF = `prostgles`, joins = q.joins || [],
|
|
9
9
|
// aggs = q.aggs || [],
|
|
10
|
-
|
|
11
|
-
const indentLine = (
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const prefJCAN = (q, str) => (0, prostgles_types_1.asName)(`${q.tableAlias || q.table}_${PREF}_${str}`);
|
|
10
|
+
getTableAlias = (q) => !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`, getTableJoinAliasAsName = (joinAlias, table) => (0, prostgles_types_1.asName)(!joinAlias ? table : `${joinAlias || ""}_${table}`), getTableAliasAsName = (q) => (0, prostgles_types_1.asName)(getTableAlias(q));
|
|
11
|
+
const indentLine = (numberOfSpaces, str, indentStr = " ") => new Array(numberOfSpaces).fill(indentStr).join("") + str;
|
|
12
|
+
const indentArray = (numberOfSpaces, strArr, indentStr = " ") => strArr.map(str => indentLine(numberOfSpaces, str, indentStr));
|
|
13
|
+
const indentArrayAndJoin = (numberOfSpaces, strArr, separator = " \n ", indentStr = " ") => indentArray(numberOfSpaces, strArr, indentStr).join(separator);
|
|
14
|
+
const appendCommas = (strArr) => strArr.map((s, i, arr) => s + (i < arr.length - 1 ? " , " : " "));
|
|
15
|
+
const createAlias = (q, str) => (0, prostgles_types_1.asName)(`${q.tableAlias || q.table}_${PREF}_${str}`);
|
|
17
16
|
// const indent = (a, b) => a;
|
|
18
17
|
const joinTables = (q1, q2) => {
|
|
19
18
|
const joinInfo = _this.getJoins(q1.table, q2.table, q2.$path, true);
|
|
20
19
|
const paths = joinInfo.paths;
|
|
21
|
-
|
|
20
|
+
let rowidSortedColName = "";
|
|
21
|
+
let rowidDupesColName = "";
|
|
22
|
+
let jsonColName = "";
|
|
23
|
+
let t2Alias = "";
|
|
24
|
+
let limitColName = "";
|
|
25
|
+
const t1Alias = q.table;
|
|
26
|
+
const queries = paths.flatMap(({ table, on }, i) => {
|
|
22
27
|
const getColName = (col, q) => {
|
|
23
28
|
if (table === q.table) {
|
|
24
29
|
const colFromSelect = q.select.find(s => s.getQuery() === (0, prostgles_types_1.asName)(col));
|
|
@@ -37,44 +42,36 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
37
42
|
return getColName(col, q2);
|
|
38
43
|
};
|
|
39
44
|
// console.log(JSON.stringify({i, table, on, q1, q2}, null, 2));
|
|
40
|
-
const prevTable = i === 0 ?
|
|
41
|
-
const thisAlias =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// If root then prev table is aliased from root query. Alias from join otherwise
|
|
45
|
+
const prevTable = i === 0 ? t1Alias : (paths[i - 1].table);
|
|
46
|
+
const thisAlias = getTableJoinAliasAsName(q2.tableAlias, table);
|
|
47
|
+
const prevAlias = i === 0 ? getTableAliasAsName(q1) : getTableJoinAliasAsName(q2.tableAlias, prevTable);
|
|
48
|
+
/* If root then prev table is aliased from root query. Alias from join otherwise */
|
|
45
49
|
let iQ = [
|
|
46
50
|
(0, prostgles_types_1.asName)(table) + ` ${thisAlias}`
|
|
47
51
|
];
|
|
48
52
|
/* If target table then add filters, options, etc */
|
|
49
53
|
if (i === paths.length - 1) {
|
|
50
|
-
// const targetSelect = (
|
|
51
|
-
// q2.select.concat(
|
|
52
|
-
// (q2.joins || []).map(j => j.tableAlias || j.table)
|
|
53
|
-
// ).concat(
|
|
54
|
-
// /* Rename aggs to avoid collision with join cols */
|
|
55
|
-
// (q2.aggs || []).map(a => asName(`agg_${a.alias}`) + " AS " + asName(a.alias)) || [])
|
|
56
|
-
// ).filter(s => s).join(", ");
|
|
57
54
|
const targetSelect = q2.select.filter(s => s.selected).map(s => {
|
|
58
55
|
/* Rename aggs to avoid collision with join cols */
|
|
59
56
|
if (s.type === "aggregation")
|
|
60
57
|
return (0, prostgles_types_1.asName)(`agg_${s.alias}`) + " AS " + (0, prostgles_types_1.asName)(s.alias);
|
|
61
58
|
return (0, prostgles_types_1.asName)(s.alias);
|
|
62
59
|
}).concat(q2.joins?.map(j => (0, prostgles_types_1.asName)(j.table)) ?? []).join(", ");
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
const leafSelect = makeSelectQuery(_this, q2, depth + 1, on.flatMap(cond => cond.map(([c1, c2]) => (0, prostgles_types_1.asName)(c2))), selectParams).split("\n");
|
|
61
|
+
t2Alias = thisAlias;
|
|
62
|
+
rowidSortedColName = createAlias(q2, `rowid_sorted`);
|
|
63
|
+
rowidDupesColName = createAlias(q2, `dupes_rowid`);
|
|
64
|
+
limitColName = createAlias(q2, `limit`);
|
|
65
|
+
jsonColName = createAlias(q2, `json`);
|
|
69
66
|
iQ = [
|
|
70
67
|
"(",
|
|
71
|
-
...
|
|
68
|
+
...indentArray(depth + 1, [
|
|
72
69
|
`-- 4. [target table] `,
|
|
73
70
|
`SELECT *,`,
|
|
74
|
-
`row_number() over() as ${
|
|
75
|
-
`row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${
|
|
71
|
+
`row_number() over() as ${rowidSortedColName},`,
|
|
72
|
+
`row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${jsonColName}`,
|
|
76
73
|
`FROM (`,
|
|
77
|
-
...
|
|
74
|
+
...indentArray(depth + 2, leafSelect),
|
|
78
75
|
`) ${(0, prostgles_types_1.asName)(q2.table)} `
|
|
79
76
|
]),
|
|
80
77
|
`) ${thisAlias}`
|
|
@@ -83,13 +80,14 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
83
80
|
const getJoinCondition = (t1Alias, t2Alias, on) => {
|
|
84
81
|
return on.map(cond => cond.map(([c1, c2]) => `${t1Alias}.${(0, prostgles_types_1.asName)(getPrevColName(c1))} = ${t2Alias}.${(0, prostgles_types_1.asName)(getThisColName(c2))} `).join(" AND ")).join(" OR ");
|
|
85
82
|
};
|
|
86
|
-
let
|
|
83
|
+
let query = [
|
|
87
84
|
`${q2.isLeftJoin ? "LEFT" : "INNER"} JOIN `,
|
|
88
85
|
...iQ,
|
|
89
86
|
`ON ${getJoinCondition(prevAlias, thisAlias, on)}`
|
|
90
87
|
];
|
|
91
|
-
return
|
|
88
|
+
return { query, prevTable, thisAlias };
|
|
92
89
|
});
|
|
90
|
+
return { q: q2, query: queries.flatMap(q => q.query), t1Alias: q.table, t2Alias, rowidSortedColName: rowidSortedColName, jsonColName, rowidDupesColName, limitColName };
|
|
93
91
|
};
|
|
94
92
|
const getGroupBy = (rootSelectItems, groupByItems) => {
|
|
95
93
|
if (groupByItems.length) {
|
|
@@ -103,7 +101,7 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
103
101
|
}
|
|
104
102
|
return "";
|
|
105
103
|
};
|
|
106
|
-
/* Leaf query
|
|
104
|
+
/* Leaf query with no joins -> return simple query */
|
|
107
105
|
const aggs = q.select.filter(s => s.type === "aggregation");
|
|
108
106
|
const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
|
|
109
107
|
if (!joins.length) {
|
|
@@ -112,20 +110,12 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
112
110
|
const rootSelectItems = q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected);
|
|
113
111
|
/* If aggs exist need to set groupBy add joinFields into select */
|
|
114
112
|
if (aggs.length || selectParams?.groupBy) {
|
|
115
|
-
// const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
|
|
116
|
-
// if(depth && missingFields.length){
|
|
117
|
-
// // select = Array.from(new Set(missingFields.concat(select)));
|
|
118
|
-
// }
|
|
119
113
|
if (nonAggs.length) {
|
|
120
114
|
let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
|
|
121
115
|
groupBy = getGroupBy(rootSelectItems, groupByFields);
|
|
122
|
-
// if(groupByFields.length){
|
|
123
|
-
// groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
|
|
124
|
-
// }
|
|
125
116
|
}
|
|
126
117
|
}
|
|
127
|
-
|
|
128
|
-
let simpleQuery = indJ(depth, [
|
|
118
|
+
let simpleQuery = indentArrayAndJoin(depth, [
|
|
129
119
|
`-- 0. or 5. [leaf query] `
|
|
130
120
|
/* Group by selected fields + any join fields */
|
|
131
121
|
,
|
|
@@ -174,43 +164,48 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
174
164
|
});
|
|
175
165
|
rootGroupBy = `GROUP BY ${groupByItems.join(", ")} `;
|
|
176
166
|
}
|
|
167
|
+
const parsedJoins = joins.map(j => joinTables(q, j));
|
|
177
168
|
/* Joined query */
|
|
178
169
|
const joinedQuery = [
|
|
179
170
|
" \n",
|
|
180
171
|
`-- 0. [joined root] `,
|
|
181
172
|
"SELECT ",
|
|
182
|
-
...
|
|
173
|
+
...appendCommas(rootSelectItems.map(s => s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias)).concat(parsedJoins.map((j, i) => {
|
|
183
174
|
/** Apply LIMIT to joined items */
|
|
184
|
-
const jsq = `json_agg(${
|
|
185
|
-
const resAlias = (0, prostgles_types_1.asName)(j.tableAlias || j.table);
|
|
186
|
-
|
|
187
|
-
return (j.limit === 1 ? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
175
|
+
const jsq = `json_agg(${j.jsonColName}::jsonb ORDER BY ${j.rowidSortedColName}) FILTER (WHERE ${j.limitColName} <= ${j.q.limit} AND ${j.rowidDupesColName} = 1 AND ${j.jsonColName} IS NOT NULL)`;
|
|
176
|
+
const resAlias = (0, prostgles_types_1.asName)(j.q.tableAlias || j.q.table);
|
|
177
|
+
/* If limit = 1 then return a single json object (first one) */
|
|
178
|
+
return (j.q.limit === 1 ? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
188
179
|
}))),
|
|
189
180
|
`FROM ( `,
|
|
190
|
-
...
|
|
181
|
+
...indentArray(depth + 1, [
|
|
191
182
|
"-- 1. [subquery limit + dupes] ",
|
|
192
183
|
"SELECT ",
|
|
193
|
-
...
|
|
194
|
-
return `row_number() over(partition by ${
|
|
195
|
-
`ctid order by ${
|
|
184
|
+
...appendCommas([`t1.*`].concat(parsedJoins.map((j, i) => {
|
|
185
|
+
return `row_number() over(partition by ${j.rowidDupesColName}, ` +
|
|
186
|
+
`ctid order by ${j.rowidDupesColName}) AS ${j.limitColName} `;
|
|
196
187
|
}))),
|
|
197
|
-
`FROM ( ----------- ${
|
|
198
|
-
...
|
|
188
|
+
`FROM ( ----------- ${getTableAliasAsName(q)}`,
|
|
189
|
+
...indentArray(depth + 1, [
|
|
199
190
|
"-- 2. [source full select + ctid to group by] ",
|
|
200
191
|
"SELECT ",
|
|
201
|
-
...
|
|
202
|
-
.map(field => `${
|
|
203
|
-
.concat(
|
|
192
|
+
...appendCommas(q.allFields.concat(["ctid"])
|
|
193
|
+
.map(field => `${getTableAliasAsName(q)}.${(0, prostgles_types_1.asName)(field)} `)
|
|
194
|
+
.concat(parsedJoins.map((j, i) => j.t2Alias + "." + j.jsonColName + ", " +
|
|
195
|
+
j.t2Alias + "." + j.rowidSortedColName + ", " +
|
|
196
|
+
`row_number() over(partition by ` +
|
|
197
|
+
`${j.t2Alias}.${j.rowidSortedColName}, ` +
|
|
198
|
+
`${getTableAliasAsName(q)}.ctid ) AS ${j.rowidDupesColName}`))),
|
|
204
199
|
`FROM ( `,
|
|
205
|
-
...
|
|
200
|
+
...indentArray(depth + 1, [
|
|
206
201
|
"-- 3. [source table] ",
|
|
207
202
|
"SELECT ",
|
|
208
203
|
"*, row_number() over() as ctid ",
|
|
209
204
|
`FROM ${(0, prostgles_types_1.asName)(q.table)} `,
|
|
210
205
|
`${q.where} `
|
|
211
206
|
]),
|
|
212
|
-
`) ${
|
|
213
|
-
...joins.flatMap((j, i) => joinTables(q, j))
|
|
207
|
+
`) ${getTableAliasAsName(q)} `,
|
|
208
|
+
...joins.flatMap((j, i) => joinTables(q, j).query)
|
|
214
209
|
]),
|
|
215
210
|
") t1"
|
|
216
211
|
]),
|
|
@@ -222,7 +217,7 @@ function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}
|
|
|
222
217
|
"-- EOF 0. joined root",
|
|
223
218
|
" \n"
|
|
224
219
|
].filter(v => v);
|
|
225
|
-
let res =
|
|
220
|
+
let res = indentArrayAndJoin(depth, joinedQuery);
|
|
226
221
|
// res = indent(res, depth);
|
|
227
222
|
// console.log(res);
|
|
228
223
|
return res;
|
|
@@ -14,23 +14,33 @@ export function makeSelectQuery(
|
|
|
14
14
|
const PREF = `prostgles`,
|
|
15
15
|
joins = q.joins || [],
|
|
16
16
|
// aggs = q.aggs || [],
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
getTableAlias = (q: NewQuery) => !q.tableAlias? q.table : `${q.tableAlias || ""}_${q.table}`,
|
|
18
|
+
getTableJoinAliasAsName = (joinAlias: string | undefined, table: string) => asName(!joinAlias? table : `${joinAlias || ""}_${table}`),
|
|
19
|
+
getTableAliasAsName = (q: NewQuery) => asName(getTableAlias(q));
|
|
20
20
|
|
|
21
|
-
const indentLine = (
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
21
|
+
const indentLine = (numberOfSpaces: number, str: string, indentStr = " "): string => new Array(numberOfSpaces).fill(indentStr).join("") + str;
|
|
22
|
+
|
|
23
|
+
const indentArray = (numberOfSpaces: number, strArr: string[], indentStr = " "): string[] => strArr.map(str => indentLine(numberOfSpaces, str, indentStr) );
|
|
24
|
+
|
|
25
|
+
const indentArrayAndJoin = (numberOfSpaces: number, strArr: string[], separator = " \n ", indentStr = " ") => indentArray(numberOfSpaces, strArr, indentStr).join(separator);
|
|
26
|
+
|
|
27
|
+
const appendCommas = (strArr: string[]): string[] => strArr.map((s, i, arr)=> s + (i < arr.length - 1? " , " : " "));
|
|
28
|
+
|
|
29
|
+
const createAlias = (q: NewQuery, str: string) => asName(`${q.tableAlias || q.table}_${PREF}_${str}`);
|
|
27
30
|
|
|
28
31
|
// const indent = (a, b) => a;
|
|
29
|
-
const joinTables = (q1: NewQuery, q2: NewQuery): string[] => {
|
|
32
|
+
const joinTables = (q1: NewQuery, q2: NewQuery): { t1Alias: string; t2Alias: string; query: string[]; rowidSortedColName: string; rowidDupesColName: string; jsonColName: string; limitColName: string; q: NewQuery }=> {
|
|
30
33
|
const joinInfo = _this.getJoins(q1.table, q2.table, q2.$path, true);
|
|
31
34
|
const paths = joinInfo.paths;
|
|
32
35
|
|
|
33
|
-
|
|
36
|
+
let rowidSortedColName = "";
|
|
37
|
+
let rowidDupesColName = "";
|
|
38
|
+
let jsonColName = "";
|
|
39
|
+
let t2Alias = "";
|
|
40
|
+
let limitColName = "";
|
|
41
|
+
const t1Alias = q.table;
|
|
42
|
+
|
|
43
|
+
const queries = paths.flatMap(({ table, on }, i): { query: string[]; prevTable: string; thisAlias: string; } => {
|
|
34
44
|
const getColName = (col: string, q: NewQuery) => {
|
|
35
45
|
if(table === q.table){
|
|
36
46
|
const colFromSelect = q.select.find(s => s.getQuery() === asName(col));
|
|
@@ -43,6 +53,7 @@ export function makeSelectQuery(
|
|
|
43
53
|
|
|
44
54
|
return col;
|
|
45
55
|
}
|
|
56
|
+
|
|
46
57
|
const getPrevColName = (col: string) => {
|
|
47
58
|
return getColName(col, q1);
|
|
48
59
|
}
|
|
@@ -52,26 +63,18 @@ export function makeSelectQuery(
|
|
|
52
63
|
|
|
53
64
|
// console.log(JSON.stringify({i, table, on, q1, q2}, null, 2));
|
|
54
65
|
|
|
55
|
-
const prevTable = i === 0?
|
|
56
|
-
const thisAlias =
|
|
57
|
-
|
|
58
|
-
const prevAlias = i === 0?
|
|
59
|
-
// If root then prev table is aliased from root query. Alias from join otherwise
|
|
66
|
+
const prevTable = i === 0? t1Alias : (paths[i - 1].table);
|
|
67
|
+
const thisAlias = getTableJoinAliasAsName(q2.tableAlias, table);
|
|
68
|
+
|
|
69
|
+
const prevAlias = i === 0? getTableAliasAsName(q1) : getTableJoinAliasAsName(q2.tableAlias, prevTable);
|
|
60
70
|
|
|
71
|
+
/* If root then prev table is aliased from root query. Alias from join otherwise */
|
|
61
72
|
let iQ = [
|
|
62
73
|
asName(table) + ` ${thisAlias}`
|
|
63
74
|
];
|
|
64
75
|
|
|
65
76
|
/* If target table then add filters, options, etc */
|
|
66
77
|
if(i === paths.length - 1){
|
|
67
|
-
|
|
68
|
-
// const targetSelect = (
|
|
69
|
-
// q2.select.concat(
|
|
70
|
-
// (q2.joins || []).map(j => j.tableAlias || j.table)
|
|
71
|
-
// ).concat(
|
|
72
|
-
// /* Rename aggs to avoid collision with join cols */
|
|
73
|
-
// (q2.aggs || []).map(a => asName(`agg_${a.alias}`) + " AS " + asName(a.alias)) || [])
|
|
74
|
-
// ).filter(s => s).join(", ");
|
|
75
78
|
|
|
76
79
|
const targetSelect = q2.select.filter(s => s.selected).map(s => {
|
|
77
80
|
/* Rename aggs to avoid collision with join cols */
|
|
@@ -79,30 +82,32 @@ export function makeSelectQuery(
|
|
|
79
82
|
return asName(s.alias);
|
|
80
83
|
}).concat(q2.joins?.map(j => asName(j.table)) ?? []).join(", ");
|
|
81
84
|
|
|
82
|
-
const
|
|
85
|
+
const leafSelect = makeSelectQuery(
|
|
83
86
|
_this,
|
|
84
87
|
q2,
|
|
85
|
-
depth + 1,
|
|
86
|
-
// on.map(([c1, c2]) => asName(c2)),
|
|
88
|
+
depth + 1,
|
|
87
89
|
on.flatMap(cond => cond.map(([c1, c2]) => asName(c2))),
|
|
88
90
|
selectParams,
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
).split("\n");
|
|
92
|
+
|
|
93
|
+
t2Alias = thisAlias;
|
|
94
|
+
rowidSortedColName = createAlias(q2, `rowid_sorted`);
|
|
95
|
+
rowidDupesColName = createAlias(q2, `dupes_rowid`);
|
|
96
|
+
limitColName = createAlias(q2, `limit`);
|
|
97
|
+
jsonColName = createAlias(q2, `json`)
|
|
93
98
|
|
|
94
99
|
iQ = [
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
"("
|
|
101
|
+
,...indentArray(depth + 1, [
|
|
97
102
|
`-- 4. [target table] `
|
|
98
103
|
, `SELECT *,`
|
|
99
|
-
, `row_number() over() as ${
|
|
100
|
-
, `row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${
|
|
104
|
+
, `row_number() over() as ${rowidSortedColName},`
|
|
105
|
+
, `row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${jsonColName}`
|
|
101
106
|
, `FROM (`
|
|
102
|
-
, ...
|
|
107
|
+
, ...indentArray(depth + 2, leafSelect)
|
|
103
108
|
, `) ${asName(q2.table)} `
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
]),
|
|
110
|
+
`) ${thisAlias}`
|
|
106
111
|
]
|
|
107
112
|
}
|
|
108
113
|
|
|
@@ -113,19 +118,21 @@ export function makeSelectQuery(
|
|
|
113
118
|
).join(" OR ")
|
|
114
119
|
}
|
|
115
120
|
|
|
116
|
-
let
|
|
121
|
+
let query: string[] = [
|
|
117
122
|
`${q2.isLeftJoin? "LEFT" : "INNER"} JOIN `
|
|
118
123
|
, ...iQ
|
|
119
124
|
, `ON ${getJoinCondition(prevAlias, thisAlias, on)}`
|
|
120
125
|
];
|
|
121
|
-
return
|
|
126
|
+
return { query, prevTable, thisAlias };
|
|
122
127
|
});
|
|
128
|
+
|
|
129
|
+
return { q: q2, query: queries.flatMap(q => q.query), t1Alias: q.table, t2Alias, rowidSortedColName: rowidSortedColName, jsonColName, rowidDupesColName, limitColName }
|
|
123
130
|
}
|
|
124
131
|
|
|
125
132
|
const getGroupBy = (rootSelectItems: SelectItem[], groupByItems: SelectItem[]): string => {
|
|
126
133
|
if(groupByItems.length){
|
|
127
|
-
/** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
|
|
128
134
|
|
|
135
|
+
/** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
|
|
129
136
|
return `GROUP BY ` + groupByItems.map(gi => {
|
|
130
137
|
const idx = rootSelectItems.findIndex(si => si.alias === gi.alias);
|
|
131
138
|
if(idx < 0) throw `Could not find GROUP BY column ${gi.alias} in ROOT SELECT ${rootSelectItems.map(s => s.alias)}`;
|
|
@@ -133,13 +140,14 @@ export function makeSelectQuery(
|
|
|
133
140
|
}).join(", ")
|
|
134
141
|
}
|
|
135
142
|
|
|
136
|
-
return ""
|
|
143
|
+
return "";
|
|
137
144
|
}
|
|
138
145
|
|
|
139
|
-
/* Leaf query
|
|
146
|
+
/* Leaf query with no joins -> return simple query */
|
|
140
147
|
const aggs = q.select.filter(s => s.type === "aggregation");
|
|
141
148
|
const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
|
|
142
149
|
if(!joins.length){
|
|
150
|
+
|
|
143
151
|
/* Nested queries contain all fields to allow joining */
|
|
144
152
|
let groupBy = "";
|
|
145
153
|
|
|
@@ -147,22 +155,14 @@ export function makeSelectQuery(
|
|
|
147
155
|
|
|
148
156
|
/* If aggs exist need to set groupBy add joinFields into select */
|
|
149
157
|
if(aggs.length || selectParams?.groupBy){
|
|
150
|
-
// const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
|
|
151
|
-
// if(depth && missingFields.length){
|
|
152
|
-
// // select = Array.from(new Set(missingFields.concat(select)));
|
|
153
|
-
// }
|
|
154
158
|
|
|
155
159
|
if(nonAggs.length){
|
|
156
160
|
let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
|
|
157
161
|
groupBy = getGroupBy(rootSelectItems, groupByFields);
|
|
158
|
-
// if(groupByFields.length){
|
|
159
|
-
// groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
|
|
160
|
-
// }
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
|
|
164
|
-
|
|
165
|
-
let simpleQuery = indJ(depth, [
|
|
165
|
+
let simpleQuery = indentArrayAndJoin(depth, [
|
|
166
166
|
`-- 0. or 5. [leaf query] `
|
|
167
167
|
|
|
168
168
|
/* Group by selected fields + any join fields */
|
|
@@ -221,56 +221,62 @@ export function makeSelectQuery(
|
|
|
221
221
|
rootGroupBy = `GROUP BY ${groupByItems.join(", ")} `
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
+
const parsedJoins = joins.map(j => joinTables(q, j));
|
|
225
|
+
|
|
224
226
|
/* Joined query */
|
|
225
227
|
const joinedQuery = [
|
|
226
228
|
" \n"
|
|
227
229
|
, `-- 0. [joined root] `
|
|
228
230
|
, "SELECT "
|
|
229
|
-
,...
|
|
230
|
-
|
|
231
|
+
,...appendCommas(rootSelectItems.map(s => s.getQuery() + " AS " + asName(s.alias)).concat(
|
|
232
|
+
parsedJoins.map((j, i)=> {
|
|
231
233
|
|
|
232
234
|
/** Apply LIMIT to joined items */
|
|
233
|
-
const jsq = `json_agg(${
|
|
234
|
-
const resAlias = asName(j.tableAlias || j.table)
|
|
235
|
+
const jsq = `json_agg(${j.jsonColName}::jsonb ORDER BY ${j.rowidSortedColName}) FILTER (WHERE ${j.limitColName} <= ${j.q.limit} AND ${j.rowidDupesColName} = 1 AND ${j.jsonColName} IS NOT NULL)`;
|
|
236
|
+
const resAlias = asName(j.q.tableAlias || j.q.table)
|
|
235
237
|
|
|
236
|
-
|
|
237
|
-
return (j.limit === 1? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
238
|
+
/* If limit = 1 then return a single json object (first one) */
|
|
239
|
+
return (j.q.limit === 1? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
238
240
|
})
|
|
239
241
|
))
|
|
240
242
|
, `FROM ( `
|
|
241
|
-
, ...
|
|
243
|
+
, ...indentArray(depth + 1, [
|
|
242
244
|
"-- 1. [subquery limit + dupes] "
|
|
243
245
|
, "SELECT "
|
|
244
|
-
, ...
|
|
245
|
-
|
|
246
|
-
return `row_number() over(partition by ${
|
|
247
|
-
`ctid order by ${
|
|
246
|
+
, ...appendCommas([`t1.*`].concat(
|
|
247
|
+
parsedJoins.map((j, i)=> {
|
|
248
|
+
return `row_number() over(partition by ${j.rowidDupesColName}, ` +
|
|
249
|
+
`ctid order by ${j.rowidDupesColName}) AS ${j.limitColName} `
|
|
248
250
|
}))
|
|
249
251
|
)
|
|
250
|
-
, `FROM ( ----------- ${
|
|
251
|
-
, ...
|
|
252
|
+
, `FROM ( ----------- ${getTableAliasAsName(q)}`
|
|
253
|
+
, ...indentArray(depth + 1, [
|
|
252
254
|
"-- 2. [source full select + ctid to group by] "
|
|
253
255
|
, "SELECT "
|
|
254
|
-
, ...
|
|
256
|
+
, ...appendCommas(
|
|
255
257
|
q.allFields.concat(["ctid"])
|
|
256
|
-
.map(field => `${
|
|
258
|
+
.map(field => `${getTableAliasAsName(q)}.${asName(field)} `)
|
|
257
259
|
.concat(
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
parsedJoins.map((j, i) =>
|
|
261
|
+
j.t2Alias + "." + j.jsonColName + ", " +
|
|
262
|
+
j.t2Alias + "." + j.rowidSortedColName + ", " +
|
|
263
|
+
`row_number() over(partition by ` +
|
|
264
|
+
`${j.t2Alias}.${j.rowidSortedColName}, ` +
|
|
265
|
+
`${getTableAliasAsName(q)}.ctid ) AS ${j.rowidDupesColName}`
|
|
266
|
+
)
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
)
|
|
264
270
|
, `FROM ( `
|
|
265
|
-
, ...
|
|
271
|
+
, ...indentArray(depth + 1, [
|
|
266
272
|
"-- 3. [source table] "
|
|
267
273
|
, "SELECT "
|
|
268
274
|
, "*, row_number() over() as ctid "
|
|
269
275
|
, `FROM ${asName(q.table)} `
|
|
270
276
|
, `${q.where} `
|
|
271
277
|
])
|
|
272
|
-
, `) ${
|
|
273
|
-
, ...joins.flatMap((j, i)=> joinTables(q, j))
|
|
278
|
+
, `) ${getTableAliasAsName(q)} `
|
|
279
|
+
, ...joins.flatMap((j, i) => joinTables(q, j).query)
|
|
274
280
|
])
|
|
275
281
|
, ") t1"
|
|
276
282
|
])
|
|
@@ -283,7 +289,7 @@ export function makeSelectQuery(
|
|
|
283
289
|
, " \n"
|
|
284
290
|
].filter(v => v)
|
|
285
291
|
|
|
286
|
-
let res =
|
|
292
|
+
let res = indentArrayAndJoin(depth, joinedQuery as unknown as string[]);
|
|
287
293
|
// res = indent(res, depth);
|
|
288
294
|
// console.log(res);
|
|
289
295
|
return res;
|
package/lib/DboBuilder.d.ts
CHANGED
|
@@ -386,7 +386,6 @@ export declare class DboBuilder {
|
|
|
386
386
|
getPubSubManager: () => Promise<PubSubManager>;
|
|
387
387
|
pojoDefinitions?: string[];
|
|
388
388
|
tsTypesDefinition?: string;
|
|
389
|
-
joins?: Join[];
|
|
390
389
|
joinGraph?: Graph;
|
|
391
390
|
joinPaths: JoinPaths;
|
|
392
391
|
prostgles: Prostgles;
|
|
@@ -399,7 +398,9 @@ export declare class DboBuilder {
|
|
|
399
398
|
private init;
|
|
400
399
|
static create: (prostgles: Prostgles) => Promise<DboBuilder>;
|
|
401
400
|
destroy(): void;
|
|
402
|
-
|
|
401
|
+
_joins?: Join[];
|
|
402
|
+
get joins(): Join[];
|
|
403
|
+
set joins(j: Join[]);
|
|
403
404
|
getJoinPaths(): JoinPaths;
|
|
404
405
|
parseJoins(): Promise<JoinPaths>;
|
|
405
406
|
private runSQL;
|