@webda/ql 4.0.0-beta.5 → 4.0.0-beta.6

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 (55) hide show
  1. package/README.md +68 -27
  2. package/lib/WebdaQLLexer.d.ts +44 -30
  3. package/lib/WebdaQLLexer.d.ts.map +1 -1
  4. package/lib/WebdaQLLexer.js +257 -152
  5. package/lib/WebdaQLLexer.js.map +1 -1
  6. package/lib/WebdaQLParserLexer.d.ts +44 -30
  7. package/lib/WebdaQLParserLexer.d.ts.map +1 -1
  8. package/lib/WebdaQLParserLexer.js +257 -152
  9. package/lib/WebdaQLParserLexer.js.map +1 -1
  10. package/lib/WebdaQLParserListener.d.ts +203 -30
  11. package/lib/WebdaQLParserListener.d.ts.map +1 -1
  12. package/lib/WebdaQLParserParser.d.ts +242 -44
  13. package/lib/WebdaQLParserParser.d.ts.map +1 -1
  14. package/lib/WebdaQLParserParser.js +2054 -715
  15. package/lib/WebdaQLParserParser.js.map +1 -1
  16. package/lib/WebdaQLParserVisitor.d.ts +126 -17
  17. package/lib/WebdaQLParserVisitor.d.ts.map +1 -1
  18. package/lib/aggregation-query.d.ts +95 -0
  19. package/lib/aggregation-query.d.ts.map +1 -0
  20. package/lib/aggregation-query.js +104 -0
  21. package/lib/aggregation-query.js.map +1 -0
  22. package/lib/aggregation-select.spec.d.ts +2 -0
  23. package/lib/aggregation-select.spec.d.ts.map +1 -0
  24. package/lib/aggregation-select.spec.js +164 -0
  25. package/lib/aggregation-select.spec.js.map +1 -0
  26. package/lib/aggregation.d.ts +97 -0
  27. package/lib/aggregation.d.ts.map +1 -0
  28. package/lib/aggregation.js +241 -0
  29. package/lib/aggregation.js.map +1 -0
  30. package/lib/aggregation.spec.d.ts +2 -0
  31. package/lib/aggregation.spec.d.ts.map +1 -0
  32. package/lib/aggregation.spec.js +360 -0
  33. package/lib/aggregation.spec.js.map +1 -0
  34. package/lib/bind.d.ts.map +1 -1
  35. package/lib/bind.js +29 -0
  36. package/lib/bind.js.map +1 -1
  37. package/lib/index.d.ts +1 -0
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +1 -0
  40. package/lib/index.js.map +1 -1
  41. package/lib/query.d.ts +162 -8
  42. package/lib/query.d.ts.map +1 -1
  43. package/lib/query.js +489 -45
  44. package/lib/query.js.map +1 -1
  45. package/lib/query.spec.js +6 -4
  46. package/lib/query.spec.js.map +1 -1
  47. package/lib/statements.spec.d.ts +2 -0
  48. package/lib/statements.spec.d.ts.map +1 -0
  49. package/lib/statements.spec.js +422 -0
  50. package/lib/statements.spec.js.map +1 -0
  51. package/lib/webdaql-string.d.ts +9 -0
  52. package/lib/webdaql-string.d.ts.map +1 -1
  53. package/lib/webdaql-string.js +9 -8
  54. package/lib/webdaql-string.js.map +1 -1
  55. package/package.json +2 -2
