| 1996 | } |
| 1997 | |
| 1998 | void ReadYourWritesTransaction::getWriteConflicts(KeyRangeMap<bool>* result) { |
| 1999 | WriteMap::iterator it(&writes); |
| 2000 | it.skip(allKeys.begin); |
| 2001 | |
| 2002 | bool inConflictRange = false; |
| 2003 | ExtStringRef conflictBegin; |
| 2004 | |
| 2005 | for (; it.beginKey() < getMaxWriteKey(); ++it) { |
| 2006 | if (it.is_conflict_range() && !inConflictRange) { |
| 2007 | conflictBegin = it.beginKey(); |
| 2008 | inConflictRange = true; |
| 2009 | } else if (!it.is_conflict_range() && inConflictRange) { |
| 2010 | result->insert(KeyRangeRef(conflictBegin.toArenaOrRef(arena), it.beginKey().toArenaOrRef(arena)), true); |
| 2011 | inConflictRange = false; |
| 2012 | } |
| 2013 | } |
| 2014 | |
| 2015 | if (inConflictRange) { |
| 2016 | result->insert(KeyRangeRef(conflictBegin.toArenaOrRef(arena), getMaxWriteKey()), true); |
| 2017 | } |
| 2018 | } |
| 2019 | |
| 2020 | void ReadYourWritesTransaction::setTransactionID(UID id) { |
| 2021 | tr.setTransactionID(id); |
no test coverage detected