prostgles-server 2.0.309 → 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.map +1 -1
- package/dist/DboBuilder.js +0 -10
- package/dist/DboBuilder.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.map +1 -1
- package/lib/DboBuilder.js +0 -10
- package/lib/DboBuilder.ts +0 -10
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
|
package/lib/DboBuilder.js
CHANGED
|
@@ -1965,16 +1965,6 @@ class DboBuilder {
|
|
|
1965
1965
|
this.joins = joins;
|
|
1966
1966
|
// Validate joins
|
|
1967
1967
|
try {
|
|
1968
|
-
// 1 find duplicates
|
|
1969
|
-
// const dup = joins.find(j =>
|
|
1970
|
-
// j.tables[0] === j.tables[1] ||
|
|
1971
|
-
// joins.find(jj =>
|
|
1972
|
-
// j.tables.join() !== jj.tables.join() &&
|
|
1973
|
-
// j.tables.slice().sort().join() === jj.tables.slice().sort().join())
|
|
1974
|
-
// );
|
|
1975
|
-
// if(dup){
|
|
1976
|
-
// throw "Duplicate join declaration for table: " + dup.tables[0];
|
|
1977
|
-
// }
|
|
1978
1968
|
const tovNames = this.tablesOrViews.map(t => t.name);
|
|
1979
1969
|
// 2 find incorrect tables
|
|
1980
1970
|
const missing = joins.flatMap(j => j.tables).find(t => !tovNames.includes(t));
|
package/lib/DboBuilder.ts
CHANGED
|
@@ -2605,16 +2605,6 @@ export class DboBuilder {
|
|
|
2605
2605
|
|
|
2606
2606
|
// Validate joins
|
|
2607
2607
|
try {
|
|
2608
|
-
// 1 find duplicates
|
|
2609
|
-
// const dup = joins.find(j =>
|
|
2610
|
-
// j.tables[0] === j.tables[1] ||
|
|
2611
|
-
// joins.find(jj =>
|
|
2612
|
-
// j.tables.join() !== jj.tables.join() &&
|
|
2613
|
-
// j.tables.slice().sort().join() === jj.tables.slice().sort().join())
|
|
2614
|
-
// );
|
|
2615
|
-
// if(dup){
|
|
2616
|
-
// throw "Duplicate join declaration for table: " + dup.tables[0];
|
|
2617
|
-
// }
|
|
2618
2608
|
const tovNames = this.tablesOrViews!.map(t => t.name);
|
|
2619
2609
|
|
|
2620
2610
|
// 2 find incorrect tables
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
38147
|