prostgles-server 2.0.270 → 2.0.273
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/AuthHandler.d.ts +11 -3
- package/dist/AuthHandler.d.ts.map +1 -1
- package/dist/AuthHandler.js +38 -20
- package/dist/AuthHandler.js.map +1 -1
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +4 -0
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +149 -0
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -0
- package/{lib → dist/DboBuilder/QueryBuilder}/QueryBuilder.js +4 -223
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -0
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +5 -0
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -0
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js +225 -0
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -0
- package/dist/DboBuilder/delete.d.ts.map +1 -1
- package/dist/DboBuilder/delete.js +6 -1
- package/dist/DboBuilder/delete.js.map +1 -1
- package/dist/DboBuilder.d.ts +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +3 -3
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.d.ts +4 -1
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +22 -3
- package/dist/FileManager.js.map +1 -1
- package/dist/Filtering.d.ts +1 -1
- package/dist/Filtering.d.ts.map +1 -1
- package/dist/Prostgles.d.ts +11 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +2 -0
- package/dist/Prostgles.js.map +1 -1
- package/dist/TableConfig.d.ts +4 -1
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +8 -6
- package/dist/TableConfig.js.map +1 -1
- package/dist/validation.js +1 -2
- package/dist/validation.js.map +1 -1
- package/lib/AuthHandler.d.ts +11 -3
- package/lib/AuthHandler.d.ts.map +1 -1
- package/lib/AuthHandler.js +38 -20
- package/lib/AuthHandler.ts +47 -21
- package/lib/DBSchemaBuilder.d.ts.map +1 -1
- package/lib/DBSchemaBuilder.js +4 -0
- package/lib/DBSchemaBuilder.ts +2 -0
- package/lib/{QueryBuilder.d.ts → DboBuilder/QueryBuilder/QueryBuilder.d.ts} +2 -3
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -0
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +1160 -0
- package/lib/{QueryBuilder.ts → DboBuilder/QueryBuilder/QueryBuilder.ts} +3 -282
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +5 -0
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -0
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +224 -0
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +284 -0
- package/lib/DboBuilder/delete.d.ts.map +1 -1
- package/lib/DboBuilder/delete.js +6 -1
- package/lib/DboBuilder/delete.ts +6 -1
- package/lib/DboBuilder.d.ts +1 -1
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +3 -3
- package/lib/DboBuilder.ts +3 -3
- package/lib/FileManager.d.ts +4 -1
- package/lib/FileManager.d.ts.map +1 -1
- package/lib/FileManager.js +22 -3
- package/lib/FileManager.ts +26 -4
- package/lib/Filtering.d.ts +1 -1
- package/lib/Filtering.d.ts.map +1 -1
- package/lib/Filtering.ts +1 -1
- package/lib/Prostgles.d.ts +11 -1
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +2 -0
- package/lib/Prostgles.ts +14 -3
- package/lib/TableConfig.d.ts +4 -1
- package/lib/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig.js +8 -6
- package/lib/TableConfig.ts +11 -6
- package/lib/validation.js +1 -2
- package/lib/validation.ts +2 -2
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
- package/lib/QueryBuilder.d.ts.map +0 -1
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
const DboBuilder_1 = require("
|
|
7
|
+
exports.getNewQuery = exports.SelectItemBuilder = exports.COMPUTED_FIELDS = exports.FUNCTIONS = exports.parseFunction = exports.parseFunctionObject = exports.asNameAlias = void 0;
|
|
8
|
+
const DboBuilder_1 = require("../../DboBuilder");
|
|
9
9
|
const prostgles_types_1 = require("prostgles-types");
|
|
10
|
-
const utils_1 = require("
|
|
10
|
+
const utils_1 = require("../../utils");
|
|
11
11
|
const asNameAlias = (field, tableAlias) => {
|
|
12
12
|
let result = (0, prostgles_types_1.asName)(field);
|
|
13
13
|
if (tableAlias)
|
|
@@ -1158,223 +1158,4 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
1158
1158
|
return resQuery;
|
|
1159
1159
|
}
|
|
1160
1160
|
exports.getNewQuery = getNewQuery;
|
|
1161
|
-
|
|
1162
|
-
function makeQuery(_this, q, depth = 0, joinFields = [], selectParams = {}) {
|
|
1163
|
-
const PREF = `prostgles`, joins = q.joins || [],
|
|
1164
|
-
// aggs = q.aggs || [],
|
|
1165
|
-
makePref = (q) => !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`, makePrefANON = (joinAlias, table) => (0, prostgles_types_1.asName)(!joinAlias ? table : `${joinAlias || ""}_${table}`), makePrefAN = (q) => (0, prostgles_types_1.asName)(makePref(q));
|
|
1166
|
-
const indentLine = (numInd, str, indentStr = " ") => new Array(numInd).fill(indentStr).join("") + str;
|
|
1167
|
-
const indStr = (numInd, str) => str.split("\n").map(s => indentLine(numInd, s)).join("\n");
|
|
1168
|
-
const indjArr = (numInd, strArr, indentStr = " ") => strArr.map(str => indentLine(numInd, str));
|
|
1169
|
-
const indJ = (numInd, strArr, separator = " \n ", indentStr = " ") => indjArr(numInd, strArr, indentStr).join(separator);
|
|
1170
|
-
const selectArrComma = (strArr) => strArr.map((s, i, arr) => s + (i < arr.length - 1 ? " , " : " "));
|
|
1171
|
-
const prefJCAN = (q, str) => (0, prostgles_types_1.asName)(`${q.tableAlias || q.table}_${PREF}_${str}`);
|
|
1172
|
-
// const indent = (a, b) => a;
|
|
1173
|
-
const joinTables = (q1, q2) => {
|
|
1174
|
-
const joinInfo = _this.getJoins(q1.table, q2.table, q2.$path, true);
|
|
1175
|
-
const paths = joinInfo.paths;
|
|
1176
|
-
return paths.flatMap(({ table, on }, i) => {
|
|
1177
|
-
const getColName = (col, q) => {
|
|
1178
|
-
if (table === q.table) {
|
|
1179
|
-
const colFromSelect = q.select.find(s => s.getQuery() === (0, prostgles_types_1.asName)(col));
|
|
1180
|
-
if (!colFromSelect) {
|
|
1181
|
-
console.error(`${col} column might be missing in user publish `);
|
|
1182
|
-
throw `Could not find join column (${col}) in allowe select. Some join tables and columns might be invalid/dissallowed`;
|
|
1183
|
-
}
|
|
1184
|
-
return colFromSelect.alias;
|
|
1185
|
-
}
|
|
1186
|
-
return col;
|
|
1187
|
-
};
|
|
1188
|
-
const getPrevColName = (col) => {
|
|
1189
|
-
return getColName(col, q1);
|
|
1190
|
-
};
|
|
1191
|
-
const getThisColName = (col) => {
|
|
1192
|
-
return getColName(col, q2);
|
|
1193
|
-
};
|
|
1194
|
-
// console.log(JSON.stringify({i, table, on, q1, q2}, null, 2));
|
|
1195
|
-
const prevTable = i === 0 ? q1.table : (paths[i - 1].table);
|
|
1196
|
-
const thisAlias = makePrefANON(q2.tableAlias, table);
|
|
1197
|
-
// const prevAlias = i === 0? makePrefAN(q1) : thisAlias;
|
|
1198
|
-
const prevAlias = i === 0 ? makePrefAN(q1) : makePrefANON(q2.tableAlias, prevTable);
|
|
1199
|
-
// If root then prev table is aliased from root query. Alias from join otherwise
|
|
1200
|
-
let iQ = [
|
|
1201
|
-
(0, prostgles_types_1.asName)(table) + ` ${thisAlias}`
|
|
1202
|
-
];
|
|
1203
|
-
/* If target table then add filters, options, etc */
|
|
1204
|
-
if (i === paths.length - 1) {
|
|
1205
|
-
// const targetSelect = (
|
|
1206
|
-
// q2.select.concat(
|
|
1207
|
-
// (q2.joins || []).map(j => j.tableAlias || j.table)
|
|
1208
|
-
// ).concat(
|
|
1209
|
-
// /* Rename aggs to avoid collision with join cols */
|
|
1210
|
-
// (q2.aggs || []).map(a => asName(`agg_${a.alias}`) + " AS " + asName(a.alias)) || [])
|
|
1211
|
-
// ).filter(s => s).join(", ");
|
|
1212
|
-
const targetSelect = q2.select.filter(s => s.selected).map(s => {
|
|
1213
|
-
/* Rename aggs to avoid collision with join cols */
|
|
1214
|
-
if (s.type === "aggregation")
|
|
1215
|
-
return (0, prostgles_types_1.asName)(`agg_${s.alias}`) + " AS " + (0, prostgles_types_1.asName)(s.alias);
|
|
1216
|
-
return (0, prostgles_types_1.asName)(s.alias);
|
|
1217
|
-
}).concat(q2.joins?.map(j => (0, prostgles_types_1.asName)(j.table)) ?? []).join(", ");
|
|
1218
|
-
const _iiQ = makeQuery(_this, q2, depth + 1,
|
|
1219
|
-
// on.map(([c1, c2]) => asName(c2)),
|
|
1220
|
-
on.flatMap(cond => cond.map(([c1, c2]) => (0, prostgles_types_1.asName)(c2))), selectParams);
|
|
1221
|
-
// const iiQ = flat(_iiQ.split("\n")); // prettify for debugging
|
|
1222
|
-
// console.log(_iiQ)
|
|
1223
|
-
const iiQ = [_iiQ];
|
|
1224
|
-
iQ = [
|
|
1225
|
-
"(",
|
|
1226
|
-
...indjArr(depth + 1, [
|
|
1227
|
-
`-- 4. [target table] `,
|
|
1228
|
-
`SELECT *,`,
|
|
1229
|
-
`row_number() over() as ${prefJCAN(q2, `rowid_sorted`)},`,
|
|
1230
|
-
`row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${prefJCAN(q2, `json`)}`,
|
|
1231
|
-
`FROM (`,
|
|
1232
|
-
...iiQ,
|
|
1233
|
-
`) ${(0, prostgles_types_1.asName)(q2.table)} `
|
|
1234
|
-
]),
|
|
1235
|
-
`) ${thisAlias}`
|
|
1236
|
-
];
|
|
1237
|
-
}
|
|
1238
|
-
const getJoinCondition = (t1Alias, t2Alias, on) => {
|
|
1239
|
-
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 ");
|
|
1240
|
-
};
|
|
1241
|
-
let jres = [
|
|
1242
|
-
`${q2.isLeftJoin ? "LEFT" : "INNER"} JOIN `,
|
|
1243
|
-
...iQ,
|
|
1244
|
-
`ON ${getJoinCondition(prevAlias, thisAlias, on)}`
|
|
1245
|
-
];
|
|
1246
|
-
return jres;
|
|
1247
|
-
});
|
|
1248
|
-
};
|
|
1249
|
-
const getGroupBy = (rootSelectItems, groupByItems) => {
|
|
1250
|
-
if (groupByItems.length) {
|
|
1251
|
-
/** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
|
|
1252
|
-
return `GROUP BY ` + groupByItems.map(gi => {
|
|
1253
|
-
const idx = rootSelectItems.findIndex(si => si.alias === gi.alias);
|
|
1254
|
-
if (idx < 0)
|
|
1255
|
-
throw `Could not find GROUP BY column ${gi.alias} in ROOT SELECT ${rootSelectItems.map(s => s.alias)}`;
|
|
1256
|
-
return idx + 1;
|
|
1257
|
-
}).join(", ");
|
|
1258
|
-
}
|
|
1259
|
-
return "";
|
|
1260
|
-
};
|
|
1261
|
-
/* Leaf query -> no joins -> return simple query */
|
|
1262
|
-
const aggs = q.select.filter(s => s.type === "aggregation");
|
|
1263
|
-
const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
|
|
1264
|
-
if (!joins.length) {
|
|
1265
|
-
/* Nested queries contain all fields to allow joining */
|
|
1266
|
-
let groupBy = "";
|
|
1267
|
-
const rootSelectItems = q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected);
|
|
1268
|
-
/* If aggs exist need to set groupBy add joinFields into select */
|
|
1269
|
-
if (aggs.length || selectParams?.groupBy) {
|
|
1270
|
-
// const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
|
|
1271
|
-
// if(depth && missingFields.length){
|
|
1272
|
-
// // select = Array.from(new Set(missingFields.concat(select)));
|
|
1273
|
-
// }
|
|
1274
|
-
if (nonAggs.length) {
|
|
1275
|
-
let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
|
|
1276
|
-
groupBy = getGroupBy(rootSelectItems, groupByFields);
|
|
1277
|
-
// if(groupByFields.length){
|
|
1278
|
-
// groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
|
|
1279
|
-
// }
|
|
1280
|
-
}
|
|
1281
|
-
}
|
|
1282
|
-
// console.log(q.select, joinFields)
|
|
1283
|
-
let simpleQuery = indJ(depth, [
|
|
1284
|
-
`-- 0. or 5. [leaf query] `
|
|
1285
|
-
/* Group by selected fields + any join fields */
|
|
1286
|
-
,
|
|
1287
|
-
`SELECT ` + rootSelectItems.map(s => {
|
|
1288
|
-
// return s.getQuery() + ((s.type !== "column")? (" AS " + s.alias) : "")
|
|
1289
|
-
if (s.type === "aggregation") {
|
|
1290
|
-
/* Rename aggs to avoid collision with join cols */
|
|
1291
|
-
return s.getQuery() + " AS " + (0, prostgles_types_1.asName)((depth ? "agg_" : "") + s.alias);
|
|
1292
|
-
}
|
|
1293
|
-
return s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias);
|
|
1294
|
-
}).join(", "),
|
|
1295
|
-
`FROM ${(0, prostgles_types_1.asName)(q.table)} `,
|
|
1296
|
-
q.where,
|
|
1297
|
-
groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
|
|
1298
|
-
,
|
|
1299
|
-
q.having ? `HAVING ${q.having}` : "",
|
|
1300
|
-
q.orderBy.join(", "),
|
|
1301
|
-
!depth ? `LIMIT ${q.limit} ` : null,
|
|
1302
|
-
!depth ? `OFFSET ${q.offset || 0} ` : null
|
|
1303
|
-
].filter(v => v && (v + "").trim().length));
|
|
1304
|
-
// console.log(fres);
|
|
1305
|
-
return simpleQuery;
|
|
1306
|
-
}
|
|
1307
|
-
else {
|
|
1308
|
-
// if(q.aggs && q.aggs && q.aggs.length) throw "Cannot join an aggregate";
|
|
1309
|
-
if (q.select.find(s => s.type === "aggregation") &&
|
|
1310
|
-
joins.find(j => j.select.find(s => s.type === "aggregation")))
|
|
1311
|
-
throw "Cannot join two aggregates";
|
|
1312
|
-
}
|
|
1313
|
-
if (joins && joins.length && (aggs.length || selectParams.groupBy))
|
|
1314
|
-
throw "Joins within Aggs dissallowed";
|
|
1315
|
-
// if(q.selectFuncs.length) throw "Functions within select not allowed in joins yet. -> " + q.selectFuncs.map(s => s.alias).join(", ");
|
|
1316
|
-
const rootSelectItems = q.select.filter(s => depth || s.selected);
|
|
1317
|
-
let rootGroupBy;
|
|
1318
|
-
if ((selectParams.groupBy || aggs.length || q.joins && q.joins.length) && nonAggs.length) {
|
|
1319
|
-
// console.log({ aggs, nonAggs, joins: q.joins })
|
|
1320
|
-
// rootGroupBy = getGroupBy(rootSelectItems, depth? rootSelectItems : nonAggs) + (aggs?.length? "" : ", ctid")
|
|
1321
|
-
rootGroupBy = `GROUP BY ${(depth ?
|
|
1322
|
-
q.allFields.map(f => (0, prostgles_types_1.asName)(f)) :
|
|
1323
|
-
nonAggs.map(s => s.type === "function" ? s.getQuery() : (0, prostgles_types_1.asName)(s.alias))).concat((aggs && aggs.length) ?
|
|
1324
|
-
[] :
|
|
1325
|
-
[`ctid`]).filter(s => s).join(", ")} `;
|
|
1326
|
-
}
|
|
1327
|
-
/* Joined query */
|
|
1328
|
-
const joinedQuery = [
|
|
1329
|
-
" \n",
|
|
1330
|
-
`-- 0. [joined root] `,
|
|
1331
|
-
"SELECT ",
|
|
1332
|
-
...selectArrComma(rootSelectItems.map(s => s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias)).concat(joins.map((j, i) => {
|
|
1333
|
-
/** Apply LIMIT to joined items */
|
|
1334
|
-
const jsq = `json_agg(${prefJCAN(j, `json`)}::jsonb ORDER BY ${prefJCAN(j, `rowid_sorted`)}) FILTER (WHERE ${prefJCAN(j, `limit`)} <= ${j.limit} AND ${prefJCAN(j, `dupes_rowid`)} = 1 AND ${prefJCAN(j, `json`)} IS NOT NULL)`;
|
|
1335
|
-
const resAlias = (0, prostgles_types_1.asName)(j.tableAlias || j.table);
|
|
1336
|
-
// If limit = 1 then return a single json object (first one)
|
|
1337
|
-
return (j.limit === 1 ? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
1338
|
-
}))),
|
|
1339
|
-
`FROM ( `,
|
|
1340
|
-
...indjArr(depth + 1, [
|
|
1341
|
-
"-- 1. [subquery limit + dupes] ",
|
|
1342
|
-
"SELECT ",
|
|
1343
|
-
...selectArrComma([`t1.*`].concat(joins.map((j, i) => {
|
|
1344
|
-
return `row_number() over(partition by ${prefJCAN(j, `dupes_rowid`)}, ` +
|
|
1345
|
-
`ctid order by ${prefJCAN(j, `rowid_sorted`)}) AS ${prefJCAN(j, `limit`)} `;
|
|
1346
|
-
}))),
|
|
1347
|
-
`FROM ( ----------- ${makePrefAN(q)}`,
|
|
1348
|
-
...indjArr(depth + 1, [
|
|
1349
|
-
"-- 2. [source full select + ctid to group by] ",
|
|
1350
|
-
"SELECT ",
|
|
1351
|
-
...selectArrComma(q.allFields.concat(["ctid"])
|
|
1352
|
-
.map(field => `${makePrefAN(q)}.${(0, prostgles_types_1.asName)(field)} `)
|
|
1353
|
-
.concat(joins.map((j, i) => makePrefAN(j) + "." + prefJCAN(j, `json`) + ", " + makePrefAN(j) + "." + prefJCAN(j, `rowid_sorted`)).concat(joins.map(j => `row_number() over(partition by ${makePrefAN(j)}.${prefJCAN(j, `rowid_sorted`)}, ${makePrefAN(q)}.ctid ) AS ${prefJCAN(j, `dupes_rowid`)}`)))),
|
|
1354
|
-
`FROM ( `,
|
|
1355
|
-
...indjArr(depth + 1, [
|
|
1356
|
-
"-- 3. [source table] ",
|
|
1357
|
-
"SELECT ",
|
|
1358
|
-
"*, row_number() over() as ctid ",
|
|
1359
|
-
`FROM ${(0, prostgles_types_1.asName)(q.table)} `,
|
|
1360
|
-
`${q.where} `
|
|
1361
|
-
]),
|
|
1362
|
-
`) ${makePrefAN(q)} `,
|
|
1363
|
-
...joins.flatMap((j, i) => joinTables(q, j))
|
|
1364
|
-
]),
|
|
1365
|
-
") t1"
|
|
1366
|
-
]),
|
|
1367
|
-
") t0",
|
|
1368
|
-
rootGroupBy,
|
|
1369
|
-
q.having ? `HAVING ${q.having} ` : "",
|
|
1370
|
-
q.orderBy,
|
|
1371
|
-
depth ? null : `LIMIT ${q.limit || 0} OFFSET ${q.offset || 0}`,
|
|
1372
|
-
"-- EOF 0. joined root",
|
|
1373
|
-
" \n"
|
|
1374
|
-
].filter(v => v);
|
|
1375
|
-
let res = indJ(depth, joinedQuery);
|
|
1376
|
-
// res = indent(res, depth);
|
|
1377
|
-
// console.log(res);
|
|
1378
|
-
return res;
|
|
1379
|
-
}
|
|
1380
|
-
exports.makeQuery = makeQuery;
|
|
1161
|
+
//# sourceMappingURL=QueryBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TableHandler } from "../../DboBuilder";
|
|
2
|
+
import { SelectParams } from "prostgles-types";
|
|
3
|
+
import { NewQuery } from "./QueryBuilder";
|
|
4
|
+
export declare function makeSelectQuery(_this: TableHandler, q: NewQuery, depth?: number, joinFields?: string[], selectParams?: SelectParams): string;
|
|
5
|
+
//# sourceMappingURL=makeSelectQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeSelectQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/makeSelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,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,CA+QR"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeSelectQuery = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
/* No validation/authorisation at this point */
|
|
6
|
+
function makeSelectQuery(_this, q, depth = 0, joinFields = [], selectParams = {}) {
|
|
7
|
+
const PREF = `prostgles`, joins = q.joins || [],
|
|
8
|
+
// aggs = q.aggs || [],
|
|
9
|
+
makePref = (q) => !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`, makePrefANON = (joinAlias, table) => (0, prostgles_types_1.asName)(!joinAlias ? table : `${joinAlias || ""}_${table}`), makePrefAN = (q) => (0, prostgles_types_1.asName)(makePref(q));
|
|
10
|
+
const indentLine = (numInd, str, indentStr = " ") => new Array(numInd).fill(indentStr).join("") + str;
|
|
11
|
+
const indStr = (numInd, str) => str.split("\n").map(s => indentLine(numInd, s)).join("\n");
|
|
12
|
+
const indjArr = (numInd, strArr, indentStr = " ") => strArr.map(str => indentLine(numInd, str));
|
|
13
|
+
const indJ = (numInd, strArr, separator = " \n ", indentStr = " ") => indjArr(numInd, strArr, indentStr).join(separator);
|
|
14
|
+
const selectArrComma = (strArr) => strArr.map((s, i, arr) => s + (i < arr.length - 1 ? " , " : " "));
|
|
15
|
+
const prefJCAN = (q, str) => (0, prostgles_types_1.asName)(`${q.tableAlias || q.table}_${PREF}_${str}`);
|
|
16
|
+
// const indent = (a, b) => a;
|
|
17
|
+
const joinTables = (q1, q2) => {
|
|
18
|
+
const joinInfo = _this.getJoins(q1.table, q2.table, q2.$path, true);
|
|
19
|
+
const paths = joinInfo.paths;
|
|
20
|
+
return paths.flatMap(({ table, on }, i) => {
|
|
21
|
+
const getColName = (col, q) => {
|
|
22
|
+
if (table === q.table) {
|
|
23
|
+
const colFromSelect = q.select.find(s => s.getQuery() === (0, prostgles_types_1.asName)(col));
|
|
24
|
+
if (!colFromSelect) {
|
|
25
|
+
console.error(`${col} column might be missing in user publish `);
|
|
26
|
+
throw `Could not find join column (${col}) in allowe select. Some join tables and columns might be invalid/dissallowed`;
|
|
27
|
+
}
|
|
28
|
+
return colFromSelect.alias;
|
|
29
|
+
}
|
|
30
|
+
return col;
|
|
31
|
+
};
|
|
32
|
+
const getPrevColName = (col) => {
|
|
33
|
+
return getColName(col, q1);
|
|
34
|
+
};
|
|
35
|
+
const getThisColName = (col) => {
|
|
36
|
+
return getColName(col, q2);
|
|
37
|
+
};
|
|
38
|
+
// console.log(JSON.stringify({i, table, on, q1, q2}, null, 2));
|
|
39
|
+
const prevTable = i === 0 ? q1.table : (paths[i - 1].table);
|
|
40
|
+
const thisAlias = makePrefANON(q2.tableAlias, table);
|
|
41
|
+
// const prevAlias = i === 0? makePrefAN(q1) : thisAlias;
|
|
42
|
+
const prevAlias = i === 0 ? makePrefAN(q1) : makePrefANON(q2.tableAlias, prevTable);
|
|
43
|
+
// If root then prev table is aliased from root query. Alias from join otherwise
|
|
44
|
+
let iQ = [
|
|
45
|
+
(0, prostgles_types_1.asName)(table) + ` ${thisAlias}`
|
|
46
|
+
];
|
|
47
|
+
/* If target table then add filters, options, etc */
|
|
48
|
+
if (i === paths.length - 1) {
|
|
49
|
+
// const targetSelect = (
|
|
50
|
+
// q2.select.concat(
|
|
51
|
+
// (q2.joins || []).map(j => j.tableAlias || j.table)
|
|
52
|
+
// ).concat(
|
|
53
|
+
// /* Rename aggs to avoid collision with join cols */
|
|
54
|
+
// (q2.aggs || []).map(a => asName(`agg_${a.alias}`) + " AS " + asName(a.alias)) || [])
|
|
55
|
+
// ).filter(s => s).join(", ");
|
|
56
|
+
const targetSelect = q2.select.filter(s => s.selected).map(s => {
|
|
57
|
+
/* Rename aggs to avoid collision with join cols */
|
|
58
|
+
if (s.type === "aggregation")
|
|
59
|
+
return (0, prostgles_types_1.asName)(`agg_${s.alias}`) + " AS " + (0, prostgles_types_1.asName)(s.alias);
|
|
60
|
+
return (0, prostgles_types_1.asName)(s.alias);
|
|
61
|
+
}).concat(q2.joins?.map(j => (0, prostgles_types_1.asName)(j.table)) ?? []).join(", ");
|
|
62
|
+
const _iiQ = makeSelectQuery(_this, q2, depth + 1,
|
|
63
|
+
// on.map(([c1, c2]) => asName(c2)),
|
|
64
|
+
on.flatMap(cond => cond.map(([c1, c2]) => (0, prostgles_types_1.asName)(c2))), selectParams);
|
|
65
|
+
// const iiQ = flat(_iiQ.split("\n")); // prettify for debugging
|
|
66
|
+
// console.log(_iiQ)
|
|
67
|
+
const iiQ = [_iiQ];
|
|
68
|
+
iQ = [
|
|
69
|
+
"(",
|
|
70
|
+
...indjArr(depth + 1, [
|
|
71
|
+
`-- 4. [target table] `,
|
|
72
|
+
`SELECT *,`,
|
|
73
|
+
`row_number() over() as ${prefJCAN(q2, `rowid_sorted`)},`,
|
|
74
|
+
`row_to_json((select x from (SELECT ${targetSelect}) as x)) AS ${prefJCAN(q2, `json`)}`,
|
|
75
|
+
`FROM (`,
|
|
76
|
+
...iiQ,
|
|
77
|
+
`) ${(0, prostgles_types_1.asName)(q2.table)} `
|
|
78
|
+
]),
|
|
79
|
+
`) ${thisAlias}`
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
const getJoinCondition = (t1Alias, t2Alias, on) => {
|
|
83
|
+
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 ");
|
|
84
|
+
};
|
|
85
|
+
let jres = [
|
|
86
|
+
`${q2.isLeftJoin ? "LEFT" : "INNER"} JOIN `,
|
|
87
|
+
...iQ,
|
|
88
|
+
`ON ${getJoinCondition(prevAlias, thisAlias, on)}`
|
|
89
|
+
];
|
|
90
|
+
return jres;
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
const getGroupBy = (rootSelectItems, groupByItems) => {
|
|
94
|
+
if (groupByItems.length) {
|
|
95
|
+
/** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
|
|
96
|
+
return `GROUP BY ` + groupByItems.map(gi => {
|
|
97
|
+
const idx = rootSelectItems.findIndex(si => si.alias === gi.alias);
|
|
98
|
+
if (idx < 0)
|
|
99
|
+
throw `Could not find GROUP BY column ${gi.alias} in ROOT SELECT ${rootSelectItems.map(s => s.alias)}`;
|
|
100
|
+
return idx + 1;
|
|
101
|
+
}).join(", ");
|
|
102
|
+
}
|
|
103
|
+
return "";
|
|
104
|
+
};
|
|
105
|
+
/* Leaf query -> no joins -> return simple query */
|
|
106
|
+
const aggs = q.select.filter(s => s.type === "aggregation");
|
|
107
|
+
const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
|
|
108
|
+
if (!joins.length) {
|
|
109
|
+
/* Nested queries contain all fields to allow joining */
|
|
110
|
+
let groupBy = "";
|
|
111
|
+
const rootSelectItems = q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected);
|
|
112
|
+
/* If aggs exist need to set groupBy add joinFields into select */
|
|
113
|
+
if (aggs.length || selectParams?.groupBy) {
|
|
114
|
+
// const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
|
|
115
|
+
// if(depth && missingFields.length){
|
|
116
|
+
// // select = Array.from(new Set(missingFields.concat(select)));
|
|
117
|
+
// }
|
|
118
|
+
if (nonAggs.length) {
|
|
119
|
+
let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
|
|
120
|
+
groupBy = getGroupBy(rootSelectItems, groupByFields);
|
|
121
|
+
// if(groupByFields.length){
|
|
122
|
+
// groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
|
|
123
|
+
// }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// console.log(q.select, joinFields)
|
|
127
|
+
let simpleQuery = indJ(depth, [
|
|
128
|
+
`-- 0. or 5. [leaf query] `
|
|
129
|
+
/* Group by selected fields + any join fields */
|
|
130
|
+
,
|
|
131
|
+
`SELECT ` + rootSelectItems.map(s => {
|
|
132
|
+
// return s.getQuery() + ((s.type !== "column")? (" AS " + s.alias) : "")
|
|
133
|
+
if (s.type === "aggregation") {
|
|
134
|
+
/* Rename aggs to avoid collision with join cols */
|
|
135
|
+
return s.getQuery() + " AS " + (0, prostgles_types_1.asName)((depth ? "agg_" : "") + s.alias);
|
|
136
|
+
}
|
|
137
|
+
return s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias);
|
|
138
|
+
}).join(", "),
|
|
139
|
+
`FROM ${(0, prostgles_types_1.asName)(q.table)} `,
|
|
140
|
+
q.where,
|
|
141
|
+
groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
|
|
142
|
+
,
|
|
143
|
+
q.having ? `HAVING ${q.having}` : "",
|
|
144
|
+
q.orderBy.join(", "),
|
|
145
|
+
!depth ? `LIMIT ${q.limit} ` : null,
|
|
146
|
+
!depth ? `OFFSET ${q.offset || 0} ` : null
|
|
147
|
+
].filter(v => v && (v + "").trim().length));
|
|
148
|
+
// console.log(fres);
|
|
149
|
+
return simpleQuery;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// if(q.aggs && q.aggs && q.aggs.length) throw "Cannot join an aggregate";
|
|
153
|
+
if (q.select.find(s => s.type === "aggregation") &&
|
|
154
|
+
joins.find(j => j.select.find(s => s.type === "aggregation")))
|
|
155
|
+
throw "Cannot join two aggregates";
|
|
156
|
+
}
|
|
157
|
+
if (joins && joins.length && (aggs.length || selectParams.groupBy))
|
|
158
|
+
throw "Joins within Aggs dissallowed";
|
|
159
|
+
// if(q.selectFuncs.length) throw "Functions within select not allowed in joins yet. -> " + q.selectFuncs.map(s => s.alias).join(", ");
|
|
160
|
+
const rootSelectItems = q.select.filter(s => depth || s.selected);
|
|
161
|
+
let rootGroupBy;
|
|
162
|
+
if ((selectParams.groupBy || aggs.length || q.joins && q.joins.length) && nonAggs.length) {
|
|
163
|
+
// console.log({ aggs, nonAggs, joins: q.joins })
|
|
164
|
+
// rootGroupBy = getGroupBy(rootSelectItems, depth? rootSelectItems : nonAggs) + (aggs?.length? "" : ", ctid")
|
|
165
|
+
rootGroupBy = `GROUP BY ${(depth ?
|
|
166
|
+
q.allFields.map(f => (0, prostgles_types_1.asName)(f)) :
|
|
167
|
+
nonAggs.map(s => s.type === "function" ? s.getQuery() : (0, prostgles_types_1.asName)(s.alias))).concat((aggs && aggs.length) ?
|
|
168
|
+
[] :
|
|
169
|
+
[`ctid`]).filter(s => s).join(", ")} `;
|
|
170
|
+
}
|
|
171
|
+
/* Joined query */
|
|
172
|
+
const joinedQuery = [
|
|
173
|
+
" \n",
|
|
174
|
+
`-- 0. [joined root] `,
|
|
175
|
+
"SELECT ",
|
|
176
|
+
...selectArrComma(rootSelectItems.map(s => s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias)).concat(joins.map((j, i) => {
|
|
177
|
+
/** Apply LIMIT to joined items */
|
|
178
|
+
const jsq = `json_agg(${prefJCAN(j, `json`)}::jsonb ORDER BY ${prefJCAN(j, `rowid_sorted`)}) FILTER (WHERE ${prefJCAN(j, `limit`)} <= ${j.limit} AND ${prefJCAN(j, `dupes_rowid`)} = 1 AND ${prefJCAN(j, `json`)} IS NOT NULL)`;
|
|
179
|
+
const resAlias = (0, prostgles_types_1.asName)(j.tableAlias || j.table);
|
|
180
|
+
// If limit = 1 then return a single json object (first one)
|
|
181
|
+
return (j.limit === 1 ? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
|
|
182
|
+
}))),
|
|
183
|
+
`FROM ( `,
|
|
184
|
+
...indjArr(depth + 1, [
|
|
185
|
+
"-- 1. [subquery limit + dupes] ",
|
|
186
|
+
"SELECT ",
|
|
187
|
+
...selectArrComma([`t1.*`].concat(joins.map((j, i) => {
|
|
188
|
+
return `row_number() over(partition by ${prefJCAN(j, `dupes_rowid`)}, ` +
|
|
189
|
+
`ctid order by ${prefJCAN(j, `rowid_sorted`)}) AS ${prefJCAN(j, `limit`)} `;
|
|
190
|
+
}))),
|
|
191
|
+
`FROM ( ----------- ${makePrefAN(q)}`,
|
|
192
|
+
...indjArr(depth + 1, [
|
|
193
|
+
"-- 2. [source full select + ctid to group by] ",
|
|
194
|
+
"SELECT ",
|
|
195
|
+
...selectArrComma(q.allFields.concat(["ctid"])
|
|
196
|
+
.map(field => `${makePrefAN(q)}.${(0, prostgles_types_1.asName)(field)} `)
|
|
197
|
+
.concat(joins.map((j, i) => makePrefAN(j) + "." + prefJCAN(j, `json`) + ", " + makePrefAN(j) + "." + prefJCAN(j, `rowid_sorted`)).concat(joins.map(j => `row_number() over(partition by ${makePrefAN(j)}.${prefJCAN(j, `rowid_sorted`)}, ${makePrefAN(q)}.ctid ) AS ${prefJCAN(j, `dupes_rowid`)}`)))),
|
|
198
|
+
`FROM ( `,
|
|
199
|
+
...indjArr(depth + 1, [
|
|
200
|
+
"-- 3. [source table] ",
|
|
201
|
+
"SELECT ",
|
|
202
|
+
"*, row_number() over() as ctid ",
|
|
203
|
+
`FROM ${(0, prostgles_types_1.asName)(q.table)} `,
|
|
204
|
+
`${q.where} `
|
|
205
|
+
]),
|
|
206
|
+
`) ${makePrefAN(q)} `,
|
|
207
|
+
...joins.flatMap((j, i) => joinTables(q, j))
|
|
208
|
+
]),
|
|
209
|
+
") t1"
|
|
210
|
+
]),
|
|
211
|
+
") t0",
|
|
212
|
+
rootGroupBy,
|
|
213
|
+
q.having ? `HAVING ${q.having} ` : "",
|
|
214
|
+
q.orderBy,
|
|
215
|
+
depth ? null : `LIMIT ${q.limit || 0} OFFSET ${q.offset || 0}`,
|
|
216
|
+
"-- EOF 0. joined root",
|
|
217
|
+
" \n"
|
|
218
|
+
].filter(v => v);
|
|
219
|
+
let res = indJ(depth, joinedQuery);
|
|
220
|
+
// res = indent(res, depth);
|
|
221
|
+
// console.log(res);
|
|
222
|
+
return res;
|
|
223
|
+
}
|
|
224
|
+
exports.makeSelectQuery = makeSelectQuery;
|
|
225
|
+
//# sourceMappingURL=makeSelectQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeSelectQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/makeSelectQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGzD,wBAAsB,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGzD,wBAAsB,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA6HrL"}
|
|
@@ -76,7 +76,12 @@ async function _delete(filter, params, param3_unused, table_rules, localParams)
|
|
|
76
76
|
const txDelete = async (tbl) => {
|
|
77
77
|
if (!tbl.t)
|
|
78
78
|
throw new Error("Missing transaction object t");
|
|
79
|
-
|
|
79
|
+
let files = [];
|
|
80
|
+
const totalFiles = await tbl.count(filterOpts.filter);
|
|
81
|
+
do {
|
|
82
|
+
const batch = await tbl.find(filterOpts.filter, { limit: 100, offset: files.length });
|
|
83
|
+
files = files.concat(batch);
|
|
84
|
+
} while (files.length < totalFiles);
|
|
80
85
|
const fileManager = tbl.dboBuilder.prostgles.fileManager;
|
|
81
86
|
if (!fileManager)
|
|
82
87
|
throw new Error("fileManager missing");
|