mindoodb 0.0.63 → 0.0.64

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 (63) hide show
  1. package/README.md +14 -1
  2. package/dist/browser/index.mjs +4 -0
  3. package/dist/core/expressions/builder.d.ts +25 -0
  4. package/dist/core/expressions/builder.d.ts.map +1 -1
  5. package/dist/core/expressions/builder.js +33 -13
  6. package/dist/core/expressions/builder.js.map +1 -1
  7. package/dist/core/expressions/evaluateExpression.d.ts +55 -2
  8. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  9. package/dist/core/expressions/evaluateExpression.js +95 -3
  10. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  11. package/dist/core/expressions/formulaSource.d.ts.map +1 -1
  12. package/dist/core/expressions/formulaSource.js +21 -2
  13. package/dist/core/expressions/formulaSource.js.map +1 -1
  14. package/dist/core/expressions/index.d.ts +1 -1
  15. package/dist/core/expressions/index.d.ts.map +1 -1
  16. package/dist/core/expressions/index.js +3 -1
  17. package/dist/core/expressions/index.js.map +1 -1
  18. package/dist/core/expressions/metadata.d.ts +1 -1
  19. package/dist/core/expressions/metadata.d.ts.map +1 -1
  20. package/dist/core/expressions/metadata.js +5 -0
  21. package/dist/core/expressions/metadata.js.map +1 -1
  22. package/dist/core/expressions/types.d.ts +17 -2
  23. package/dist/core/expressions/types.d.ts.map +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/index.js +4 -2
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -1
  29. package/dist/core/indexing/createViewDataProvider.js +1 -0
  30. package/dist/core/indexing/createViewDataProvider.js.map +1 -1
  31. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -1
  32. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +1 -0
  33. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -1
  34. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  35. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +1 -0
  36. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  37. package/dist/core/query/executeQuery.d.ts +1 -1
  38. package/dist/core/query/executeQuery.d.ts.map +1 -1
  39. package/dist/core/query/executeQuery.js +106 -71
  40. package/dist/core/query/executeQuery.js.map +1 -1
  41. package/dist/core/query/executeQueryInclude.d.ts +99 -0
  42. package/dist/core/query/executeQueryInclude.d.ts.map +1 -0
  43. package/dist/core/query/executeQueryInclude.js +447 -0
  44. package/dist/core/query/executeQueryInclude.js.map +1 -0
  45. package/dist/core/query/index.d.ts +2 -1
  46. package/dist/core/query/index.d.ts.map +1 -1
  47. package/dist/core/query/index.js +5 -1
  48. package/dist/core/query/index.js.map +1 -1
  49. package/dist/core/query/queryInternals.d.ts +45 -0
  50. package/dist/core/query/queryInternals.d.ts.map +1 -0
  51. package/dist/core/query/queryInternals.js +87 -0
  52. package/dist/core/query/queryInternals.js.map +1 -0
  53. package/dist/core/query/queryLive.d.ts.map +1 -1
  54. package/dist/core/query/queryLive.js +67 -8
  55. package/dist/core/query/queryLive.js.map +1 -1
  56. package/dist/core/query/queryView.d.ts.map +1 -1
  57. package/dist/core/query/queryView.js +19 -0
  58. package/dist/core/query/queryView.js.map +1 -1
  59. package/dist/core/query/types.d.ts +122 -7
  60. package/dist/core/query/types.d.ts.map +1 -1
  61. package/dist/core/query/types.js +13 -1
  62. package/dist/core/query/types.js.map +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE,6EAA0E;AA2B1E;;;;;;GAMG;AACH,MAAa,+BAA+B;IAY1C,YAAY,OAA+C;QANnD,SAAI,GAAuB,IAAI,CAAC;QAChC,WAAM,GAAgC,IAAI,CAAC;QAEnD,+DAA+D;QACvD,gBAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QAG3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,IAAI,KAAK,CAAC;IAC5E,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAiB;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAkC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,GAAG,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,sEAAsE;QACtE,mEAAmE;QACnE,+DAA+D;QAC/D,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,aAAa,GAAG,GAAY,EAAE;YAClC,MAAM,YAAY,GAChB,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC;YACpE,OAAO,YAAY,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClD,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,iEAAiE;QACjE,wEAAwE;QACxE,8CAA8C;QAC9C,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAEtE,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC5D,6DAA6D;oBAC7D,6CAA6C;oBAC7C,iEAAiE;oBACjE,+DAA+D;oBAC/D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,SAAS,EAAE,CAAC;YACZ,gBAAgB,EAAE,CAAC;YAEnB,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAAC;gBACvC,mBAAmB,EAAE,CAAC;gBACtB,gBAAgB,GAAG,CAAC,CAAC;gBACrB,IAAI,aAAa,EAAE,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,mBAAmB,EAAE,CAAC;QACtB,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CACzB,GAAc,EACd,OAA4B;QAE5B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,+DAA+D;YAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7B,mEAAmE;gBACnE,6DAA6D;gBAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,uCAAkB,EAAC,MAAM,CAAC,UAAU,EAAE;oBAC1D,GAAG,EAAE,OAAkC;oBACvC,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE;oBACrD,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE;oBAC7D,eAAe,EAAE,GAAG,CAAC,kBAAkB,EAAE;oBACzC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC5B,eAAe,EAAE,GAAG,CAAC,iBAAiB,EAAE;oBACxC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7C,6EAA6E;gBAC7E,uEAAuE;gBACvE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E,gBAAgB;QACd,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAc;QAC7B,MAAM,CAAC,GAAG,KAAyE,CAAC;QACpF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;QAC/B,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAlND,0EAkNC"}
