update
alf_child_assoc assoc
join alf_node child on (child.id = assoc.child_node_id and assoc.is_primary = #{isPrimary})
set
child.acl_id = #{newSharedAclId},
child.version = child.version + 1,
child.transaction_id = #{txnId}
where
assoc.parent_node_id = #{primaryParentNodeId}
and
(
child.acl_id is null
OR child.acl_id = #{optionalOldSharedAclIdInAdditionToNull}
)
update
alf_node n
join alf_child_assoc ca on (ca.child_node_id = n.id)
set
n.version = n.version + 1,
n.transaction_id = #{parentNode.transaction.id}
where
ca.parent_node_id = #{parentNode.id}
and ca.is_primary = #{isPrimary}