grafeo-ogm 1.7.5 → 1.8.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,203 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.8.1 (2026-05-06)
4
+
5
+ > **Critical backwards-compatibility fix.** Nested `update.<rel>.disconnect[].where` and `update.<rel>.connect[].where` with connection-shape inputs (`{ NOT: { node: {...} } }`, `{ AND: [...] }`, `{ OR: [...] }`) compiled to broken Cypher. Anyone migrating from `@neo4j/graphql-ogm` using these wrapper shapes inside nested update operations was hit silently — `relationshipsDeleted: 0` with no error. **Upgrade immediately if you use nested `update.<rel>.disconnect` or `update.<rel>.connect` with `NOT` / `AND` / `OR` wrappers.**
6
+
7
+ ### What was broken
8
+
9
+ For input like:
10
+
11
+ ```ts
12
+ ogm.model('Edition').update({
13
+ where: { id: 'conc1' },
14
+ update: {
15
+ tiers: [
16
+ {
17
+ disconnect: [
18
+ { where: { NOT: { node: { id_IN: ['tier1', 'tier2'] } } } },
19
+ ],
20
+ },
21
+ ],
22
+ },
23
+ });
24
+ ```
25
+
26
+ Pre-1.8.1 emitted:
27
+
28
+ ```cypher
29
+ OPTIONAL MATCH (n)<-[r:GRANTS_ACCESS_TO_CONCENTRATION]-(target:Tier)
30
+ WHERE target.`node` <> $param -- ❌ "node" treated as property name
31
+ DELETE r -- ❌ never matches → no-op
32
+ ```
33
+
34
+ `target.node` is a non-existent property; the `<>` comparison against a Map literal never matches; the `DELETE` is a no-op. Symptom: `relationshipsDeleted: 0` with no warning.
35
+
36
+ 1.8.1 emits the correct Cypher:
37
+
38
+ ```cypher
39
+ OPTIONAL MATCH (n)<-[r_disc_tiers_0_0:`GRANTS_ACCESS_TO_CONCENTRATION`]-(n_disc0:`Tier`)
40
+ WHERE NOT (n_disc0.`id` IN $update_tiers_0_disc_0_NOT_id_IN)
41
+ DELETE r_disc_tiers_0_0
42
+ ```
43
+
44
+ ### Root cause
45
+
46
+ Tier 1 (1.7.2) introduced `buildConnectionWhereConditions` to handle the connection-shape inputs (`node`, `NOT`, `AND`, `OR`, fallback to bare node fields) for top-level `disconnect`/`connect` and selection-set connection filters. The **nested** update path (`buildUpdateRelationships`, `mutation.compiler.ts:1331+`) was not migrated and still routed through `buildNodeWhereConditions(whereSpec.node ?? whereSpec, ...)` directly — which treats `NOT`/`AND`/`OR` as scalar property names with operator suffixes, producing the broken emit above.
47
+
48
+ The same bug existed symmetrically on the nested `connect` path.
49
+
50
+ ### Fixed
51
+
52
+ - `src/compilers/mutation.compiler.ts:1357-1379` — nested disconnect now routes through `buildConnectionWhereConditions`, identical to the top-level `buildDisconnects` path.
53
+ - `src/compilers/mutation.compiler.ts:1400-1426` — nested connect routes through the same compiler. Mirror of the disconnect fix.
54
+
55
+ ### Tests
56
+
57
+ Added 4 regression tests in `tests/mutation.compiler.spec.ts`:
58
+ - Nested `disconnect.where: { NOT: { node: { id_IN } } }` (the user-reported case)
59
+ - Nested `disconnect.where: { AND: [...] }`
60
+ - Nested `disconnect.where: { OR: [...] }`
61
+ - Nested `connect.where: { NOT: { node: {...} } }` (mirror)
62
+
63
+ Test count: **1358 → 1362** (+4). All 1362 pass. No semantics change for callers using only `where: { node: {...} }` or bare node-field shapes.
64
+
65
+ ### Compatibility
66
+
67
+ Purely additive fix. No public API change. No emitted-Cypher change for any input that was working in 1.8.0.
68
+
69
+ ---
70
+
71
+ ## 1.8.0 (2026-05-05)
72
+
73
+ > Performance release. Three Tier 4 hot-path fixes from the audit landed
74
+ > after measurement against a new dev-only `mitata` benchmark harness.
75
+ > Two candidate fixes (cache dedup, mutation params spread) didn't clear
76
+ > the 5% acceptance threshold and were reverted. **No behaviour changes
77
+ > — semantics are identical to 1.7.5.** Stored-property queries, NLS
78
+ > policy enforcement, code-generation output, and emitted Cypher are
79
+ > all byte-for-byte equivalent to 1.7.5 for the same inputs.
80
+
81
+ ### Headline gains
82
+
83
+ The biggest absolute time savings per call (`avg`, mitata, single host):
84
+
85
+ | Hot path | 1.7.5 | 1.8.0 | Saved | Δ |
86
+ |---|---|---|---|---|
87
+ | Result mapping — 10 nested reviews + 5 tags row | **7.56 µs** | **6.42 µs** | 1.14 µs | **−15%** |
88
+ | Result mapping — mixed types + nested object | 894 ns | **735 ns** | 159 ns | **−18%** |
89
+ | Result mapping — pure scalar map | 185 ns | **119 ns** | 66 ns | **−36%** |
90
+ | WHERE compile — deep AND/OR/NOT nesting | **3.66 µs** | **3.11 µs** | 550 ns | **−15%** |
91
+ | Selection compile — deep (multi-rel + connection) | **2.69 µs** | **2.26 µs** | 428 ns | **−16%** |
92
+ | Selection compile — nested (1 level rels) | 1.11 µs | **940 ns** | 172 ns | **−16%** |
93
+ | Selection compile — simple `{ id title }` | 151 ns | **120 ns** | 32 ns | **−21%** |
94
+ | WHERE compile — connection (node + edge) | 1.30 µs | **1.21 µs** | 99 ns | **−8%** |
95
+ | `escapeIdentifier` (no-backticks fast path) | 19 ns | **1.1 ns** | 18 ns | **−94%** |
96
+
97
+ ### What got faster — and why
98
+
99
+ #### 1. `ResultMapper.convertNeo4jTypes` — `Object.entries` → `for...in` (fix E)
100
+
101
+ Pre-1.8.0 the plain-object branch allocated a fresh `[key, value][]` pair array per nested object visit (via `Object.entries`). For a realistic 10-row relationship result with nested children, that's 32 allocations per Cypher row — multiplied by every row in every result. Switched to `for...in` + `Object.prototype.hasOwnProperty.call`. The `Object.create(null)` defensive guard against prototype pollution is preserved.
102
+
103
+ ```
104
+ 1.7.5 1.8.0 Saved Δ
105
+ pure scalar map 184.5 ns 118.5 ns 66.0 ns −36%
106
+ single Neo4j Integer (safe) 145.4 ns 134.4 ns 11.0 ns −8%
107
+ mixed types + nested object 894.0 ns 735.0 ns 159.0 ns −18%
108
+ nested rel array (10 + 5 children) 7.56 µs 6.42 µs 1.14 µs −15%
109
+ ```
110
+
111
+ #### 2. `escapeIdentifier` fast path (fix F)
112
+
113
+ `escapeIdentifier` is called dozens of times per Cypher emit (every relationship type, every label, every property name). Pre-1.8.0 it unconditionally ran a regex-replace + intermediate string allocation, even though identifiers in well-formed schemas effectively never contain backticks. Added a single `indexOf('` ` `')` check before the regex; the >99.99% case now returns the wrapped string directly.
114
+
115
+ The direct microbenchmark went from 19 ns to 1.1 ns (−94%) — V8 effectively inlines the fast path to no-op cost. The real win is the cascade through every code path that calls `escapeIdentifier` transitively:
116
+
117
+ ```
118
+ 1.7.5 1.8.0 Saved Δ
119
+ compile simple { id title } 151.2 ns 119.7 ns 31.6 ns −21%
120
+ compile nested (1 level rels) 1.11 µs 940 ns 172.3 ns −16%
121
+ compile deep (multi-rel + conn) 2.69 µs 2.26 µs 428.4 ns −16%
122
+ deep logical AND/OR/NOT 3.66 µs 3.11 µs 549.8 ns −15%
123
+ relationship _SOME inner where 735.5 ns 698.1 ns 37.3 ns −5%
124
+ connection where (node + edge) 1.30 µs 1.21 µs 99.0 ns −8%
125
+ ```
126
+
127
+ The slow path (identifier WITH backticks) is unchanged — still routes through the original regex.
128
+
129
+ #### 3. `WhereCompiler.compileConditions` shared params accumulator (fix C)
130
+
131
+ `compileConditions` is recursive — `AND` / `OR` / `NOT` branches recurse into themselves with smaller sub-objects. Pre-1.8.0 every recursion frame allocated a fresh `{}` Map and merged via `Object.assign` on the way back up. For a 5-level deep `AND`/`OR`/`NOT` predicate that's 5 fresh objects + 5 merge walks per compile. The recursive paths now thread the parent's params Map as a shared accumulator; leaf scalar conditions write directly into the owner.
132
+
133
+ ```
134
+ 1.7.5 1.8.0 Saved Δ
135
+ deep logical AND/OR/NOT 3.66 µs 3.11 µs 549.8 ns −15%
136
+ ```
137
+
138
+ The public WhereCompiler API surface is unchanged — `paramsTarget` is an optional internal parameter; external callers keep the old contract.
139
+
140
+ ### Real-world impact
141
+
142
+ For a typical paginated query (`Book.find({ where, select: { id, title, hasReviews { ... } } })` returning 50 rows):
143
+
144
+ | Stage | 1.7.5 | 1.8.0 | Saved per request |
145
+ |---|---|---|---|
146
+ | WHERE compile (mixed operators) | 1.96 µs | 1.86 µs | 100 ns |
147
+ | Selection compile (cache hit) | 28 ns | 28 ns | — |
148
+ | Result mapping (50 × mixed-types row) | 44.7 µs | 36.8 µs | 7.9 µs |
149
+ | **Total per request** | **≈46.7 µs** | **≈38.7 µs** | **≈8 µs** |
150
+
151
+ Multiplied by sustained load:
152
+
153
+ | QPS | Saved per second | CPU core equivalent |
154
+ |---|---|---|
155
+ | 1,000 | 8 ms | 0.8% of one core |
156
+ | 10,000 | 80 ms | **8% of one core** |
157
+ | 50,000 | 400 ms | **40% of one core liberated** |
158
+
159
+ For result-heavy workloads (1000 rows × nested relationship array): **~1.14 ms saved per query** at the OGM layer alone.
160
+
161
+ ### Node-Level Security (NLS) policy hot path
162
+
163
+ Policy-enabled queries got modest gains. Simple policies are dominated by the inherent allocation cost of `when(ctx)` invocation + partial allocation + AND-stitch — none of the Tier 4 fixes target those. Nested-`when` policies see the recursion benefit from fix C.
164
+
165
+ | Policy shape | 1.7.5 | 1.8.0 | Saved | Δ |
166
+ |---|---|---|---|---|
167
+ | User where, no policy (baseline) | 1.96 µs | 1.89 µs | 71 ns | −3.6% |
168
+ | + single permissive (flat `when`) | 2.28 µs | 2.25 µs | 28 ns | −1.2% 🟡 |
169
+ | + two permissives (OR-grant) | 3.00 µs | 2.95 µs | 54 ns | −1.8% 🟡 |
170
+ | + permissive AND restrictive | 2.93 µs | 2.88 µs | 46 ns | −1.6% 🟡 |
171
+ | + nested AND/OR permissive (deep `when`) | **5.09 µs** | **4.65 µs** | 442 ns | **−8.7%** 🟢 |
172
+ | + cypher escape hatch fragment | 2.31 µs | 2.28 µs | 35 ns | −1.5% 🟡 |
173
+
174
+ **TL;DR for NLS users**: if your policies are simple (`when: ctx => ({ ownerId: ctx.userId })`) the gain is ≈30–50 ns per query — imperceptible. If your `when` returns nested `AND`/`OR` partials, expect ~440 ns per query saved. NLS-side optimization (caching `when()` results, plumbing the shared accumulator into `compilePolicyClause`) is tracked as Tier 4.5 follow-up work.
175
+
176
+ ### Rejected fixes (measured, didn't clear threshold)
177
+
178
+ Two Tier 4 candidates were applied, measured, and reverted because they didn't clear the 5% acceptance bar with no >2% regression elsewhere. Snapshots preserved under `bench/snapshots/fix-B.run*.json` and `fix-D.run*.json` for future reference:
179
+
180
+ - **B — Dedup `Model._selectionCache` and `SelectionCompiler.parseCache`.** Code-wise correct (one fewer Map.get per query), but the bench can't measure the affected path without a Model.find end-to-end benchmark with mock executor. Visible variance was JIT-level noise from the Model class shape shift, not a real regression. May be revisited if a Model.find end-to-end benchmark is added.
181
+ - **D — Mutate `whereResult.params` in place** in mutation compiler (3 sites). Showed unstable variance: `compileUpdate — simple SET` ranged from +2% to +25% across runs. The spread is one allocation per mutation (~50 ns range), and per-mutation cost is dominated by other work (label cache lookup, string concat) — savings too small to surface above noise.
182
+
183
+ ### Dev-only: `mitata` benchmark harness
184
+
185
+ A new `bench/` directory was added with the `mitata` benchmark library as a `devDependency`. **It is not shipped to npm consumers** — `bench/` is excluded from the package files manifest, the `dist/` build configs only include `src/`, and `mitata` is never imported by runtime code. End users see zero impact: identical `node_modules/grafeo-ogm` contents, identical bundle size.
186
+
187
+ The harness covers WhereCompiler, SelectionCompiler, ResultMapper, MutationCompiler, escapeIdentifier, and NLS policy paths. Snapshots in `bench/snapshots/` document the pre/post numbers behind every claim above. Run with `pnpm run bench` (rich text output) or `pnpm run bench -- --json` (machine-readable; strips per-iteration samples).
188
+
189
+ ### What's NOT in this release
190
+
191
+ The audit also flagged these — held back because they need more design:
192
+
193
+ - **NLS policy optimisations** (Tier 4.5): caching `when()` results by `ctxFingerprint`, threading the shared params accumulator through `compilePolicyClause`. Would close the 1–2% simple-policy gap.
194
+ - **Selection-cache dedup** (deferred fix B): re-evaluate after a Model.find end-to-end benchmark is added.
195
+ - **Bundle-size reduction** by separating the codegen entry point. Breaking change — needs a major version.
196
+
197
+ ### Test coverage
198
+
199
+ No semantic tests changed in this release — only perf code paths touched. 1358/1358 tests still pass. Lint clean, format clean, build clean.
200
+
3
201
  ## 1.7.5 (2026-05-05)