1
+ {"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
@@ -14,5 +14,5 @@ import { type MindooQuery, type MindooQueryOptions, type MindooQueryResult } fro
14
14
  * score for `{ special: "textScore" }` sorting — the default ordering
15
15
  * when a `text` clause is present without an explicit `sortBy`.
16
16
  */
17
- export declare function executeQuery(db: MindooDB, summary: DocumentSummaryStore, query: MindooQuery, options?: MindooQueryOptions): Promise<MindooQueryResult>;
17
+ export declare function executeQuery(db: MindooDB, summary: DocumentSummaryStore, input: MindooQuery, options?: MindooQueryOptions): Promise<MindooQueryResult>;
18
18
  //# sourceMappingURL=executeQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeQuery.d.ts","sourceRoot":"","sources":["../../../src/core/query/executeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAYpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAC;AAmLjB;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAsF5B"}
1
+ {"version":3,"file":"executeQuery.d.ts","sourceRoot":"","sources":["../../../src/core/query/executeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAcpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,EAEL,KAAK,WAAW,EAIhB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAC;AAiMjB;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAuH5B"}
@@ -4,8 +4,9 @@ exports.executeQuery = executeQuery;
4
4
  const expressions_1 = require("../expressions");
5
5
  const encryptedFields_1 = require("../crypto/encryptedFields");
6
6
  const extractSummaryFields_1 = require("../indexing/summary/extractSummaryFields");
7
- const types_1 = require("../indexing/virtualviews/types");
8
- const types_2 = require("./types");
7
+ const types_1 = require("./types");
8
+ const queryInternals_1 = require("./queryInternals");
9
+ const executeQueryInclude_1 = require("./executeQueryInclude");
9
10
  /**
10
11
  * Resolve and prepare the full-text index for a query with a `text`
11
12
  * clause: brings the index up to date, verifies indexing is enabled, and
@@ -20,12 +21,12 @@ async function resolveTextClauseScores(db, query, options) {
20
21
  return null;
21
22
  }
22
23
  if (!db.getFullTextIndex) {
23
- throw new types_2.MindooQueryError(`This MindooDB instance does not support full-text search.`, "fulltext-not-enabled");
24
+ throw new types_1.MindooQueryError(`This MindooDB instance does not support full-text search.`, "fulltext-not-enabled");
24
25
  }
25
26
  const index = db.getFullTextIndex();
26
27
  await index.update(options);
27
28
  if (!index.isEnabled()) {
28
- throw new types_2.MindooQueryError(`Query has a text clause, but full-text indexing is not enabled for this database ` +
29
+ throw new types_1.MindooQueryError(`Query has a text clause, but full-text indexing is not enabled for this database ` +
29
30
  `(enable it via setFulltextSetup({ enabled: true }), see docs/fulltext-search.md).`, "fulltext-not-enabled");
30
31
  }
31
32
  const { hits } = index.searchSync(text.query, {
@@ -41,17 +42,45 @@ async function resolveTextClauseScores(db, query, options) {
41
42
  return { scores, index };
42
43
  }
43
44
  /**
44
- * Effective sort keys of a query: an explicit `sortBy` wins; a `text`
45
- * clause without one defaults to relevance ranking (best score first).
45
+ * Turn a caller's query into one the evaluator can run: formula source text
46
+ * becomes an expression, and anything that is neither is rejected here.
47
+ *
48
+ * Both matter for the same reason. The evaluator returns `undefined` for a
49
+ * node it does not recognize, and `undefined` as a filter means "no match" —
50
+ * so a filter handed over as source text, or built by hand with a typo,
51
+ * used to come back as an empty result set with `coverage: "full"`, which
52
+ * reads exactly like a correct query over data that isn't there.
46
53
  */
47
- function effectiveSortKeys(query) {
48
- if (query.sortBy && query.sortBy.length > 0) {
49
- return query.sortBy;
54
+ function parseQuery(query) {
55
+ return {
56
+ ...query,
57
+ filter: parseFilter(query.filter, "Query filter"),
58
+ include: query.include ? parseIncludes(query.include, "") : undefined,
59
+ };
60
+ }
61
+ function parseFilter(filter, label) {
62
+ if (typeof filter !== "string") {
63
+ return filter;
50
64
  }
51
- if (query.text) {
52
- return [{ special: "textScore", direction: "descending" }];
65
+ try {
66
+ return (0, expressions_1.parseMindooDBFormulaBooleanExpression)(filter);
67
+ }
68
+ catch (error) {
69
+ throw new types_1.MindooQueryError(`${label} is not valid formula source: ${error instanceof Error ? error.message : String(error)}`);
70
+ }
71
+ }
72
+ /** Formula-source filters are supported at every include level, not just the root. */
73
+ function parseIncludes(includes, slotPath) {
74
+ const parsed = {};
75
+ for (const [slot, include] of Object.entries(includes)) {
76
+ const label = slotPath ? `${slotPath}.${slot}` : slot;
77
+ parsed[slot] = {
78
+ ...include,
79
+ filter: parseFilter(include.filter, `Filter of include "${label}"`),
80
+ include: include.include ? parseIncludes(include.include, label) : undefined,
81
+ };
53
82
  }
54
- return [];
83
+ return parsed;
55
84
  }
56
85
  /** All expressions a query references (filter + expression sort keys). */
57
86
  function collectQueryExpressions(query) {
@@ -72,44 +101,34 @@ function collectQueryExpressions(query) {
72
101
  */
73
102
  function validateQueryExpressions(expressions, allowFullScan) {
74
103
  for (const expression of expressions) {
104
+ const unknown = (0, expressions_1.findUnknownExpressionNode)(expression);
105
+ if (unknown !== null) {
106
+ throw new types_1.MindooQueryError(`Query expression contains ${unknown}, which the expression language does not define. ` +
107
+ `Build expressions with createViewLanguage() (or pass the filter as formula source text).`);
108
+ }
75
109
  const requirements = (0, expressions_1.analyzeExpressionRequirements)(expression);
76
110
  if (requirements.needsViewContext) {
77
- throw new types_2.MindooQueryError(`Query expressions cannot use view-tree operations (${requirements.viewContextOperations.join(", ")}); ` +
111
+ throw new types_1.MindooQueryError(`Query expressions cannot use view-tree operations (${requirements.viewContextOperations.join(", ")}); ` +
78
112
  `these only evaluate inside a materialized view (use db.queryView() with categories instead).`);
79
113
  }
80
114
  if (requirements.needsDecryption && !allowFullScan) {
81
- throw new types_2.MindooQueryError(`Query expressions reference encrypted fields (decrypt), which the summary buffer does not store. ` +
115
+ throw new types_1.MindooQueryError(`Query expressions reference encrypted fields (decrypt), which the summary buffer does not store. ` +
82
116
  `Re-run with allowFullScan: true to evaluate them against materialized documents (expensive).`);
83
117
  }
84
- }
85
- }
86
- function sortDirectionDescending(sortKey) {
87
- return sortKey.direction === "descending";
88
- }
89
- function computeSortValues(sortKeys, context, textScore) {
90
- return sortKeys.map((sortKey) => {
91
- if (sortKey.special === "textScore") {
92
- return textScore ?? 0;
93
- }
94
- if (sortKey.expression) {
95
- return (0, expressions_1.evaluateExpression)(sortKey.expression, context);
118
+ if (requirements.needsParentContext) {
119
+ throw new types_1.MindooQueryError(`Query expressions cannot use v.parent(); there is no parent document at the top level of a query. ` +
120
+ `It only resolves inside the filter of an include lookup.`);
96
121
  }
97
- // Plain field sort keys resolve against the evaluation doc, which also
98
- // carries the mirrored managed fields (`_lastModified`, `_attachments`).
99
- return (0, extractSummaryFields_1.getSummaryFieldValue)(context.doc, sortKey.field ?? "");
100
- });
122
+ }
101
123
  }
124
+ /**
125
+ * Sorts, pages, and turns candidates into result rows. The paged
126
+ * candidates are returned alongside so include hydration can reach their
127
+ * unprojected values without scanning again.
128
+ */
102
129
  function sortAndPage(candidates, query, sortKeys) {
103
130
  if (sortKeys.length > 0) {
104
- candidates.sort((left, right) => {
105
- for (let i = 0; i < sortKeys.length; i++) {
106
- const result = (0, types_1.compareValues)(left.sortValues[i], right.sortValues[i], sortDirectionDescending(sortKeys[i]));
107
- if (result !== 0) {
108
- return result;
109
- }
110
- }
111
- return left.docId.localeCompare(right.docId);
112
- });
131
+ candidates.sort((left, right) => (0, queryInternals_1.compareCandidates)(left, right, sortKeys));
113
132
  }
114
133
  const total = candidates.length;
115
134
  const offset = Math.max(0, query.offset ?? 0);
@@ -122,24 +141,9 @@ function sortAndPage(candidates, query, sortKeys) {
122
141
  ? { docId, fields, lastModified }
123
142
  : { docId, fields, lastModified, textScore }),
124
143
  total,
144
+ paged,
125
145
  };
126
146
  }
127
- function projectFields(fields, projection) {
128
- if (!projection) {
129
- return fields;
130
- }
131
- const projected = {};
132
- for (const path of projection) {
133
- const value = (0, extractSummaryFields_1.getSummaryFieldValue)(fields, path);
134
- if (value !== undefined) {
135
- projected[path] = value;
136
- }
137
- }
138
- return projected;
139
- }
140
- function queryOrigin(db) {
141
- return `${db.getTenant().getId()}/${db.getStore().getId()}`;
142
- }
143
147
  /**
144
148
  * Execute an ad-hoc query against the document summary buffer.
145
149
  *
@@ -153,13 +157,21 @@ function queryOrigin(db) {
153
157
  * score for `{ special: "textScore" }` sorting — the default ordering
154
158
  * when a `text` clause is present without an explicit `sortBy`.
155
159
  */
156
- async function executeQuery(db, summary, query, options) {
160
+ async function executeQuery(db, summary, input, options) {
161
+ const query = parseQuery(input);
157
162
  const expressions = collectQueryExpressions(query);
158
163
  if (options?.allowFullScan) {
164
+ if (query.include) {
165
+ throw new types_1.MindooQueryError(`Queries cannot combine allowFullScan with include lookups: includes are answered from the ` +
166
+ `summary buffer of every involved database, which is exactly what allowFullScan bypasses.`);
167
+ }
159
168
  validateQueryExpressions(expressions, true);
160
169
  return executeFullScanQuery(db, query, expressions, options);
161
170
  }
162
171
  validateQueryExpressions(expressions, false);
172
+ if (query.include) {
173
+ (0, executeQueryInclude_1.validateQueryIncludes)(query.include);
174
+ }
163
175
  // Coverage check: every field referenced by filter/sort expressions and
164
176
  // plain-field sort keys must be answerable from the summary.
165
177
  const referencedPaths = new Set();
@@ -175,20 +187,20 @@ async function executeQuery(db, summary, query, options) {
175
187
  }
176
188
  for (const path of referencedPaths) {
177
189
  if (!summary.isFieldCovered(path)) {
178
- throw new types_2.MindooQueryError(`Field "${path}" is not covered by the summary configuration ` +
190
+ throw new types_1.MindooQueryError(`Field "${path}" is not covered by the summary configuration ` +
179
191
  `(check include/exclude in SummaryConfig, or re-run with allowFullScan: true).`);
180
192
  }
181
193
  }
182
194
  const textMatch = await resolveTextClauseScores(db, query, options);
183
195
  if (options?.signal?.aborted) {
184
- throw new types_2.MindooQueryError("Query aborted while updating the full-text index.");
196
+ throw new types_1.MindooQueryError("Query aborted while updating the full-text index.");
185
197
  }
186
198
  await summary.update(options);
187
199
  if (options?.signal?.aborted) {
188
- throw new types_2.MindooQueryError("Query aborted while updating the summary buffer.");
200
+ throw new types_1.MindooQueryError("Query aborted while updating the summary buffer.");
189
201
  }
190
- const origin = queryOrigin(db);
191
- const sortKeys = effectiveSortKeys(query);
202
+ const origin = (0, queryInternals_1.queryOrigin)(db);
203
+ const sortKeys = (0, queryInternals_1.effectiveSortKeys)(query);
192
204
  const candidates = [];
193
205
  for (const entry of summary.getAllEntries()) {
194
206
  let textScore;
@@ -203,6 +215,7 @@ async function executeQuery(db, summary, query, options) {
203
215
  doc: evaluationDoc,
204
216
  values: {},
205
217
  origin,
218
+ docId: entry.docId,
206
219
  lastModifiedAt: new Date(entry.lastModified).toISOString(),
207
220
  decryptionKeyId: entry.decryptionKeyId,
208
221
  variables: {},
@@ -212,18 +225,38 @@ async function executeQuery(db, summary, query, options) {
212
225
  }
213
226
  candidates.push({
214
227
  docId: entry.docId,
215
- fields: projectFields(evaluationDoc, query.fields),
228
+ fields: (0, queryInternals_1.projectFields)(evaluationDoc, query.fields),
216
229
  lastModified: entry.lastModified,
217
230
  textScore,
218
- sortValues: computeSortValues(sortKeys, context, textScore),
231
+ sortValues: (0, queryInternals_1.computeSortValues)(sortKeys, context, textScore),
232
+ evaluationDoc,
219
233
  });
220
234
  }
221
- const { rows, total } = sortAndPage(candidates, query, sortKeys);
235
+ const { rows, total, paged } = sortAndPage(candidates, query, sortKeys);
222
236
  // Coverage is the minimum of the summary and full-text coverage: while
223
237
  // either side is still backfilling, results may be incomplete.
224
- const coverage = textMatch && textMatch.index.getCoverage() === "rebuilding"
238
+ let coverage = textMatch && textMatch.index.getCoverage() === "rebuilding"
225
239
  ? "rebuilding"
226
240
  : summary.getCoverage();
241
+ // Includes are hydrated AFTER paging: only the rows actually returned
242
+ // get related documents, so a `limit: 20` page costs 20 rows' worth of
243
+ // joins regardless of how many documents matched.
244
+ if (query.include) {
245
+ const parents = rows.map((row, index) => ({
246
+ row,
247
+ docId: row.docId,
248
+ doc: paged[index].evaluationDoc,
249
+ }));
250
+ const includeCoverage = await (0, executeQueryInclude_1.hydrateQueryIncludes)({
251
+ parentDb: db,
252
+ parentSummary: summary,
253
+ includes: query.include,
254
+ parents,
255
+ depth: 1,
256
+ options,
257
+ });
258
+ coverage = (0, queryInternals_1.mergeCoverage)(coverage, includeCoverage);
259
+ }
227
260
  return { rows, total, coverage };
228
261
  }
229
262
  /** Resolve the plaintext for every `decrypt` node before evaluating a document. */
@@ -254,8 +287,8 @@ async function executeFullScanQuery(db, query, expressions, options) {
254
287
  // full-scan path — scanning document bodies cannot compute relevance
255
288
  // scores, and the index requirement stays consistent between paths.
256
289
  const textMatch = await resolveTextClauseScores(db, query, options);
257
- const origin = queryOrigin(db);
258
- const sortKeys = effectiveSortKeys(query);
290
+ const origin = (0, queryInternals_1.queryOrigin)(db);
291
+ const sortKeys = (0, queryInternals_1.effectiveSortKeys)(query);
259
292
  const decryptRequests = [];
260
293
  for (const expression of expressions) {
261
294
  decryptRequests.push(...(0, expressions_1.collectDecryptRequests)(expression));
@@ -268,10 +301,10 @@ async function executeFullScanQuery(db, query, expressions, options) {
268
301
  for await (const { doc } of db.iterateChangesSince(null)) {
269
302
  processed++;
270
303
  if (signal?.aborted) {
271
- throw new types_2.MindooQueryError("Query aborted during full scan.");
304
+ throw new types_1.MindooQueryError("Query aborted during full scan.");
272
305
  }
273
306
  if (onProgress && onProgress({ processed, total, origin }) === false) {
274
- throw new types_2.MindooQueryError("Query cancelled by progress callback during full scan.");
307
+ throw new types_1.MindooQueryError("Query cancelled by progress callback during full scan.");
275
308
  }
276
309
  if (doc.isDeleted()) {
277
310
  continue;
@@ -289,6 +322,7 @@ async function executeFullScanQuery(db, query, expressions, options) {
289
322
  doc: data,
290
323
  values: {},
291
324
  origin,
325
+ docId: mindooDoc.getId(),
292
326
  createdAt: new Date(mindooDoc.getCreatedAt()).toISOString(),
293
327
  lastModifiedAt: new Date(mindooDoc.getLastModified()).toISOString(),
294
328
  decryptionKeyId: mindooDoc.getDecryptionKeyId(),
@@ -303,10 +337,11 @@ async function executeFullScanQuery(db, query, expressions, options) {
303
337
  }
304
338
  candidates.push({
305
339
  docId: mindooDoc.getId(),
306
- fields: projectFields(data, query.fields),
340
+ fields: (0, queryInternals_1.projectFields)(data, query.fields),
307
341
  lastModified: mindooDoc.getLastModified(),
308
342
  textScore,
309
- sortValues: computeSortValues(sortKeys, context, textScore),
343
+ sortValues: (0, queryInternals_1.computeSortValues)(sortKeys, context, textScore),
344
+ evaluationDoc: data,
310
345
  });
311
346
  }
312
347
  const { rows, total: matchTotal } = sortAndPage(candidates, query, sortKeys);
@@ -1 +1 @@
1
- {"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../../../src/core/query/executeQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../../../src/core/query/executeQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import type { MindooDB } from "../types";
2
+ import type { MindooDBAppBooleanExpression } from "../expressions/types";
3
+ import type { DocumentSummaryStore } from "../indexing/summary/DocumentSummaryStore";
4
+ import { type MindooQueryCoverage, type MindooQueryOptions, type MindooQueryRow, type ParsedMindooQueryInclude } from "./types";
5
+ /**
6
+ * Nested lookups (`MindooQuery.include`): joining related documents onto
7
+ * the rows a query returns.
8
+ *
9
+ * The one rule that shapes this whole module: a slot costs ONE additional
10
+ * summary scan, never one query per parent row. Everything else — the
11
+ * join-key requirement on include filters, hydrating only the paged rows,
12
+ * grouping children by key before attaching — follows from it.
13
+ */
14
+ /** One parent row an include slot is hydrated for. */
15
+ export interface IncludeParentBinding {
16
+ /** The row the related documents are attached to (`row.includes[slot]`). */
17
+ row: MindooQueryRow;
18
+ /** The parent's document id. */
19
+ docId: string;
20
+ /**
21
+ * The parent's UNPROJECTED evaluation doc. Join keys are read from here,
22
+ * not from `row.fields`: a query projecting `fields: ["total"]` must
23
+ * still be able to join on `customerId`.
24
+ */
25
+ doc: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * One side of a join equality. A document's id is metadata rather than a
29
+ * summary field, so the two cases are read from different places and are
30
+ * kept apart here instead of being folded into a magic path string.
31
+ */
32
+ export type JoinKeySide = {
33
+ kind: "docId";
34
+ } | {
35
+ kind: "field";
36
+ path: string;
37
+ };
38
+ /** The equality an include filter was reduced to, plus what was left over. */
39
+ export interface JoinKeyPlan {
40
+ /** What the join reads on the related document. */
41
+ child: JoinKeySide;
42
+ /** What the join reads on the parent row. */
43
+ parent: JoinKeySide;
44
+ /**
45
+ * The conjuncts that do not reference the parent. They are applied as
46
+ * an ordinary predicate while scanning the children, so they cost
47
+ * nothing extra.
48
+ */
49
+ residualFilter: MindooDBAppBooleanExpression | null;
50
+ }
51
+ export type JoinKeyExtraction = {
52
+ ok: true;
53
+ plan: JoinKeyPlan;
54
+ } | {
55
+ ok: false;
56
+ reason: string;
57
+ };
58
+ /**
59
+ * Reduces an include filter to the one join equality the planner can
60
+ * execute, plus the parent-free rest.
61
+ *
62
+ * Accepted: exactly one equality between a child term (`field(X)` or
63
+ * `docId()`) and a parent term (`parent(Y)` or `parentDocId()`), in
64
+ * either operand order, optionally ANDed with conditions that do not
65
+ * mention the parent.
66
+ * Rejected: everything else that references the parent — a range
67
+ * comparison against a parent value, an `or` spanning parent terms, a
68
+ * second parent equality. Those would each require evaluating the filter
69
+ * once per (parent, child) pair, which turns a linear scan into a nested
70
+ * loop; a slot over 200 paged parents and 10k children would be ~2M
71
+ * evaluations. Rejecting them keeps the cost model of `query()` intact
72
+ * and the failure obvious instead of silently slow.
73
+ */
74
+ export declare function extractJoinKey(filter: MindooDBAppBooleanExpression): JoinKeyExtraction;
75
+ /**
76
+ * Structural validation of the include tree, run before any scanning so a
77
+ * malformed query fails immediately rather than after the root scan.
78
+ */
79
+ export declare function validateQueryIncludes(includes: Record<string, ParsedMindooQueryInclude>, depth?: number, slotPath?: string): void;
80
+ /**
81
+ * Hydrates one level of include slots onto already-paged parent rows.
82
+ *
83
+ * Per slot: bring the target summary up to date, scan it once, keep the
84
+ * children whose join value hits one of the parents' keys, group them,
85
+ * and attach. Nested slots recurse on the attached rows, which are by
86
+ * then themselves a set of paged parents.
87
+ *
88
+ * @returns the merged coverage of every summary this level touched.
89
+ */
90
+ export declare function hydrateQueryIncludes(params: {
91
+ parentDb: MindooDB;
92
+ parentSummary: DocumentSummaryStore;
93
+ includes: Record<string, ParsedMindooQueryInclude>;
94
+ parents: IncludeParentBinding[];
95
+ depth: number;
96
+ options?: MindooQueryOptions;
97
+ slotPath?: string;
98
+ }): Promise<MindooQueryCoverage>;
99
+ //# sourceMappingURL=executeQueryInclude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeQueryInclude.d.ts","sourceRoot":"","sources":["../../../src/core/query/executeQueryInclude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAyB,MAAM,sBAAsB,CAAC;AAWhG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAErF,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAEnB,KAAK,wBAAwB,EAC9B,MAAM,SAAS,CAAC;AAUjB;;;;;;;;GAQG;AAEH,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,GAAG,EAAE,cAAc,CAAC;IACpB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAC;IACnB,6CAA6C;IAC7C,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAwBlC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,iBAAiB,CAmDtF;AA2DD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAClD,KAAK,SAAI,EACT,QAAQ,SAAK,GACZ,IAAI,CAqEN;AAuID;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,oBAAoB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACnD,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmG/B"}