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.
- 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.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/Filtering.d.ts +1 -1
- package/dist/Filtering.d.ts.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/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.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/Filtering.d.ts +1 -1
- package/lib/Filtering.d.ts.map +1 -1
- package/lib/Filtering.ts +1 -1
- 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
|
@@ -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,
|
|
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"}
|
package/dist/DBSchemaBuilder.js
CHANGED
|
@@ -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":";;;AACA,wBAA0B;AAE1B,6CAA2G;AAE3G,6CAAqD;AAG9C,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAU,EAAE;IAC5D,IAAI,MAAM,GAAa,EAAE,CAAC;IAG1B,kFAAkF;IAClF,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,CAAsB,EAAE,EAAE;YAC5C,IAAI,IAAI,GAAW,CAAC,CAAC,CAAC,WAAW,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAA,6BAAgB,EAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAA;YACvF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1F,IAAG,OAAO,EAAC;gBACT,IAAG,aAAa,IAAI,OAAO,EAAC;oBAC1B,IAAI,GAAG,IAAA,kCAAqB,EAAC,OAAO,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC7F;qBAAM,IAAG,OAAO,IAAI,OAAO,EAAC;oBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnF,IAAG,OAAO,CAAC,QAAQ,EAAC;wBAClB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;qBACtB;oBACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1B;aACF;YACD,OAAO,GAAG,IAAA,0BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAA;QACvF,CAAC,CAAA;QACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,IAAI,CAAC;eACvB,GAAG,CAAC,OAAO;cACZ,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;gBACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;SAExB,CAAC,CAAA;IACR,CAAC,CAAC,CAAA;IACJ,OAAO;;IAEH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;CAElB,CAAC;AACF,CAAC,CAAA;
|
|
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.
|
|
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"}
|