prostgles-server 2.0.270 → 2.0.271

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.
Files changed (51) hide show
  1. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  2. package/dist/DBSchemaBuilder.js +4 -0
  3. package/dist/DBSchemaBuilder.js.map +1 -1
  4. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +149 -0
  5. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -0
  6. package/{lib → dist/DboBuilder/QueryBuilder}/QueryBuilder.js +4 -223
  7. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -0
  8. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +5 -0
  9. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -0
  10. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js +225 -0
  11. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -0
  12. package/dist/DboBuilder.d.ts +1 -1
  13. package/dist/DboBuilder.d.ts.map +1 -1
  14. package/dist/DboBuilder.js +3 -3
  15. package/dist/DboBuilder.js.map +1 -1
  16. package/dist/Filtering.d.ts +1 -1
  17. package/dist/Filtering.d.ts.map +1 -1
  18. package/dist/TableConfig.d.ts +4 -1
  19. package/dist/TableConfig.d.ts.map +1 -1
  20. package/dist/TableConfig.js +8 -6
  21. package/dist/TableConfig.js.map +1 -1
  22. package/dist/validation.js +1 -2
  23. package/dist/validation.js.map +1 -1
  24. package/lib/DBSchemaBuilder.d.ts.map +1 -1
  25. package/lib/DBSchemaBuilder.js +4 -0
  26. package/lib/DBSchemaBuilder.ts +2 -0
  27. package/lib/{QueryBuilder.d.ts → DboBuilder/QueryBuilder/QueryBuilder.d.ts} +2 -3
  28. package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -0
  29. package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +1160 -0
  30. package/lib/{QueryBuilder.ts → DboBuilder/QueryBuilder/QueryBuilder.ts} +3 -282
  31. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +5 -0
  32. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -0
  33. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +224 -0
  34. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +284 -0
  35. package/lib/DboBuilder.d.ts +1 -1
  36. package/lib/DboBuilder.d.ts.map +1 -1
  37. package/lib/DboBuilder.js +3 -3
  38. package/lib/DboBuilder.ts +3 -3
  39. package/lib/Filtering.d.ts +1 -1
  40. package/lib/Filtering.d.ts.map +1 -1
  41. package/lib/Filtering.ts +1 -1
  42. package/lib/TableConfig.d.ts +4 -1
  43. package/lib/TableConfig.d.ts.map +1 -1
  44. package/lib/TableConfig.js +8 -6
  45. package/lib/TableConfig.ts +11 -6
  46. package/lib/validation.js +1 -2
  47. package/lib/validation.ts +2 -2
  48. package/package.json +1 -1
  49. package/tests/client/PID.txt +1 -1
  50. package/tests/server/package-lock.json +1 -1
  51. package/lib/QueryBuilder.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkD,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAuCpD,CAAA;AAED,aAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,oBAAY,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAKlB,oBAAY,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