package/lib/bind.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAsCrF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAsC3F"}
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAsCrF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CA4C3F"}
package/lib/bind.js CHANGED
@@ -77,6 +77,12 @@ export function bind(query, params) {
77
77
  // Placeholders are only allowed where a value is expected
78
78
  validateSyntax(query);
79
79
  const values = named ? namedValues(placeholders, params) : positionalValues(placeholders, params);
80
+ const assigned = assignedPlaceholders(query);
81
+ placeholders.forEach((token, i) => {
82
+ if ((values[i] === null || values[i] === undefined) && assigned.has(token.startIndex)) {
83
+ throw new WebdaQLError(`A null value cannot be assigned in UPDATE SET ('${token.text}')`);
84
+ }
85
+ });
80
86
  const parts = [];
81
87
  let position = 0;
82
88
  for (const token of placeholders) {
@@ -94,6 +100,29 @@ export function bind(query, params) {
94
100
  }
95
101
  return bound;
96
102
  }
103
+ /**
104
+ * Placeholders standing for the value of an `UPDATE SET` assignment, by start index: from `SET` to the
105
+ * `WHERE` or `LIMIT` closing the assignment list
106
+ * @param query - the query string
107
+ * @returns the start indexes of those placeholders
108
+ */
109
+ function assignedPlaceholders(query) {
110
+ const res = new Set();
111
+ let inSet = false;
112
+ for (const token of tokenize(query)) {
113
+ if (token.type === WebdaQLLexer.SET) {
114
+ inSet = true;
115
+ }
116
+ else if (token.type === WebdaQLLexer.WHERE || token.type === WebdaQLLexer.LIMIT) {
117
+ inSet = false;
118
+ }
119
+ else if (inSet &&
120
+ (token.type === WebdaQLLexer.POSITIONAL_PARAMETER || token.type === WebdaQLLexer.NAMED_PARAMETER)) {
121
+ res.add(token.startIndex);
122
+ }
123
+ }
124
+ return res;
125
+ }
97
126
  /**
98
127
  * Values of the `?` placeholders, in order
99
128
  * @param placeholders - the placeholder tokens
package/lib/bind.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./query.js";
2
2
  export * from "./webdaql-string.js";
3
3
  export * from "./bind.js";
4
+ export * from "./aggregation.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
package/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./query.js";
2
2
  export * from "./webdaql-string.js";
3
3
  export * from "./bind.js";
4
+ export * from "./aggregation.js";
4
5
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
package/lib/query.d.ts CHANGED
@@ -1,11 +1,25 @@
1
1
  import { AbstractParseTreeVisitor, ParseTree } from "antlr4ts/tree/index.js";
2
2
  import { WebdaQLLexer } from "./WebdaQLLexer.js";
3
- import { AndLogicExpressionContext, AtomExpressionContext, BinaryComparisonExpressionContext, BooleanLiteralContext, ContainsExpressionContext, InExpressionContext, IntegerLiteralContext, IsNotNullExpressionContext, IsNullExpressionContext, LikeExpressionContext, LimitExpressionContext, NumberLiteralContext, OffsetExpressionContext, OrLogicExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, ParameterContext, SetExpressionContext, StringLiteralContext, WebdaqlContext } from "./WebdaQLParserParser.js";
3
+ import { AndLogicExpressionContext, AssignmentContext, AtomExpressionContext, BinaryComparisonExpressionContext, BooleanLiteralContext, ContainsExpressionContext, DeleteStatementContext, ExpressionContext, FieldListContext, FilterQueryContext, InExpressionContext, IntegerLiteralContext, IsNotNullExpressionContext, IsNullExpressionContext, LikeExpressionContext, LimitExpressionContext, NumberLiteralContext, OffsetExpressionContext, OrLogicExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, ParameterContext, SelectStatementContext, SetExpressionContext, StatementContext, StringLiteralContext, SubExpressionContext, UpdateStatementContext, WebdaqlContext } from "./WebdaQLParserParser.js";
4
4
  import { WebdaQLParserVisitor } from "./WebdaQLParserVisitor.js";
5
+ import { type AggregationQuery, type Metric } from "./aggregation-query.js";
5
6
  /**
6
7
  * Primitive value types supported by WebdaQL expressions
7
8
  */
8
9
  type value = boolean | string | number;
10
+ /**
11
+ * Kind of statement a query is: a plain filter is an implicit `SELECT` of every field
12
+ */
13
+ export type QueryType = "SELECT" | "DELETE" | "UPDATE";
14
+ /**
15
+ * One `field = value` of an `UPDATE SET`
16
+ */
17
+ export interface Assignment {
18
+ /** Field path (dot-notation for nested attributes) */
19
+ field: string;
20
+ /** Value to assign */
21
+ value: value;
22
+ }
9
23
  /**
10
24
  * Strip the quotes of a WebdaQL string literal and unescape its contents.
11
25
  *
@@ -32,11 +46,14 @@ export interface OrderBy {
32
46
  * Prepend a condition to an existing query string using AND logic
33
47
  *
34
48
  * Parses both strings, merges them, and reconstructs the combined query.
35
- * ORDER BY, LIMIT, and OFFSET clauses from the original query are preserved.
49
+ * The statement head (`SELECT fields`, `DELETE`, `UPDATE SET ...`) and the ORDER BY, LIMIT, and OFFSET clauses
50
+ * of the original query are preserved; the condition joins the WHERE part. Both sides keep their own grouping:
51
+ * `a OR b` merged with `c OR d` is `( a OR b ) AND ( c OR d )`.
36
52
  *
37
- * @param query - existing query string (may include ORDER BY / LIMIT / OFFSET)
38
- * @param condition - condition to prepend (filter expression only)
53
+ * @param query - existing query string (a plain filter or a statement, may include ORDER BY / LIMIT / OFFSET)
54
+ * @param condition - condition to prepend (a plain filter: a statement is refused)
39
55
  * @returns merged query string
56
+ * @throws {SyntaxError} if the condition is a statement, or adds ORDER BY / OFFSET to a DELETE or UPDATE
40
57
  *
41
58
  * @example
42
59
  * ```ts
@@ -101,14 +118,73 @@ export declare class ExpressionBuilder extends AbstractParseTreeVisitor<Query> i
101
118
  */
102
119
  visitOrderExpression(ctx: OrderExpressionContext): void;
103
120
  /**
104
- * Visit the root `webdaql` rule and build the complete Query
121
+ * Visit the root `webdaql` rule and build the complete Query: a statement or a plain filter query
122
+ * @param ctx - the webdaql parse context
123
+ * @returns the built Query
124
+ */
125
+ visitWebdaql(ctx: WebdaqlContext): Query;
126
+ /**
127
+ * Visit a DELETE, UPDATE or SELECT statement
128
+ * @param ctx - the statement context
129
+ * @returns the built Query
130
+ */
131
+ visitStatement(ctx: StatementContext): Query;
132
+ /**
133
+ * Visit a plain filter query: an implicit SELECT of every field
105
134
  *
106
135
  * Parses filter expression, ORDER BY, LIMIT, and OFFSET clauses.
107
136
  * Returns an empty AND expression (always true) when no filter is present.
108
- * @param ctx - the webdaql parse context
137
+ * @param ctx - the filter query context
109
138
  * @returns the built Query
110
139
  */
111
- visitWebdaql(ctx: WebdaqlContext): Query;
140
+ visitFilterQuery(ctx: FilterQueryContext): Query;
141
+ /**
142
+ * Visit `DELETE [WHERE ...] [LIMIT n]`
143
+ * @param ctx - the DELETE statement context
144
+ * @returns the built Query
145
+ */
146
+ visitDeleteStatement(ctx: DeleteStatementContext): Query;
147
+ /**
148
+ * Visit `UPDATE SET a = v, ... [WHERE ...] [LIMIT n]`
149
+ * @param ctx - the UPDATE statement context
150
+ * @returns the built Query
151
+ */
152
+ visitUpdateStatement(ctx: UpdateStatementContext): Query;
153
+ /**
154
+ * Visit a SELECT statement: a field list, or an aggregation when it has metrics or a GROUP BY
155
+ * @param ctx - the select statement context
156
+ * @returns the query
157
+ */
158
+ visitSelectStatement(ctx: SelectStatementContext): Query;
159
+ /**
160
+ * Read one `field = value` of an UPDATE SET
161
+ * @param ctx - the assignment context
162
+ * @returns the assignment
163
+ */
164
+ visitAssignment(ctx: AssignmentContext): Assignment;
165
+ /**
166
+ * Read the field list of a SELECT: plain fields and aggregate metrics
167
+ * @param ctx - the field list context
168
+ * @returns the field paths and the metrics by alias
169
+ */
170
+ visitFieldList(ctx: FieldListContext): {
171
+ fields: string[];
172
+ metrics: Record<string, Metric>;
173
+ };
174
+ /**
175
+ * Visit a parenthesised expression: the inner expression
176
+ * @param ctx - the sub expression context
177
+ * @returns the inner expression
178
+ */
179
+ visitSubExpression(ctx: SubExpressionContext): Expression;
180
+ /**
181
+ * Build the Query of a statement or filter query: its condition and its ORDER BY, LIMIT and OFFSET clauses
182
+ * @param type - the statement type
183
+ * @param expression - the condition, if any
184
+ * @param ctx - the statement context holding the optional clauses
185
+ * @returns the Query
186
+ */
187
+ protected buildQuery(type: QueryType, expression: ExpressionContext | undefined, ctx: FilterQueryContext | DeleteStatementContext | UpdateStatementContext | SelectStatementContext): Query;
112
188
  /**
113
189
  * Recursively flatten nested logical expressions of the same type
114
190
  *
@@ -238,6 +314,22 @@ export interface Query {
238
314
  * Order by clause
239
315
  */
240
316
  orderBy?: OrderBy[];
317
+ /**
318
+ * Statement type: `SELECT` for a plain filter query (an implicit SELECT of every field) and an explicit SELECT
319
+ */
320
+ type: QueryType;
321
+ /**
322
+ * Field list of an explicit `SELECT f1, f2`; undefined means every field
323
+ */
324
+ fields?: string[];
325
+ /**
326
+ * Assignments of an `UPDATE SET`
327
+ */
328
+ assignments?: Assignment[];
329
+ /**
330
+ * Aggregation of a `SELECT … GROUP BY` or a SELECT with aggregate functions
331
+ */
332
+ aggregation?: AggregationQuery;
241
333
  /**
242
334
  * Get the string representation of the query
243
335
  */
@@ -698,11 +790,73 @@ export declare class PartialExpressionBuilder extends ExpressionBuilder {
698
790
  * @returns the cleaned query string
699
791
  */
700
792
  export declare function unsanitize(query: string): string;
793
+ /**
794
+ * Print a query in its canonical form, which parses back to the same query
795
+ *
796
+ * - plain filter: `<filter> [ORDER BY ...] [LIMIT n] [OFFSET "token"]`
797
+ * - `SELECT f1, f2 [WHERE <filter>] [ORDER BY ...] [LIMIT n] [OFFSET "token"]`
798
+ * - `DELETE [WHERE <filter>] [LIMIT n]`
799
+ * - `UPDATE SET a = v, ... [WHERE <filter>] [LIMIT n]`
800
+ *
801
+ * @param query - the query
802
+ * @returns the query string
803
+ */
804
+ export declare function stringifyQuery(query: Omit<Query, "toString">): string;
805
+ /**
806
+ * Normalize a query object built or changed by code: every part is checked against what the grammar allows, the
807
+ * query is printed from its data and parsed again
808
+ *
809
+ * Use it before handing a `Query` object received from a caller to a backend: field paths (letters, digits, `_`),
810
+ * operators, values (strings, finite numbers, booleans), LIMIT (non-negative integer) and OFFSET (string) are
811
+ * checked, and the result only holds expressions built by the parser.
812
+ *
813
+ * @param query - the query object
814
+ * @returns the same query, as parsed from its canonical text
815
+ * @throws {WebdaQLError} when a part of the query cannot be written in WebdaQL
816
+ */
817
+ export declare function normalizeQuery(query: Partial<Query>): Query;
818
+ /**
819
+ * Validate the SELECT fields, the aggregation metric fields and the UPDATE SET targets of a query against the
820
+ * allowed fields
821
+ *
822
+ * A dotted path is allowed when it is listed, or when one of its parents is (`profile.email` is allowed by
823
+ * `profile` or by `profile.email`). GROUP BY paths are the SELECT fields; the field of every aggregation metric
824
+ * (`SUM(points)`) is checked too, `COUNT(*)` has none. Filter attributes are not checked.
825
+ *
826
+ * @param query - parsed query to validate
827
+ * @param allowedFields - allowed field paths (dot-notation)
828
+ * @throws {SyntaxError} if a field, a metric field or an assignment target is not allowed
829
+ */
830
+ export declare function validateQueryFields(query: Pick<Query, "fields" | "assignments" | "aggregation">, allowedFields: string[]): void;
831
+ /**
832
+ * Refuse anything but a plain filter query: DELETE, UPDATE and SELECT with a field list
833
+ *
834
+ * Used where a query only selects objects, such as the Query operations exposed to clients. A query built by hand
835
+ * without `type` is a filter.
836
+ *
837
+ * @param query - the parsed query
838
+ * @throws {WebdaQLError} for a DELETE or UPDATE statement, or a SELECT field list
839
+ */
840
+ export declare function assertFilterQuery(query: Partial<Pick<Query, "type" | "fields">>): void;
701
841
  /**
702
842
  * Parse a query string into a Query object
843
+ *
844
+ * Accepts a plain filter query (an implicit SELECT of every field) or a statement:
845
+ * - `SELECT f1, f2 [WHERE <condition>] [ORDER BY ...] [LIMIT n] [OFFSET token]`
846
+ * - `SELECT g1, COUNT(*) AS n, SUM(f) AS s [WHERE <condition>] [GROUP BY g1] [ORDER BY ...] [LIMIT n]`: an
847
+ * aggregation (metrics COUNT, COUNT(DISTINCT f), SUM, AVG, MIN, MAX), returned in `aggregation`; the
848
+ * selected fields must be the GROUP BY paths, every metric needs an alias, OFFSET is refused
849
+ * - `DELETE [WHERE <condition>] [LIMIT n]`
850
+ * - `UPDATE SET a = v, b = v [WHERE <condition>] [LIMIT n]`
851
+ *
852
+ * Keywords are uppercase only: `select`, `delete`, `set`, `count`... remain field names.
853
+ *
703
854
  * @param query - the query string to parse
855
+ * @param allowedFields - when given, SELECT fields, aggregation metric fields and UPDATE SET targets must be in
856
+ * this list (see {@link validateQueryFields})
704
857
  * @returns the parsed Query object
858
+ * @throws {SyntaxError} on a grammar error or a field outside `allowedFields`
705
859
  */
706
- export declare function parse(query: string): Query;
860
+ export declare function parse(query: string, allowedFields?: string[]): Query;
707
861
  export {};
708
862
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}