prostgles-server 4.1.59 → 4.1.61
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/QueryBuilder.d.ts +1 -0
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts +15 -5
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +82 -40
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js +6 -4
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +5 -0
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +20 -30
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareSortItems.js +20 -13
- package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
- package/dist/DboBuilder/insert.js +3 -3
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/insertDataParse.d.ts +1 -1
- package/dist/DboBuilder/insertDataParse.d.ts.map +1 -1
- package/dist/DboBuilder/insertDataParse.js +12 -5
- package/dist/DboBuilder/insertDataParse.js.map +1 -1
- package/dist/DboBuilder.d.ts +4 -3
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +5 -5
- package/dist/DboBuilder.js.map +1 -1
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +1 -0
- package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +105 -37
- package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +8 -4
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +25 -33
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +1 -1
- package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +23 -14
- package/lib/DboBuilder/insert.ts +3 -3
- package/lib/DboBuilder/insertDataParse.ts +12 -5
- package/lib/DboBuilder.ts +6 -5
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/isomorphic_queries.ts +65 -0
- package/tests/manual_test/init.sql +0 -3
- package/tests/server/DBoGenerated.d.ts +22 -0
- package/tests/server/index.ts +2 -0
- package/tests/server/init.sql +15 -1
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmC,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAmB,UAAU,EAAE,uBAAuB,EAAY,MAAM,EAAE,UAAU,EAAW,mBAAmB,EAAe,MAAM,iBAAiB,CAAC;AAEhK,OAAO,EAAmB,SAAS,EAAa,YAAY,EAAiB,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC;IAC5C,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAE9C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,CAAC;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG;IACF,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/D,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;CAAE,CAAA;AAEpE,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,UAAU,EAAE,CAAC;IAErB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5D,YAAY,EAAE,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,GAAG;IACrC,QAAQ,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":";AACA;;;gGAGgG;;;AAEhG,iDAA6E;AAC7E,qDAAgK;AAEhK,2CAAiG;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NewQuery, NewQueryJoin } from "./QueryBuilder";
|
|
1
|
+
import { NewQuery, NewQueryJoin, SelectItem } from "./QueryBuilder";
|
|
2
2
|
import { ViewHandler } from "../ViewHandler/ViewHandler";
|
|
3
3
|
type Args = {
|
|
4
4
|
q1: NewQuery;
|
|
@@ -13,6 +13,16 @@ export declare const getJoinCol: (colName: string) => {
|
|
|
13
13
|
alias: string;
|
|
14
14
|
rootSelect: string;
|
|
15
15
|
};
|
|
16
|
+
export declare const JSON_AGG_FIELD_NAME = "prostgles_json_agg_result_field";
|
|
17
|
+
/**
|
|
18
|
+
* Used for LIMIT and for sorting
|
|
19
|
+
*/
|
|
20
|
+
export declare const NESTED_ROWID_FIELD_NAME = "prostgles_rowid_field";
|
|
21
|
+
type GetJoinQueryResult = {
|
|
22
|
+
resultAlias: string;
|
|
23
|
+
queryLines: string[];
|
|
24
|
+
firstJoinTableJoinFields: string[];
|
|
25
|
+
};
|
|
16
26
|
/**
|
|
17
27
|
Returns join query. All inner join tables will be prefixed with path index unless it's the final target table which is aliased using the q2 tableAlias
|
|
18
28
|
|
|
@@ -24,10 +34,10 @@ export declare const getJoinCol: (colName: string) => {
|
|
|
24
34
|
) target_table
|
|
25
35
|
ON ...condition
|
|
26
36
|
*/
|
|
27
|
-
export declare const getJoinQuery: (viewHandler: ViewHandler, { q1, q2, depth }: Args) =>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
export declare const getJoinQuery: (viewHandler: ViewHandler, { q1, q2, depth }: Args) => GetJoinQueryResult;
|
|
38
|
+
export type SelectItemNested = SelectItem & {
|
|
39
|
+
query: string;
|
|
40
|
+
isJoinCol: boolean;
|
|
31
41
|
};
|
|
32
42
|
export {};
|
|
33
43
|
//# sourceMappingURL=getJoinQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM;;;CAMzC,CAAA;AAED,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAY/D,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,gBAAiB,WAAW,qBAAqB,IAAI,KAAG,kBAkEhF,CAAA;AAkED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;CAAE,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getJoinQuery = exports.getJoinCol = void 0;
|
|
3
|
+
exports.getJoinQuery = exports.NESTED_ROWID_FIELD_NAME = exports.JSON_AGG_FIELD_NAME = exports.getJoinCol = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const parseJoinPath_1 = require("../ViewHandler/parseJoinPath");
|
|
6
6
|
const QueryBuilder_1 = require("./QueryBuilder");
|
|
7
7
|
const getSelectQuery_1 = require("./getSelectQuery");
|
|
8
8
|
const getTableJoinQuery_1 = require("../ViewHandler/getTableJoinQuery");
|
|
9
|
+
const DboBuilder_1 = require("../../DboBuilder");
|
|
9
10
|
/**
|
|
10
11
|
* Rename all join columns to prevent name clash
|
|
11
12
|
*/
|
|
@@ -17,6 +18,11 @@ const getJoinCol = (colName) => {
|
|
|
17
18
|
};
|
|
18
19
|
};
|
|
19
20
|
exports.getJoinCol = getJoinCol;
|
|
21
|
+
exports.JSON_AGG_FIELD_NAME = "prostgles_json_agg_result_field";
|
|
22
|
+
/**
|
|
23
|
+
* Used for LIMIT and for sorting
|
|
24
|
+
*/
|
|
25
|
+
exports.NESTED_ROWID_FIELD_NAME = "prostgles_rowid_field";
|
|
20
26
|
const getJoinTable = (tableName, pathIndex, isLastTableAlias) => {
|
|
21
27
|
const rawAlias = isLastTableAlias ?? `p${pathIndex} ${tableName}`;
|
|
22
28
|
return {
|
|
@@ -38,24 +44,72 @@ const getJoinTable = (tableName, pathIndex, isLastTableAlias) => {
|
|
|
38
44
|
ON ...condition
|
|
39
45
|
*/
|
|
40
46
|
const getJoinQuery = (viewHandler, { q1, q2, depth }) => {
|
|
41
|
-
const paths = (0, parseJoinPath_1.parseJoinPath)({
|
|
47
|
+
const paths = (0, parseJoinPath_1.parseJoinPath)({
|
|
48
|
+
rootTable: q1.table,
|
|
49
|
+
rawPath: q2.joinPath,
|
|
50
|
+
viewHandler: viewHandler,
|
|
51
|
+
allowMultiOrJoin: true,
|
|
52
|
+
addShortestJoinIfMissing: true,
|
|
53
|
+
});
|
|
42
54
|
const targetTableAliasRaw = q2.tableAlias || q2.table;
|
|
43
55
|
const targetTableAlias = (0, prostgles_types_1.asName)(targetTableAliasRaw);
|
|
44
56
|
const firstJoinTablePath = paths[0];
|
|
45
57
|
const firstJoinTableJoinFields = firstJoinTablePath.on.flatMap(condObj => Object.entries(condObj).map(([source, target]) => target));
|
|
46
|
-
const { rootSelectItems,
|
|
58
|
+
const { rootSelectItems, jsonAggLimit } = getNestedSelectFields({
|
|
47
59
|
q: q2,
|
|
48
60
|
firstJoinTableAlias: getJoinTable(firstJoinTablePath.table, 0, paths.length === 1 ? targetTableAliasRaw : undefined).rawAlias,
|
|
49
61
|
_joinFields: firstJoinTableJoinFields
|
|
50
62
|
});
|
|
51
63
|
const joinType = q2.isLeftJoin ? "LEFT" : "INNER";
|
|
64
|
+
const joinCondition = (0, getTableJoinQuery_1.getJoinOnCondition)({
|
|
65
|
+
on: firstJoinTablePath.on,
|
|
66
|
+
leftAlias: (0, prostgles_types_1.asName)(q1.tableAlias || q1.table),
|
|
67
|
+
rightAlias: targetTableAlias,
|
|
68
|
+
getRightColName: (col) => (0, exports.getJoinCol)(col).alias
|
|
69
|
+
});
|
|
70
|
+
const joinFields = rootSelectItems.filter(s => s.isJoinCol).map(s => s.alias);
|
|
71
|
+
const selectedFields = rootSelectItems.filter(s => s.selected).map(s => (0, QueryBuilder_1.asNameAlias)(s.alias, targetTableAliasRaw));
|
|
72
|
+
const rootNestedSort = q1.orderByItems.filter(d => d.nested?.joinAlias === q2.joinAlias);
|
|
73
|
+
const jsonAggSort = (0, DboBuilder_1.prepareOrderByQuery)(q2.orderByItems, targetTableAliasRaw).join(", ");
|
|
74
|
+
const jsonAgg = `json_agg((SELECT x FROM (SELECT ${selectedFields}) as x )${jsonAggSort}) ${jsonAggLimit} as ${exports.JSON_AGG_FIELD_NAME}`;
|
|
75
|
+
const { innerQuery } = getInnerJoinQuery({ paths, q1, q2, rootSelectItems, targetTableAliasRaw });
|
|
76
|
+
// const requiredJoinFields = joinFields.map(field => getJoinCol(field).alias);
|
|
77
|
+
/**
|
|
78
|
+
* Used to prevent duplicates in case of OR filters
|
|
79
|
+
*/
|
|
80
|
+
const rootTableIdField = `${getSelectQuery_1.ROOT_TABLE_ALIAS}.${getSelectQuery_1.ROOT_TABLE_ROW_NUM_ID}`;
|
|
81
|
+
const wrappingQuery = [
|
|
82
|
+
`SELECT `,
|
|
83
|
+
// ...indentLines([...requiredJoinFields, jsonAgg, ...rootNestedSort.map(d => d.nested!.wrapperQuerySortItem)], { appendCommas: true }),
|
|
84
|
+
...(0, getSelectQuery_1.indentLines)([rootTableIdField, jsonAgg, ...rootNestedSort.map(d => d.nested.wrapperQuerySortItem)], { appendCommas: true }),
|
|
85
|
+
`FROM (`,
|
|
86
|
+
...(0, getSelectQuery_1.indentLines)(innerQuery),
|
|
87
|
+
`) ${targetTableAlias}`,
|
|
88
|
+
`WHERE ${joinCondition}`,
|
|
89
|
+
`GROUP BY ${rootTableIdField}`
|
|
90
|
+
];
|
|
91
|
+
const queryLines = [
|
|
92
|
+
`${joinType} JOIN LATERAL (`,
|
|
93
|
+
...(0, getSelectQuery_1.indentLines)(wrappingQuery),
|
|
94
|
+
`) ${targetTableAlias}`,
|
|
95
|
+
// `ON ${joinCondition}`
|
|
96
|
+
`ON ${targetTableAlias}.${getSelectQuery_1.ROOT_TABLE_ROW_NUM_ID} = ${rootTableIdField}`
|
|
97
|
+
];
|
|
98
|
+
return {
|
|
99
|
+
resultAlias: exports.JSON_AGG_FIELD_NAME,
|
|
100
|
+
queryLines,
|
|
101
|
+
firstJoinTableJoinFields: firstJoinTableJoinFields,
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
exports.getJoinQuery = getJoinQuery;
|
|
105
|
+
/**
|
|
106
|
+
* prepares the
|
|
107
|
+
*/
|
|
108
|
+
const getInnerJoinQuery = ({ paths, q1, q2, targetTableAliasRaw, rootSelectItems }) => {
|
|
52
109
|
const innerQuery = paths.flatMap((path, i) => {
|
|
53
110
|
const isLast = i === paths.length - 1;
|
|
54
111
|
const targetQueryExtraQueries = [];
|
|
55
|
-
// const prevTableAlias = !i? (q1.tableAlias ?? q1.table) : `t${i-1}`;
|
|
56
|
-
// const tableAlias = isLast? targetTableAlias : asName(`t${i}`);
|
|
57
112
|
const prevTable = getJoinTable(!i ? (q1.tableAlias ? (0, prostgles_types_1.asName)(q1.tableAlias) : q1.table) : paths[i - 1].table, i - 1, undefined);
|
|
58
|
-
// const tableAlias = isLast? targetTableAlias : asName(path.table);
|
|
59
113
|
const table = getJoinTable(path.table, i, isLast ? targetTableAliasRaw : undefined);
|
|
60
114
|
if (isLast) {
|
|
61
115
|
if (q2.where) {
|
|
@@ -70,7 +124,8 @@ const getJoinQuery = (viewHandler, { q1, q2, depth }) => {
|
|
|
70
124
|
}
|
|
71
125
|
}
|
|
72
126
|
}
|
|
73
|
-
|
|
127
|
+
const isFirst = !i;
|
|
128
|
+
if (isFirst) {
|
|
74
129
|
return [
|
|
75
130
|
`SELECT `,
|
|
76
131
|
` /* Join fields + select */`,
|
|
@@ -80,32 +135,15 @@ const getJoinQuery = (viewHandler, { q1, q2, depth }) => {
|
|
|
80
135
|
];
|
|
81
136
|
}
|
|
82
137
|
return [
|
|
83
|
-
|
|
138
|
+
`INNER JOIN ${table.name} ${table.alias}`,
|
|
84
139
|
`ON ${(0, getTableJoinQuery_1.getJoinOnCondition)({ on: path.on, leftAlias: prevTable.alias, rightAlias: table.alias })}`,
|
|
85
140
|
...targetQueryExtraQueries
|
|
86
141
|
];
|
|
87
142
|
});
|
|
88
|
-
|
|
89
|
-
`${joinType} JOIN (`,
|
|
90
|
-
...(0, getSelectQuery_1.indentLines)(innerQuery),
|
|
91
|
-
`) ${targetTableAlias}`,
|
|
92
|
-
`ON ${(0, getTableJoinQuery_1.getJoinOnCondition)({
|
|
93
|
-
on: firstJoinTablePath.on,
|
|
94
|
-
leftAlias: (0, prostgles_types_1.asName)(q1.tableAlias || q1.table),
|
|
95
|
-
rightAlias: targetTableAlias,
|
|
96
|
-
getRightColName: (col) => (0, exports.getJoinCol)(col).alias
|
|
97
|
-
})}`
|
|
98
|
-
];
|
|
99
|
-
return {
|
|
100
|
-
queryLines,
|
|
101
|
-
limitFieldName,
|
|
102
|
-
targetTableJoinFields: firstJoinTableJoinFields,
|
|
103
|
-
};
|
|
143
|
+
return { innerQuery };
|
|
104
144
|
};
|
|
105
|
-
|
|
106
|
-
const getSelectFields = ({ q, firstJoinTableAlias, _joinFields }) => {
|
|
145
|
+
const getNestedSelectFields = ({ q, firstJoinTableAlias, _joinFields }) => {
|
|
107
146
|
const targetTableAlias = (q.tableAlias || q.table);
|
|
108
|
-
const limitFieldName = q.limit ? "prostgles_nested_limit" : undefined;
|
|
109
147
|
const requiredJoinFields = Array.from(new Set(_joinFields));
|
|
110
148
|
const selectedFields = q.select.filter(s => s.selected);
|
|
111
149
|
const rootSelectItems = selectedFields
|
|
@@ -124,18 +162,22 @@ const getSelectFields = ({ q, firstJoinTableAlias, _joinFields }) => {
|
|
|
124
162
|
isJoinCol: true,
|
|
125
163
|
query: `${(0, prostgles_types_1.asName)(firstJoinTableAlias)}.${(0, exports.getJoinCol)(f).rootSelect}`,
|
|
126
164
|
})));
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
165
|
+
const getQuery = (tableAlias) => {
|
|
166
|
+
const partitionBy = `PARTITION BY ${requiredJoinFields.map(f => (0, QueryBuilder_1.asNameAlias)(f, tableAlias))}`;
|
|
167
|
+
return `ROW_NUMBER() OVER(${partitionBy}) AS ${exports.NESTED_ROWID_FIELD_NAME}`;
|
|
168
|
+
};
|
|
169
|
+
rootSelectItems.push({
|
|
170
|
+
type: "computed",
|
|
171
|
+
selected: false,
|
|
172
|
+
alias: exports.NESTED_ROWID_FIELD_NAME,
|
|
173
|
+
getFields: () => [],
|
|
174
|
+
getQuery,
|
|
175
|
+
query: getQuery(firstJoinTableAlias),
|
|
176
|
+
isJoinCol: false,
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
rootSelectItems,
|
|
180
|
+
jsonAggLimit: q.limit ? `FILTER (WHERE ${exports.NESTED_ROWID_FIELD_NAME} <= ${q.limit})` : ""
|
|
181
|
+
};
|
|
140
182
|
};
|
|
141
183
|
//# sourceMappingURL=getJoinQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AACpD,gEAA6E;AAC7E,iDAAiF;AACjF,qDAAwF;AAExF,wEAAsE;AACtE,iDAAuD;AASvD;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,IAAA,wBAAM,EAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,KAAK;QACL,UAAU,EAAE,GAAG,IAAA,wBAAM,EAAC,OAAO,CAAC,OAAO,KAAK,EAAE;KAC7C,CAAA;AACH,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAEY,QAAA,mBAAmB,GAAG,iCAAiC,CAAC;AACrE;;GAEG;AACU,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAoC,EAAE,EAAE;IAClG,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;IACnE,OAAO;QACL,kEAAkE;QAClE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,wBAAM,EAAC,QAAQ,CAAC;QACvB,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAQD;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,WAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAQ,EAAsB,EAAE;IACpG,MAAM,KAAK,GAAG,IAAA,6BAAa,EAAC;QAC1B,SAAS,EAAE,EAAE,CAAC,KAAK;QACnB,OAAO,EAAE,EAAE,CAAC,QAAQ;QACpB,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,IAAI;QACtB,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAA,wBAAM,EAAC,mBAAmB,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACrC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACrI,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC;QAC9D,CAAC,EAAE,EAAE;QACL,mBAAmB,EAAE,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ;QAC5H,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAEjD,MAAM,aAAa,GAAG,IAAA,sCAAkB,EAAC;QACvC,EAAE,EAAE,kBAAkB,CAAC,EAAE;QACzB,SAAS,EAAE,IAAA,wBAAM,EAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,CAAC;QAC5C,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC,KAAK;KAChD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACnH,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,IAAA,gCAAmB,EAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,mCAAmC,cAAc,WAAW,WAAW,KAAK,YAAY,OAAO,2BAAmB,EAAE,CAAC;IAErI,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAElG,+EAA+E;IAC/E;;OAEG;IACH,MAAM,gBAAgB,GAAG,GAAG,iCAAgB,IAAI,sCAAqB,EAAE,CAAC;IACxE,MAAM,aAAa,GAAG;QACpB,SAAS;QACP,wIAAwI;QACxI,GAAG,IAAA,4BAAW,EAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACjI,QAAQ;QACR,GAAG,IAAA,4BAAW,EAAC,UAAU,CAAC;QAC1B,KAAK,gBAAgB,EAAE;QACvB,SAAS,aAAa,EAAE;QACxB,YAAY,gBAAgB,EAAE;KAC/B,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,GAAG,QAAQ,iBAAiB;QAC5B,GAAG,IAAA,4BAAW,EAAC,aAAa,CAAC;QAC7B,KAAK,gBAAgB,EAAE;QACvB,wBAAwB;QACxB,MAAM,gBAAgB,IAAI,sCAAqB,MAAM,gBAAgB,EAAE;KACxE,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,2BAAmB;QAChC,UAAU;QACV,wBAAwB,EAAE,wBAAwB;KACnD,CAAA;AACH,CAAC,CAAA;AAlEY,QAAA,YAAY,gBAkExB;AAGD;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAM/E,EAAE,EAAE;IAEH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAE3C,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,uBAAuB,GAAa,EAAE,CAAC;QAE7C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAA,CAAC,CAAC,IAAA,wBAAM,EAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,GAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAE1H,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAA,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnF,IAAG,MAAM,EAAC;YACR,IAAG,EAAE,CAAC,KAAK,EAAC;gBACV,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;aACxC;YAED,kEAAkE;YAClE,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;YAC5D,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA,CAAC,CAAC,GAAG,CAAC,GAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC,MAAM,CAAC,2BAAS,CAAC,CAAC;gBACtJ,IAAG,aAAa,CAAC,MAAM,EAAC;oBACtB,uBAAuB,CAAC,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC,CAAA;iBAC1D;aACF;SACF;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC;QACnB,IAAG,OAAO,EAAC;YACT,OAAO;gBACL,SAAS;gBACT,8BAA8B;gBAC9B,GAAG,IAAA,4BAAW,EAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBACzE,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;gBACnC,GAAG,uBAAuB;aAC3B,CAAA;SACF;QAED,OAAO;YACL,cAAc,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YACzC,MAAM,IAAA,sCAAkB,EAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAC,CAAC,EAAE;YAC/F,GAAG,uBAAuB;SAC3B,CAAA;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,CAAA;AACvB,CAAC,CAAA;AAUD,MAAM,qBAAqB,GAAG,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAuB,EAAE,EAAE;IAC7F,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,eAAe,GAAuB,cAAc;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,GAAG,CAAC;QACJ,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,MAAM,GAAG,IAAA,wBAAM,EAAC,CAAC,CAAC,KAAK,CAAC;KAC/D,CAAC,CAAC;SACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,EAAE,UAAU,CAAC;QACpD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,GAAG,IAAA,wBAAM,EAAC,mBAAmB,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,UAAU,EAAE;KACpE,CAAC,CAAC,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,gBAAgB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO,qBAAqB,WAAW,QAAQ,+BAAuB,EAAE,CAAA;IAC1E,CAAC,CAAC;IACF,eAAe,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,+BAAuB;QAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;QACnB,QAAQ;QACR,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACpC,SAAS,EAAE,KAAK;KACjB,CAAC,CAAA;IAEJ,OAAO;QACL,eAAe;QACf,YAAY,EAAE,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC,iBAAiB,+BAAuB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KACtF,CAAC;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNewQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAiG,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7I,OAAO,EAAE,QAAQ,EAAmC,MAAM,gBAAgB,CAAC;AA0D3E,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2C,EACvD,aAAa,kBAAO,EACpB,UAAU,EAAE,SAAS,GAAG,SAAS,EACjC,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"getNewQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAiG,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7I,OAAO,EAAE,QAAQ,EAAmC,MAAM,gBAAgB,CAAC;AA0D3E,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2C,EACvD,aAAa,kBAAO,EACpB,UAAU,EAAE,SAAS,GAAG,SAAS,EACjC,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,OAAO,CAAC,QAAQ,CAAC,CAwJnB"}
|
|
@@ -124,11 +124,13 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
124
124
|
joinQuery.tableAlias = j_alias;
|
|
125
125
|
joinQueries.push({
|
|
126
126
|
...joinQuery,
|
|
127
|
-
joinPath: j_path
|
|
127
|
+
joinPath: j_path,
|
|
128
|
+
joinAlias: joinQuery.tableAlias ?? joinQuery.table,
|
|
128
129
|
});
|
|
129
130
|
}
|
|
130
131
|
});
|
|
131
132
|
/**
|
|
133
|
+
* Is this still needed?!!!
|
|
132
134
|
* Add non selected columns
|
|
133
135
|
* This ensures all fields are available for orderBy in case of nested select
|
|
134
136
|
* */
|
|
@@ -138,9 +140,6 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
138
140
|
}
|
|
139
141
|
});
|
|
140
142
|
const select = sBuilder.select;
|
|
141
|
-
// const validatedAggAliases = select
|
|
142
|
-
// .filter(s => s.type !== "joinedColumn")
|
|
143
|
-
// .map(s => s.alias);
|
|
144
143
|
const filterOpts = await _this.prepareWhere({
|
|
145
144
|
filter,
|
|
146
145
|
select,
|
|
@@ -170,6 +169,9 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
170
169
|
};
|
|
171
170
|
// console.log(resQuery);
|
|
172
171
|
// console.log(buildJoinQuery(_this, resQuery));
|
|
172
|
+
if (resQuery.select.some(s => s.type === "aggregation") && resQuery.joins?.length) {
|
|
173
|
+
throw `Root query aggregation AND nested joins not allowed`;
|
|
174
|
+
}
|
|
173
175
|
return resQuery;
|
|
174
176
|
}
|
|
175
177
|
exports.getNewQuery = getNewQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNewQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getNewQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAIlC,qDAA6I;AAC7I,2CAAyD;AACzD,iDAA2E;AAC3E,gEAA6D;AAC7D,sEAAmE;AAEnE,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,WAAW,CAAU,CAAC;AAMvD,MAAM,eAAe,GAAG,CAAC,UAA+B,EAAc,EAAE;IACtE,IAAG,CAAC,UAAU,EAAC;QACb,OAAO;YACL,KAAK,EAAE,mBAAmB;SAC3B,CAAA;KACF;IACD,IAAG,OAAO,UAAU,KAAK,QAAQ,EAAC;QAChC,IAAG,UAAU,KAAK,GAAG,EAAC;YACpB,MAAM,sCAAsC,CAAA;SAC7C;QACD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAAU;SACnB,CAAA;KACF;IACD,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,IAAA,yBAAO,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAQ,CAAC,CAAC,CAAC;IAC9F,IAAG,SAAS,CAAC,MAAM,EAAE;QACnB,OAAO;YACL,KAAK,EAAE,oEAAoE;SAC5E,CAAA;KACF;SAAM,IAAG,OAAO,EAAE;QAEjB,gFAAgF;QAChF,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;QAC9F,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAE,CAAC,QAAQ,CAAC,CAAQ,CAAC,CAAC,CAAC;QAChH,IAAG,aAAa,CAAC,MAAM,EAAE;YACvB,MAAM,uBAAuB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1D;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAwB,CAAC;QACxD,IAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC;YACrC,MAAM,4CAA4C,OAAO,EAAE,CAAA;SAC5D;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACN,GAAI,UAAiC;gBACrC,IAAI;gBACJ,KAAK,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK;aAC3D;SACF,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,UAA8B;KACvC,CAAA;AACH,CAAC,CAAA;AAEM,KAAK,UAAU,WAAW,CAC/B,KAAmB,EACnB,MAAc,EACd,eAAqD,EAAE,EACvD,aAAa,GAAG,IAAI,EACpB,UAAiC,EACjC,WAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,IAAG,WAAW,EAAE,eAAe,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;QAC7D,MAAM,2BAA2B,KAAK,CAAC,IAAI,6BAA6B,CAAC;KAC1E;IAED,MAAM,oBAAoB,GAAG,CAAC,UAAU,CAAA,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChK,MAAM,mBAAmB,GAAG,CAAC,UAAU,CAAA,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAG3H,MAAM,WAAW,GAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,GAAG,YAAY,EAC/C,QAAQ,GAAG,IAAI,gCAAiB,CAAC;QAC/B,aAAa,EAAE,mBAAmB;QAClC,oBAAoB;QACpB,cAAc,EAAE,2BAAe;QAC/B,MAAM,EAAE,KAAK,CAAC,OAAO;QACrB,SAAS,EAAE,qBAAS;QACpB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO;KACR,CAAC,CAAC;IAGL,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;QAEjF,MAAM,cAAc,GAAiB,EAAE,CAAC;QACxC,IAAI,QAAQ,GAAW,EAAE,EACrB,YAAY,GAAG,IAAI,EACnB,OAA2B,EAC3B,YAAmC,CAAC;QAExC,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAG,CAAC,UAAU,CAAC,IAAI,EAAC;YAClB,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO;SACR;QACD,MAAM,MAAM,GAAG,IAAA,6BAAa,EAAC;YAC3B,OAAO,EAAE,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;YACtE,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,IAAI;YACtB,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAA;QACF,IAAG,UAAU,CAAC,MAAM,KAAK,GAAG,EAAC;YACzB,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;YAC5B,OAAO,GAAG,MAAM,CAAC;SACpB;aAAM,IAAG,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE;YACxC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAErC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YACtC,OAAO,GAAG,MAAM,CAAC;YAEjB,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC;YACjD,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;YACnC,cAAc,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACxC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAC1C,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;SAC7C;aAAM;YACL,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAC1C,OAAO,GAAG,MAAM,CAAC;SAClB;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnH,IAAG,CAAC,MAAM,EAAE;YACV,MAAM,gBAAgB,CAAC;SACxB;QACD,MAAM,gBAAgB,GAAQ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAG,CAAC,gBAAgB,EAAE;YACpB,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6FAA6F,CAAC;SAC3I;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAG,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,EAAC;YAC5D,OAAO,GAAG,KAAK,CAAC;YAChB,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,2BAA2B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;SACvI;QAED,MAAM,sBAAsB,GAAG,OAAO,IAAI,YAAY,CAAC;QACvD,IAAG,sBAAsB,EAAC;YAExB,MAAM,SAAS,GAAa,MAAM,WAAW,CACzC,gBAAgB,EAChB,QAAQ,EACR,EAAE,GAAG,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EACrC,aAAa,EACb,YAAY,EACZ,WAAW,CACZ,CAAC;YACJ,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC;YACpC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,SAAS;gBACZ,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK;aACnD,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAA;IAEF;;;;SAIK;IACL,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC/E,IAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAC;YACpE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAChC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;QAC1C,MAAM;QACN,MAAM;QACN,YAAY,EAAE,IAAA,WAAG,EAAC,UAAU,EAAE,qBAAqB,CAAC;QACpD,YAAY,EAAE,IAAA,WAAG,EAAC,UAAU,EAAE,qBAAqB,CAAC;QACpD,UAAU,EAAE,YAAY,CAAC,KAAK;QAC9B,WAAW;QACX,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAa;QACzB,6BAA6B;QAC7B,kCAAkC;QAElC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,KAAK,EAAE,WAAW;QAClB,KAAK;QACL,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,KAAK;QACjB,uBAAuB;QACvB,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,YAAY,EAAE,IAAA,mCAAgB,EAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC;QACnH,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC;KACtD,CAAC;IAEF,yBAAyB;IACzB,gDAAgD;IAEhD,IAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAC;QAC/E,MAAM,qDAAqD,CAAC;KAC7D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA/JD,kCA+JC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { NewQuery } from "./QueryBuilder";
|
|
2
2
|
import { ViewHandler } from "../ViewHandler/ViewHandler";
|
|
3
|
+
/**
|
|
4
|
+
* Used to prevent single row nested results in case of OR join conditions
|
|
5
|
+
*/
|
|
6
|
+
export declare const ROOT_TABLE_ROW_NUM_ID: "prostgles_root_table_row_id";
|
|
7
|
+
export declare const ROOT_TABLE_ALIAS: "prostgles_root_table_alias";
|
|
3
8
|
/**
|
|
4
9
|
* Creating the text query from the NewQuery spec
|
|
5
10
|
* No validation/authorisation at this point
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"getSelectQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,eAAO,MAAM,qBAAqB,+BAAyC,CAAC;AAC5E,eAAO,MAAM,gBAAgB,8BAAwC,CAAC;AAEtE;;;KAGK;AACL,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,EACxB,CAAC,EAAE,QAAQ,EACX,KAAK,oBAAI,EACT,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CA2CR;AAGD,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,WAAW,WAAY,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,gDAAkE,eAAe,KAAQ,MAAM,EAW/J,CAAA;AAGD,eAAO,MAAM,mBAAmB,MAAO,QAAQ,WAA6B,CAAC;AAG7E,eAAO,MAAM,cAAc,MAAO,QAAQ,wBAAwB,OAAO,aAmBxE,CAAA"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRootGroupBy = exports.getTableAliasAsName = exports.indentLines = exports.getSelectQuery = void 0;
|
|
3
|
+
exports.getRootGroupBy = exports.getTableAliasAsName = exports.indentLines = exports.getSelectQuery = exports.ROOT_TABLE_ALIAS = exports.ROOT_TABLE_ROW_NUM_ID = void 0;
|
|
4
4
|
const DboBuilder_1 = require("../../DboBuilder");
|
|
5
5
|
const prostgles_types_1 = require("prostgles-types");
|
|
6
|
-
const QueryBuilder_1 = require("./QueryBuilder");
|
|
7
6
|
const getJoinQuery_1 = require("./getJoinQuery");
|
|
7
|
+
/**
|
|
8
|
+
* Used to prevent single row nested results in case of OR join conditions
|
|
9
|
+
*/
|
|
10
|
+
exports.ROOT_TABLE_ROW_NUM_ID = "prostgles_root_table_row_id";
|
|
11
|
+
exports.ROOT_TABLE_ALIAS = 'prostgles_root_table_alias';
|
|
8
12
|
/**
|
|
9
13
|
* Creating the text query from the NewQuery spec
|
|
10
14
|
* No validation/authorisation at this point
|
|
11
15
|
* */
|
|
12
16
|
function getSelectQuery(viewHandler, q, depth = 0, selectParamsGroupBy) {
|
|
13
|
-
const
|
|
14
|
-
const rootTableAlias = 'prostgles_root_table_alias';
|
|
15
|
-
const rootSelect = q.select.filter(s => s.selected).map(s => [s.getQuery(rootTableAlias), " AS ", (0, prostgles_types_1.asName)(s.alias)].join(""));
|
|
17
|
+
const rootSelect = q.select.filter(s => s.selected).map(s => [s.getQuery(exports.ROOT_TABLE_ALIAS), " AS ", (0, prostgles_types_1.asName)(s.alias)].join(""));
|
|
16
18
|
const parsedJoins = q.joins?.flatMap(q2 => {
|
|
17
19
|
const parsed = (0, getJoinQuery_1.getJoinQuery)(viewHandler, {
|
|
18
|
-
q1: { ...q, tableAlias:
|
|
20
|
+
q1: { ...q, tableAlias: exports.ROOT_TABLE_ALIAS },
|
|
19
21
|
q2: { ...q2 },
|
|
20
22
|
depth: depth + 1,
|
|
21
|
-
selectParamsGroupBy
|
|
23
|
+
selectParamsGroupBy
|
|
22
24
|
});
|
|
23
25
|
return {
|
|
24
26
|
...q2,
|
|
@@ -26,32 +28,20 @@ function getSelectQuery(viewHandler, q, depth = 0, selectParamsGroupBy) {
|
|
|
26
28
|
};
|
|
27
29
|
}) ?? [];
|
|
28
30
|
const selectItems = rootSelect.concat(parsedJoins?.map(join => {
|
|
29
|
-
const joinAlias = join
|
|
30
|
-
|
|
31
|
-
/** Used to ensure the json array object has named properties */
|
|
32
|
-
const jsonAggSelect = `SELECT x FROM (SELECT ${selectedFields}) as x`;
|
|
33
|
-
/** Used to:
|
|
34
|
-
* 1) prevent arrays with a single null element when no rows were matched
|
|
35
|
-
* 2) allow nested limit
|
|
36
|
-
* */
|
|
37
|
-
const joinAggNonNullArrayElemFilter = join.targetTableJoinFields
|
|
38
|
-
.map(f => `${(0, prostgles_types_1.asName)(joinAlias)}.${(0, getJoinQuery_1.getJoinCol)(f).alias} IS NOT NULL`)
|
|
39
|
-
.concat(join.limitFieldName ? [`${(0, QueryBuilder_1.asNameAlias)(join.limitFieldName, joinAlias)} <= ${join.limit}`] : [])
|
|
40
|
-
.join(" AND ");
|
|
41
|
-
const nestedOrderBy = join.orderByItems.length ? (0, DboBuilder_1.prepareSort)(join.orderByItems, joinAlias).join(", ") : "";
|
|
42
|
-
return (`COALESCE(json_agg((${jsonAggSelect}) ${nestedOrderBy}) FILTER (WHERE ${joinAggNonNullArrayElemFilter}), '[]'::JSON) as ${(0, prostgles_types_1.asName)(joinAlias)}`);
|
|
31
|
+
const { joinAlias } = join;
|
|
32
|
+
return `COALESCE(${(0, prostgles_types_1.asName)(joinAlias)}.${join.resultAlias}, '[]') as ${(0, prostgles_types_1.asName)(joinAlias)}`;
|
|
43
33
|
}) ?? []);
|
|
44
34
|
const query = [
|
|
45
35
|
`SELECT`,
|
|
46
36
|
...(0, exports.indentLines)(selectItems, { appendCommas: true }),
|
|
47
37
|
`FROM ( `,
|
|
48
|
-
` SELECT * `,
|
|
38
|
+
` SELECT * ${parsedJoins.length ? `, ROW_NUMBER() OVER() as ${exports.ROOT_TABLE_ROW_NUM_ID}` : ""}`,
|
|
49
39
|
` FROM ${q.table}`,
|
|
50
40
|
` ${q.where}`,
|
|
51
|
-
`) ${
|
|
41
|
+
`) ${exports.ROOT_TABLE_ALIAS}`,
|
|
52
42
|
...parsedJoins.flatMap(j => j.queryLines),
|
|
53
43
|
...(0, exports.getRootGroupBy)(q, selectParamsGroupBy),
|
|
54
|
-
...(0, DboBuilder_1.
|
|
44
|
+
...(0, DboBuilder_1.prepareOrderByQuery)(q.orderByItems),
|
|
55
45
|
...(q.having ? [`HAVING ${q.having} `] : []),
|
|
56
46
|
...(depth ? [] : [`LIMIT ${q.limit || 0}`]),
|
|
57
47
|
...(q.offset ? [`OFFSET ${q.offset || 0}`] : [])
|
|
@@ -79,14 +69,14 @@ exports.getTableAliasAsName = getTableAliasAsName;
|
|
|
79
69
|
const getRootGroupBy = (q, selectParamsGroupBy) => {
|
|
80
70
|
const aggs = q.select.filter(s => s.selected && s.type === "aggregation");
|
|
81
71
|
const nonAggs = q.select.filter(s => s.selected && s.type !== "aggregation");
|
|
82
|
-
if ((selectParamsGroupBy || aggs.length
|
|
72
|
+
if ((selectParamsGroupBy || aggs.length) && nonAggs.length) {
|
|
83
73
|
/** Add ORDER BY items not included in root select */
|
|
84
74
|
const orderByItems = [];
|
|
85
|
-
q.orderByItems.forEach(sortItem => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
});
|
|
75
|
+
// q.orderByItems.forEach(sortItem => {
|
|
76
|
+
// if (!sortItem.nested && "fieldQuery" in sortItem && !orderByItems.includes(sortItem.fieldQuery)) {
|
|
77
|
+
// orderByItems.push(sortItem.fieldQuery);
|
|
78
|
+
// }
|
|
79
|
+
// });
|
|
90
80
|
return [`GROUP BY ${q.select.map((s, i) => s.selected && s.type !== "aggregation" ? `${i + 1}` : undefined).concat(orderByItems).filter(prostgles_types_1.isDefined).join(", ")} `];
|
|
91
81
|
}
|
|
92
82
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getSelectQuery.ts"],"names":[],"mappings":";;;AACA,
|
|
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":"prepareSortItems.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareSortItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwC,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAe,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareSortItems.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareSortItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwC,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAe,MAAM,8BAA8B,CAAC;AAG9F,eAAO,MAAM,gBAAgB,eACf,OAAO,GAAG,SAAS,gBACjB,MAAM,EAAE,cACV,MAAM,GAAG,SAAS,UACtB,mBAAmB,EAAE,eAChB,YAAY,EAAE,KAC1B,QAAQ,EAyGV,CAAA"}
|
|
@@ -34,11 +34,15 @@ const prepareSortItems = (rawOrderBy, allowed_cols, tableAlias, select, joinQuer
|
|
|
34
34
|
return [];
|
|
35
35
|
const validatedAggAliases = select.filter(s => s.type !== "joinedColumn" &&
|
|
36
36
|
(!s.fields.length || s.fields.every(f => allowed_cols.includes(f)))).map(s => s.alias);
|
|
37
|
-
const sortableNestedColumns = joinQueries.flatMap(jq => jq.select.map(selectItem =>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
const sortableNestedColumns = joinQueries.flatMap(jq => jq.select.map(selectItem => {
|
|
38
|
+
const joinAlias = jq.tableAlias ?? jq.table;
|
|
39
|
+
return {
|
|
40
|
+
...jq,
|
|
41
|
+
selectItem,
|
|
42
|
+
joinAlias,
|
|
43
|
+
key: `${joinAlias}.${selectItem.alias}`
|
|
44
|
+
};
|
|
45
|
+
}));
|
|
42
46
|
const bad_param = orderBy.find(({ key }) => !sortableNestedColumns.some(v => v.key === key) &&
|
|
43
47
|
!validatedAggAliases.includes(key) &&
|
|
44
48
|
!allowed_cols.includes(key));
|
|
@@ -49,8 +53,12 @@ const prepareSortItems = (rawOrderBy, allowed_cols, tableAlias, select, joinQuer
|
|
|
49
53
|
const result = orderBy.map(({ key, asc, nulls, nullEmpty = false }) => {
|
|
50
54
|
const nestedField = sortableNestedColumns.find(f => f.key === key);
|
|
51
55
|
if (nestedField) {
|
|
52
|
-
const {
|
|
53
|
-
const
|
|
56
|
+
const { table, selectItem, joinAlias } = nestedField;
|
|
57
|
+
const comparableDataTypeCast = ["uuid", "xml"].includes(selectItem.column_udt_type ?? "") ? "::TEXT" : "";
|
|
58
|
+
if (nulls === "first") {
|
|
59
|
+
throw "Nested nulls sorting not supported";
|
|
60
|
+
}
|
|
61
|
+
const sortItemAlias = (0, dist_1.asName)(`prostgles_nested_sort_${selectItem.alias}`);
|
|
54
62
|
return {
|
|
55
63
|
key,
|
|
56
64
|
type: "query",
|
|
@@ -58,19 +66,18 @@ const prepareSortItems = (rawOrderBy, allowed_cols, tableAlias, select, joinQuer
|
|
|
58
66
|
nulls,
|
|
59
67
|
nullEmpty,
|
|
60
68
|
nested: {
|
|
61
|
-
table
|
|
62
|
-
|
|
69
|
+
table,
|
|
70
|
+
joinAlias,
|
|
71
|
+
selectItemAlias: selectItem.alias,
|
|
63
72
|
isNumeric: selectItem.tsDataType === "number",
|
|
64
|
-
|
|
73
|
+
wrapperQuerySortItem: `${asc ? "MIN" : "MAX"}(${(0, QueryBuilder_1.asNameAlias)(selectItem.alias, joinAlias)}${comparableDataTypeCast}) as ${sortItemAlias}`,
|
|
65
74
|
},
|
|
66
|
-
fieldQuery
|
|
75
|
+
fieldQuery: `${(0, dist_1.asName)(joinAlias)}.${sortItemAlias + (asc ? "" : " DESC")}`,
|
|
67
76
|
};
|
|
68
77
|
}
|
|
69
78
|
/* Order by column index when possible to bypass name collision when ordering by a computed column.
|
|
70
79
|
(Postgres will sort by existing columns wheundefined possible)
|
|
71
80
|
*/
|
|
72
|
-
// const orderType = asc ? " ASC " : " DESC ";
|
|
73
|
-
// const nullOrder = nulls ? ` NULLS ${nulls === "first" ? " FIRST " : " LAST "}` : "";
|
|
74
81
|
const index = selectedAliases.indexOf(key) + 1;
|
|
75
82
|
let colKey = (index > 0 && !nullEmpty) ? index : [tableAlias, key].filter(dist_1.isDefined).map(dist_1.asName).join(".");
|
|
76
83
|
if (nullEmpty) {
|