1
+ {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkD,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAyCpD,CAAA;AAED,aAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,oBAAY,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAKlB,oBAAY,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
@@ -14,9 +14,13 @@ const getDBSchema = (dboBuilder) => {
14
14
  const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(tov.name, c.name);
15
15
  if (colConf) {
16
16
  if ("jsonbSchema" in colConf) {
17
+ if (!colConf.jsonbSchema)
18
+ throw "colConf.jsonbSchema missing";
17
19
  type = (0, validation_1.getJSONBSchemaTSTypes)(colConf.jsonbSchema, { nullable: colConf.nullable }, " ");
18
20
  }
19
21
  else if ("oneOf" in colConf) {
22
+ if (!colConf.oneOf)
23
+ throw "colConf.oneOf missing";
20
24
  const types = colConf.oneOf.map(t => typeof t === "number" ? t : JSON.stringify(t));
21
25
  if (colConf.nullable) {
22
26
  types.unshift("null");
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { Filter, LocalParams, TableHandler } from "../../DboBuilder";
2
+ import { TableRule } from "../../PublishParser";
3
+ import { ColumnInfo, PG_COLUMN_UDT_DATA_TYPE, Select } from "prostgles-types";
4
+ export declare type SelectItem = {
5
+ type: "column" | "function" | "aggregation" | "joinedColumn" | "computed";
6
+ getFields: (args?: any[]) => string[] | "*";
7
+ getQuery: (tableAlias?: string) => string;
8
+ columnPGDataType?: string;
9
+ column_udt_type?: PG_COLUMN_UDT_DATA_TYPE;
10
+ alias: string;
11
+ selected: boolean;
12
+ };
13
+ export declare type NewQuery = {
14
+ allFields: string[];
15
+ /**
16
+ * Contains user selection and all the allowed columns. Allowed columns not selected are marked with selected: false
17
+ */
18
+ select: SelectItem[];
19
+ table: string;
20
+ where: string;
21
+ orderBy: string[];
22
+ having: string;
23
+ limit: number;
24
+ offset: number;
25
+ isLeftJoin: boolean;
26
+ joins?: NewQuery[];
27
+ tableAlias?: string;
28
+ $path?: string[];
29
+ };
30
+ export declare const asNameAlias: (field: string, tableAlias?: string) => string;
31
+ export declare const parseFunctionObject: (funcData: any) => {
32
+ funcName: string;
33
+ args: any[];
34
+ };
35
+ export declare const parseFunction: (funcData: {
36
+ func: string | FunctionSpec;
37
+ args: any[];
38
+ functions: FunctionSpec[];
39
+ allowedFields: string[];
40
+ }) => FunctionSpec;
41
+ declare type GetQueryArgs = {
42
+ allColumns: ColumnInfo[];
43
+ allowedFields: string[];
44
+ args: any[];
45
+ tableAlias?: string;
46
+ ctidField?: string;
47
+ };
48
+ export declare type FieldSpec = {
49
+ name: string;
50
+ type: "column" | "computed";
51
+ /**
52
+ * allowedFields passed for multicol functions (e.g.: $rowhash)
53
+ */
54
+ getQuery: (params: Omit<GetQueryArgs, "args">) => string;
55
+ };
56
+ export declare type FunctionSpec = {
57
+ name: string;
58
+ description?: string;
59
+ /**
60
+ * If true then it can be used in filters and is expected to return boolean
61
+ */
62
+ canBeUsedForFilter?: boolean;
63
+ /**
64
+ * If true then the first argument is expected to be a column name
65
+ */
66
+ singleColArg: boolean;
67
+ /**
68
+ * If true then this func can be used within where clause
69
+ */
70
+ /**
71
+ * Number of arguments expected
72
+ */
73
+ numArgs: number;
74
+ /**
75
+ * If provided then the number of column names provided to the function (from getFields()) must not be less than this
76
+ * By default every function is checked against numArgs
77
+ */
78
+ minCols?: number;
79
+ type: "function" | "aggregation" | "computed";
80
+ /**
81
+ * getFields: string[] -> used to validate user supplied field names. It will be fired before querying to validate against allowed columns
82
+ * if not field names are used from arguments then return an empty array
83
+ */
84
+ getFields: (args: any[]) => "*" | string[];
85
+ /**
86
+ * allowedFields passed for multicol functions (e.g.: $rowhash)
87
+ */
88
+ getQuery: (params: GetQueryArgs) => string;
89
+ returnType?: PG_COLUMN_UDT_DATA_TYPE;
90
+ };
91
+ /**
92
+ * Each function expects a column at the very least
93
+ */
94
+ export declare const FUNCTIONS: FunctionSpec[];
95
+ export declare const COMPUTED_FIELDS: FieldSpec[];
96
+ export declare class SelectItemBuilder {
97
+ select: SelectItem[];
98
+ private allFields;
99
+ private allowedFields;
100
+ private computedFields;
101
+ private functions;
102
+ private allowedFieldsIncludingComputed;
103
+ private isView;
104
+ private columns;
105
+ constructor(params: {
106
+ allowedFields: string[];
107
+ computedFields: FieldSpec[];
108
+ functions: FunctionSpec[];
109
+ allFields: string[];
110
+ isView: boolean;
111
+ columns: ColumnInfo[];
112
+ });
113
+ private checkField;
114
+ private addItem;
115
+ private addFunction;
116
+ addColumn: (fieldName: string, selected: boolean) => void;
117
+ parseUserSelect: (userSelect: Select, joinParse?: ((key: string, val: any, throwErr: (msg: string) => any) => any) | undefined) => Promise<never[] | undefined>;
118
+ }
119
+ export declare function getNewQuery(_this: TableHandler, filter: Filter, selectParams: ({
120
+ limit?: number | undefined;
121
+ offset?: number | undefined;
122
+ groupBy?: boolean | undefined;
123
+ returnType?: "values" | "row" | "value" | "statement" | undefined;
124
+ } & {
125
+ select?: import("prostgles-types").AnyObject | ("" | "*" | {
126
+ "*": 1;
127
+ }) | {
128
+ [x: string]: Record<string, import("prostgles-types").AnyObject>;
129
+ } | {
130
+ [x: string]: Record<string, any[]>;
131
+ } | {
132
+ [key: string]: string | true | 1 | Record<string, any[]>;
133
+ } | ({
134
+ [x: string]: string | true | 1;
135
+ } & {
136
+ [x: string]: Record<string, any[]>;
137
+ }) | {
138
+ [x: string]: string | true | 1;
139
+ } | {
140
+ [x: string]: false | 0;
141
+ } | {
142
+ [x: string]: false | 0;
143
+ } | undefined;
144
+ orderBy?: import("prostgles-types").OrderBy<any> | undefined;
145
+ } & {
146
+ alias?: string | undefined;
147
+ }) | undefined, param3_unused: null | undefined, tableRules: TableRule | undefined, localParams: LocalParams | undefined, columns: ColumnInfo[]): Promise<NewQuery>;
148
+ export {};
149
+ //# sourceMappingURL=QueryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -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.makeQuery = exports.getNewQuery = exports.SelectItemBuilder = exports.COMPUTED_FIELDS = exports.FUNCTIONS = exports.parseFunction = exports.parseFunctionObject = exports.asNameAlias = void 0;
8
- const DboBuilder_1 = require("./DboBuilder");
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("./utils");
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
- /* No validation/authorisation at this point */
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"}