You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[engine] Cypher MERGE value matching disagrees with MATCH (FLOAT widening and temporal vs STRING property) #9693
Fixed by #9696. Cypher MERGE used its own value comparison, which did not agree with MATCH. It now uses the same check MATCH uses, so the two clauses find the same records. This applies to node and relationship patterns, indexed and unindexed lookups, parameters, and the merge.relationship procedure.
Still open:#9695 tracks whether a value the declared type converts on write (a temporal or a number written into a STRING property) should be matched again by the same pattern, in both MATCH and MERGE.
❤️ Thanks for helping make ArcadeDB better! ArcadeDB is free and open source, sustained by its community. If it's useful to you or your company, please consider becoming a sponsor to keep development going.
Activity
fix(#9693): MERGE matches exactly what the identical MATCH matches (F…
robfrank commentedon Oct 10, 2026
Fixed by #9696. Cypher
MERGEused its own value comparison, which did not agree withMATCH. It now uses the same checkMATCHuses, so the two clauses find the same records. This applies to node and relationship patterns, indexed and unindexed lookups, parameters, and themerge.relationshipprocedure.FLOATnot found byMERGE): fixed.MERGEnow finds the node, so it no longer creates a duplicate or raises a duplicated-key error under a UNIQUE index.STRINGproperty): fixed by makingMERGEfollowMATCH. This is a behavior change:MERGEwithdatetime()/date()/... on a property declaredSTRINGno longer matches the stored text. It now creates a node, or raises a duplicated-key error under a UNIQUE index. To match the stored value, pass it as a string.Still open: #9695 tracks whether a value the declared type converts on write (a temporal or a number written into a
STRINGproperty) should be matched again by the same pattern, in bothMATCHandMERGE.❤️ Thanks for helping make ArcadeDB better! ArcadeDB is free and open source, sustained by its community. If it's useful to you or your company, please consider becoming a sponsor to keep development going.
fix(#9693): MERGE matches exactly what the identical MATCH matches (F…