[SERVER-28758] Implement UpdateNode::mergeTrees() Created: 12/Apr/17  Updated: 12/Oct/17  Resolved: 23/May/17

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 3.5.8

Type: Task Priority: Major - P3
Reporter: Tess Avitabile (Inactive) Assignee: Justin Seyster
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-28621 Parse BSON update expression into an ... Closed
is depended on by SERVER-28761 Implement UpdateObjectNode::apply() Closed
is depended on by SERVER-28763 Create UpdateArrayNode Closed
Backwards Compatibility: Fully Compatible
Sprint: Query 2017-05-08, Query 2017-05-29
Participants:

 Description   

This should merge two UpdateNodes and error if the trees cannot be merged. If the two nodes are UpdateObjectNodes, children with the same field name are merged. Issue ErrorCodes::ConflictingUpdateOperators if we ever try to merge two UpdateLeafNodes or two UpdateNodes of different types.

For now, we assume UpdateArrayNode does not exist.



 Comments   
Comment by Githook User [ 23/May/17 ]

Author:

{u'username': u'jseyster', u'name': u'Justin Seyster', u'email': u'justin.seyster@mongodb.com'}

Message: SERVER-28758 Add appendPart and removeLastPart operations to FieldRef
Branch: master
https://github.com/mongodb/mongo/commit/ada47e8940993914048de342e830324cf456f3fd

Comment by Githook User [ 19/May/17 ]

Author:

{u'username': u'jseyster', u'name': u'Justin Seyster', u'email': u'justin.seyster@mongodb.com'}

Message: SERVER-28758 createUpdateNodeByMerging throws instead of returning.

We decided on a goal of moving towards exception throwing for
propagating instead of return values. We're starting off with this new
createUpdateNodeByMerging code path.
Branch: master
https://github.com/mongodb/mongo/commit/0acaccdf81a00222144253290f9cc3b4fd76e122

Comment by Githook User [ 08/May/17 ]

Author:

{u'username': u'jseyster', u'name': u'Justin Seyster', u'email': u'justin.seyster@mongodb.com'}

Message: SERVER-28758 Implementation of createUpdateNodeByMerging().

This initial implementation supports merging for UpdateObjectNodes. In
future iterations, we will add support for array nodes.
Branch: master
https://github.com/mongodb/mongo/commit/11cf3870ff34f3d07cfb5eee3f91852cf160176c

Generated at Thu Feb 08 04:18:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.