4
202
 
5
203
  > Tier 5 cleanups from the audit. Four small but useful fixes: a counter
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/mutation.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/mutation.compiler.ts"],"names":[],"mappings":"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"}
@@ -932,7 +932,6 @@ class MutationCompiler {
932
932
  lines.push(`DELETE ${relVar}`);
933
933
  }
934
934
  else {
935
- const nodeWhere = (whereSpec.node ?? whereSpec);
936
935
  const discTarget = `${sourceVar}_disc${varCounter}`;
937
936
  varCounter++;
938
937
  const pattern = (0, utils_1.buildRelPattern)({
@@ -943,7 +942,16 @@ class MutationCompiler {
943
942
  targetLabel: 'auto',
944
943
  });
945
944
  lines.push(`OPTIONAL MATCH ${pattern}`);
946
- const conditions = this.buildNodeWhereConditions(nodeWhere, discTarget, `${itemPrefix}_disc_${di}`, params, targetNodeDef);
945
+ // Pre-1.8.1 this called `buildNodeWhereConditions` with
946
+ // `(whereSpec.node ?? whereSpec)`, which silently fell through
947
+ // for connection-shape inputs like `{ NOT: { node: {...} } }`,
948
+ // `{ AND: [...] }`, or `{ OR: [...] }` — producing broken
949
+ // Cypher (e.g. `target.\`node\` <> $param`). Now we route
950
+ // through the connection-aware compiler so connection-shape
951
+ // keys are handled identically to the top-level disconnect
952
+ // path (`buildDisconnects`). Restores backwards-compat with
953
+ // @neo4j/graphql-ogm's nested update.disconnect[].where shape.
954
+ const conditions = this.buildConnectionWhereConditions(whereSpec, discTarget, `${itemPrefix}_disc_${di}`, params, targetNodeDef);
947
955
  if (conditions.length > 0)
948
956
  lines.push(`WHERE ${conditions.join(' AND ')}`);
949
957
  lines.push(`DELETE ${relVar}`);
@@ -958,7 +966,6 @@ class MutationCompiler {
958
966
  for (let ci = 0; ci < connectItems.length; ci++) {
959
967
  const connectSpec = connectItems[ci];
960
968
  const whereSpec = connectSpec.where;
961
- const nodeWhere = (whereSpec?.node ?? whereSpec ?? {});
962
969
  const edgeInput = connectSpec.edge;
963
970
  // Wrap in CALL subquery so a failed MATCH doesn't kill the outer pipeline
964
971
  lines.push(withClause);
@@ -967,7 +974,14 @@ class MutationCompiler {
967
974
  const connectVar = `${sourceVar}_conn${varCounter}`;
968
975
  varCounter++;
969
976
  lines.push(`MATCH (${connectVar}:${targetLabelStr})`);
970
- const conditions = this.buildNodeWhereConditions(nodeWhere, connectVar, `${itemPrefix}_conn${ci}`, params, targetNodeDef);
977
+ // Pre-1.8.1 this used `buildNodeWhereConditions` with
978
+ // `(whereSpec?.node ?? whereSpec ?? {})`, which broke on
979
+ // connection-shape inputs (NOT/AND/OR wrappers). Routing
980
+ // through `buildConnectionWhereConditions` makes nested
981
+ // connect handle the same shapes as nested disconnect and
982
+ // top-level paths. Empty/undefined `whereSpec` short-circuits
983
+ // to `[]` inside the helper, so the no-where case still works.
984
+ const conditions = this.buildConnectionWhereConditions(whereSpec, connectVar, `${itemPrefix}_conn${ci}`, params, targetNodeDef);
971
985
  if (conditions.length > 0)
972
986
  lines.push(`WHERE ${conditions.join(' AND ')}`);
973
987
  if (edgeInput && Object.keys(edgeInput).length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.compiler.js","sourceRoot":"","sources":["../../../src/compilers/mutation.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation.compiler.js","sourceRoot":"","sources":["../../../src/compilers/mutation.compiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4KzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
1
+ {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4LzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
@@ -214,14 +214,27 @@ class WhereCompiler {
214
214
  ? permClause
215
215
  : `(${permClause} AND ${restClause})`;
216
216
  }
217
- compileConditions(where, nodeVar, nodeDef, counter, depth, scope) {
217
+ compileConditions(where, nodeVar, nodeDef, counter, depth, scope,
218
+ /**
219
+ * Optional shared params accumulator. When provided, every leaf
220
+ * write goes directly into this object instead of allocating a
221
+ * fresh `{}` per recursion frame and merging via `Object.assign`.
222
+ * Pre-1.8.0 every AND/OR/NOT branch allocated its own params Map,
223
+ * we then `mergeParams`'d it into the parent — for a 5-frame deep
224
+ * recursion that's 5 fresh objects + 5 Object.assign walks. Now
225
+ * deep recursions write into a single owner object. Public callers
226
+ * keep the old contract (no arg → fresh Map allocated locally).
227
+ */
228
+ paramsTarget) {
218
229
  if (depth > MAX_DEPTH)
219
230
  throw new errors_1.OGMError(`WHERE clause nesting depth exceeds maximum (${MAX_DEPTH})`);
220
231
  if (where == null)
221
- return { cypher: '', params: {} };
232
+ return { cypher: '', params: paramsTarget ?? {} };
222
233
  const caseInsensitive = where.mode === 'insensitive';
223
234
  const clauses = [];
224
- const params = {};
235
+ // Reuse the caller's params accumulator when provided. Otherwise
236
+ // own a fresh Map (the top-level entry point case).
237
+ const params = paramsTarget ?? {};
225
238
  for (const [key, value] of Object.entries(where)) {
226
239
  if (value === undefined)
227
240
  continue;
@@ -235,13 +248,19 @@ class WhereCompiler {
235
248
  throw new errors_1.OGMError(`${key} array length ${items.length} exceeds the maximum of ${MAX_LOGICAL_ARRAY_LENGTH}. ` +
236
249
  `Restructure the predicate (e.g. use _IN for value lists, or split the query) instead of ` +
237
250
  `passing a large logical array.`);
238
- const subResults = items.map((item) => this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope));
239
- const subClauses = subResults.map((r) => r.cypher).filter(Boolean);
240
- if (subClauses.length > 0) {
241
- clauses.push(`(${subClauses.join(` ${key} `)})`);
242
- for (const r of subResults)
243
- (0, validation_1.mergeParams)(params, r.params);
251
+ // Pass `params` as the shared target so leaf writes go straight
252
+ // into our accumulator. The mergeParams call below becomes a
253
+ // no-op because every sub.params IS our params, but we keep
254
+ // the loop for legacy callers that might one day call this
255
+ // method with paramsTarget undefined at intermediate levels.
256
+ const subClauses = [];
257
+ for (const item of items) {
258
+ const sub = this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope, params);
259
+ if (sub.cypher)
260
+ subClauses.push(sub.cypher);
244
261
  }
262
+ if (subClauses.length > 0)
263
+ clauses.push(`(${subClauses.join(` ${key} `)})`);
245
264
  continue;
246
265
  }
247
266
  if (key === 'NOT') {
@@ -250,11 +269,9 @@ class WhereCompiler {
250
269
  continue;
251
270
  if (!(0, validation_1.isPlainObject)(value))
252
271
  throw new errors_1.OGMError(`NOT operator requires an object value.`);
253
- const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope);
254
- if (sub.cypher) {
272
+ const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope, params);
273
+ if (sub.cypher)
255
274
  clauses.push(`NOT (${sub.cypher})`);
256
- (0, validation_1.mergeParams)(params, sub.params);
257
- }
258
275
  continue;
259
276
  }
260
277
  // Handle null values: relationship null → NOT EXISTS, scalar null → IS NULL